AWS Thinkbox Discussion Forums

pending job scan errors

We started getting some pretty odd errors on our pulse machine handling pending job scans:

2016-06-21 12:04:21:  Error running dependency script: /mnt/isila/projects/common/pipeline/submission_queue/2016_06_21/farmCommand.py_10_33_39_642/modelDependency.py
2016-06-21 12:04:21:  IOError : (10, 'No child processes') (FranticX.Scripting.PythonNetException)
2016-06-21 12:04:21:    File "none", line 4, in <module>
2016-06-21 12:04:21:    File "/mnt/s2/exchange/software/managed/pythonScripts/site-packages/scl/pipeline/assetPackageAPI/__init__.py", line 17, in <module>
2016-06-21 12:04:21:      import scl.commonAPI as commonAPI
2016-06-21 12:04:21:    File "/mnt/s2/exchange/software/managed/pythonScripts/site-packages/scl/commonAPI/__init__.py", line 5, in <module>
2016-06-21 12:04:21:      from commonAPI import *
2016-06-21 12:04:21:    File "/mnt/s2/exchange/software/managed/pythonScripts/site-packages/scl/commonAPI/commonAPI.py", line 25, in <module>
2016-06-21 12:04:21:      import scl.pipeline.Paths as scanlinePaths
2016-06-21 12:04:21:    File "/mnt/s2/exchange/software/managed/pythonScripts/site-packages/scl/pipeline/Paths.py", line 35, in <module>
2016-06-21 12:04:21:      WINDOWS = platform.system() == "Windows"
2016-06-21 12:04:21:    File "/opt/Thinkbox/Deadline8/bin/python/lib/python2.7/platform.py", line 1263, in system
2016-06-21 12:04:21:      return uname()[0]
2016-06-21 12:04:21:    File "/opt/Thinkbox/Deadline8/bin/python/lib/python2.7/platform.py", line 1230, in uname
2016-06-21 12:04:21:      processor = _syscmd_uname('-p','')
2016-06-21 12:04:21:    File "/opt/Thinkbox/Deadline8/bin/python/lib/python2.7/platform.py", line 965, in _syscmd_uname
2016-06-21 12:04:21:      rc = f.close()
2016-06-21 12:04:21:      Pending Job Scan - Scanning Job "[DRIFT][SHR_shr_rsrc][CrossPub] pltCoral16A - maya.rigging (Rig Building)" (575f32279e27801c6c3a4085)

Note that the error is somehow python’s inability to execute the platform.system() call. This is with 8.1.0.2.

Rolling pulse back to 8.0.4.1 resolved these errors.

(restarting pulse and/or launcher did not resolve the problem)

This seems like a manifestation of a mono bug that seems to keep resurfacing… It’s related to mono creating a SIGCHLD handler when a .NET process is started; starting a Python process through the old popen (ie, os.popen as opposed to the newer subprocess.Popen) seems to cause problems with this. Unless I’m mistaken, I believe platform.uname() uses os.popen, hence the error. Why this is an issue in 8.1 and not 8.0, I am not sure…

I’ll revisit this to see if I can find a fix – might be that we should just patch the version of platform.py that we ship to use subprocess.Popen, since most people I’ve seen encounter this issue are just trying to use platform.system() anyways.

Privacy | Site terms | Cookie preferences