[
https://issues.apache.org/jira/browse/PROTON-1417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Stitcher resolved PROTON-1417.
-------------------------------------
Resolution: Fixed
Fix Version/s: 0.18.0
> [python] TypeError on listener when handling address already in use
> -------------------------------------------------------------------
>
> Key: PROTON-1417
> URL: https://issues.apache.org/jira/browse/PROTON-1417
> Project: Qpid Proton
> Issue Type: Bug
> Components: python-binding
> Affects Versions: 0.18.0
> Reporter: Jiri Danek
> Assignee: Andrew Stitcher
> Priority: Minor
> Fix For: 0.18.0
>
>
> There is a wrong syntax in exception handling code when raising the "Address
> already in use" error in _proton-c/bindings/python/proton/reactor.py_ (line
> 179):
> {code}
> raise IOError("%s (%s:%s)" % pn_error_text(pn_reactor_error(self._impl)),
> host, port)
> {code}
> Which leads to unexpected TypeError:
> {code}
> Traceback (most recent call last):
> File "in_handler.py", line 15, in <module>
> container.run()
> File "/usr/lib64/python2.7/site-packages/proton/reactor.py", line 133, in
> run
> while self.process(): pass
> File "/usr/lib64/python2.7/site-packages/proton/reactor.py", line 159, in
> process
> self._check_errors()
> File "/usr/lib64/python2.7/site-packages/proton/reactor.py", line 155, in
> _check_errors
> _compat.raise_(exc, value, tb)
> File "/usr/lib64/python2.7/site-packages/proton/__init__.py", line 4040, in
> dispatch
> ev.dispatch(self.handler)
> File "/usr/lib64/python2.7/site-packages/proton/__init__.py", line 3949, in
> dispatch
> result = dispatch(handler, type.method, self)
> File "/usr/lib64/python2.7/site-packages/proton/__init__.py", line 3827, in
> dispatch
> return m(*args)
> File "/usr/lib64/python2.7/site-packages/proton/handlers.py", line 436, in
> on_reactor_init
> self.on_start(event)
> File "in_handler.py", line 6, in on_start
> acceptor = event.container.listen("localhost:5672")
> File "/usr/lib64/python2.7/site-packages/proton/reactor.py", line 869, in
> listen
> acceptor = self.acceptor(url.host, url.port)
> File "/usr/lib64/python2.7/site-packages/proton/reactor.py", line 179, in
> acceptor
> raise IOError("%s (%s:%s)" % pn_error_text(pn_reactor_error(self._impl)),
> host, port)
> TypeError: not enough arguments for format string
> {code}
> Proposed fix:
> {code}
> diff --git a/proton-c/bindings/python/proton/reactor.py
> b/proton-c/bindings/python/proton/reactor.py
> index 269ed9e..a0699c8 100644
> --- a/proton-c/bindings/python/proton/reactor.py
> +++ b/proton-c/bindings/python/proton/reactor.py
> @@ -176,7 +176,7 @@ class Reactor(Wrapper):
> if aimpl:
> return Acceptor(aimpl)
> else:
> - raise IOError("%s (%s:%s)" %
> pn_error_text(pn_reactor_error(self._impl)), host, port)
> + raise IOError("%s (%s:%s)" %
> (pn_error_text(pn_reactor_error(self._impl)), host, port))
>
> def connection(self, handler=None):
> """Deprecated: use connection_to_host() instead
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]