[ 
https://issues.apache.org/jira/browse/UIMA-4168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14266604#comment-14266604
 ] 

Jim Challenger commented on UIMA-4168:
--------------------------------------

It turns out to be even simpler.  Just be sure to flush stdout in viaducc 
before calling other python scripting.  This way there is only one process with 
i/o pending and the python libs don't get confused.

> DUCC scripting uncaught exceptions
> ----------------------------------
>
>                 Key: UIMA-4168
>                 URL: https://issues.apache.org/jira/browse/UIMA-4168
>             Project: UIMA
>          Issue Type: Bug
>          Components: DUCC
>    Affects Versions: 1.1.0-Ducc
>            Reporter: Jim Challenger
>            Assignee: Jim Challenger
>            Priority: Minor
>             Fix For: 2.0.0-Ducc
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to