Summary
Why is my build suddenly failing with error code 6?
Exec::runCommand couldn’t create process for 'm:\some_app': The handle is invalid (error code 6).
Solution
To understand this problem, you must examine the error code. Microsoft defines error code 6 (ERROR_INVALID_HANDLE
) to be an invalid handle; in this case, a process handle. It means that the application could not be assigned a process handle because the application could not be executed. This may occur for several reasons.
-
This is not really an executable file. To check, run 'file ' to check the type.
-
This is a 16-bit application that is running in a 32- or 64-bit environment.
-
In a ClearCase enviroment running Symantec Antivirus, the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers\ccasevdd.dll is overwritten. See the link below to navigate to the ClearCase technote. A possible workaround is to explicitly call out the ClearCase tool, vdmaudit, before the application in the makefile, such as m:\vdmaudit some_app.