KBEA-00173 - Operating System on Emake Machines and Agent Hosts Need to be Compatible

Article ID:360038736811
2 minute readKnowledge base

Summary

CloudBees Accelerator distributes the jobs in multiple agents in different machines. So the differences between these machines may cause the commands from a job to fail in a machine while succeed in another machine.

Problem

The problem from such differences varies a lot. There can be lots of different errors depends the command and the machine on which the command runs.

The following is an example of such errors. In this case, the program "sh.exe" run fine when the build is run locally. In other words, "sh.exe" run successfully on the emake machine. However, the following error happens when the job is distributed by emake to another machine when the build is running with emake:

U:\Newcor_Externals\MakeTools\bin\sh.exe
_main: memory allocation error during startup.
make[4]: *** [Rel/exalog_schema.cxx] Error 127

The cause of this error is that the operating system on the emake machine and the operation system on the agent host are different. "sh.exe" runs successfully on the emake machine does not guarantee that "sh.exe" will run successfully on the agent host (especially when the operating system is different).

Solution

To avoid any error caused by the different between the emake machine and the agent host, we should try our best to keep agent hosts are identical to emake machine. This means:

  1. the operating systems are same

  2. the build tools are same version and have identical configurations

This may not be possible in cases where an agent host may be used by different builds which are started from different emake machines which may have different operating systems (or build tools). But it’s important to understand that such different is an often cause of many errors. This will help us to diagnose build errors.

Applies to

  • Product versions: All

  • OS versions: Linux, Windows