[
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]