Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.1.0-Ducc
-
None
Description
If ducc scripts that use ducc_util.spawn() participate in a unix pipeline, and that pipeline is broken, either accidentally or deliberately, the underlying subsystem.popen() might throw an exception when components elsewhere in the pipeline close(). Couldn't find any way to catch this exception in a reliable manner. Solution is to set the sys.excepthook method to a custom method that deals with the problem. In this case, it's ok to simply ignore the exception so it doesn't spew to the console, disconcerting the user. The test for this is to pipe the output of ducc_process_submit into 'head', which reads a few lines and then closes its pipe even if ducc_process_submit isn't completed.