Python 64-bit unable to start correctly (0xc00000cc) on Windows HPC

64-bit, hpc, python, windows

Solution

@partofthething, based on your comment, I'm not sure how extensive your `xcopy` was, but it is possible you were missing some Python DLLs.

For example, if you used the standard Python installer, and Python was installed `C:\Python27`, you should also have `C:\Windows\System32\python27.dll`, or `C:\Windows\SysWOW64\python27.dll`. You can copy these to the root directory of your python install and then run from a network drive without any issues, but otherwise they'd be discoverable in the `C:\Windows\*` location.

The above should work no matter what, but I've got some theories of what might have happened:

It's possible you've chosen a non-standard install directory - This doesn't make much sense, but it could somehow be represented in the Python you're copying to the network (i.e. you installed in `C:\Python27-64`, and that does not exist on the HPC server).

the DLLs were completely missing - I'm doubtful they were missing, because then you should get message saying something like:

The program could not start because python27.dll is missing from your computer. Try reinstalling the program to fix this problem.

the DLLs were the wrong architecture - I wasn't able (didn't have enough patience) to get Python 2.7.2 installed, but I was able to get python 2.7.8 to fail with a more sensible error 0xc000007b (`STATUS_INVALID_IMAGE_FORMAT`) by forcing it to use 32-bit DLLs with a 64-bit Python.

Problem

I'm trying to get my application ported over to 64-bit Python. Everything works fine on my 64-bit Windows 7 workstation (with a E8600 Core 2 Duo), but when I try to execute the same Python 2.7.2 64-bit program (which is stored in a network location) on a Windows Server 2008 HPC system with a Xeon X5680, it immediately fails (regardless of passing a source file or not) with a dialog box that reads: "The application was unable to start correctly (0xc00000cc). Click OK to close the application." I think both these processors should support the x86-64 instruction set, so I'm surprised it doesn't "just work." Looking up the error code from Microsoft, I found that it means "{Network Name Not Found} The specified share name cannot be found on the remote server." What it is talking about? I've tried copying the Python 64-bit installation over to the local drive, but it gives the same network-related error. How can I fix this? Is there some inherent incompatibility that I'm missing. 32-bit Python works perfectly on both my workstation and on the HPC nodes. I'd prefer to not have to recompile everything on the HPC nodes. Thanks.

Original source