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

Andrew Stitcher commented on PROTON-2022:
-----------------------------------------

This issue is caused by the authz test closing the file handle in a signal 
handler.

*This is not a legitimate thing to do*

This is also not legitimate in python 2 either. But in this case the Interrupt 
signal gets through to the code in _io.py which specifically ignores SIGINTR 
and the event loop does not try to run poll again with an invalid file handle.

It fails in python 3 because poll automatically retries the underlying system 
call when it receives SIGINTR automatically.

> Python3 reactor listener client fails with 'Bad file descriptor' exception
> --------------------------------------------------------------------------
>
>                 Key: PROTON-2022
>                 URL: https://issues.apache.org/jira/browse/PROTON-2022
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: proton-c-0.27.0
>         Environment: Fedora 29 or 28. Python 3.
> qpid-dispatch master @f359aea 1.6.0-rc2
>            Reporter: Chuck Rolke
>            Priority: Major
>         Attachments: authz.txt
>
>
> Qpid-dispatch self tests run a helper program 
> qpid-dispatch/tests/authservice.py.in
> With Python 2 this test program works normally.
> With Python 3 the test fails with an 'OSError Errno 9, Bad file descriptor' 
> exception.
> Control is passed from the application to a MessagingHandler with
>     Container(handler).run()
> The stack trace is posted as an attached file.
> To reproduce: from the build directory
>     ctest -VV -R authz
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to