Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
Fedora GNU/Linux, python binding 0.38.0
Description
This occasionally happens after my laptop wakes up from overnight sleep.
IOHandler.on_selectable_expired() is invoked with selectable that has
_terminated=True and _transport=None so when IOHandler.update()
is called it crashes when trying to handle the exception
(since transport is None):
Traceback (most recent call last): File "/path/.venv/lib/python3.7/site-packages/proton/_handlers.py", line 1293, in update capacity = transport.capacity() AttributeError: 'NoneType' object has no attribute 'capacity' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/path/my-project.py", line 285, in run self.container.run() File "/path/.venv/lib/python3.7/site-packages/proton/_reactor.py", line 197, in run while self.process(): File "/path/.venv/lib/python3.7/site-packages/proton/_reactor.py", line 262, in process event.dispatch(self._global_handler) File "/path/.venv/lib/python3.7/site-packages/proton/_events.py", line 158, in dispatch _dispatch(handler, type.method, self) File "/path/.venv/lib/python3.7/site-packages/proton/_events.py", line 131, in _dispatch handler.on_unhandled(method, *args) File "/path/.venv/lib/python3.7/site-packages/proton/_reactor.py", line 905, in on_unhandled event.dispatch(self.base) File "/path/.venv/lib/python3.7/site-packages/proton/_events.py", line 158, in dispatch _dispatch(handler, type.method, self) File "/path/.venv/lib/python3.7/site-packages/proton/_events.py", line 129, in _dispatch m(*args) File "/path/.venv/lib/python3.7/site-packages/proton/_handlers.py", line 1237, in on_selectable_expired self.update(t, s, r.now) File "/path/.venv/lib/python3.7/site-packages/proton/_handlers.py", line 1296, in update if transport.closed: AttributeError: 'NoneType' object has no attribute 'closed'
I have proposed a fix at https://github.com/apache/qpid-proton/pull/364.