qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Ross (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PROTON-1838) [python] proton.float32('inf') and proton.float32('-inf') fail during encoding on CentOS 7
Date Wed, 02 May 2018 22:17:00 GMT

     [ https://issues.apache.org/jira/browse/PROTON-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Justin Ross updated PROTON-1838:
--------------------------------
    Fix Version/s: proton-c-future

> [python] proton.float32('inf') and proton.float32('-inf') fail during encoding on CentOS
7
> ------------------------------------------------------------------------------------------
>
>                 Key: PROTON-1838
>                 URL: https://issues.apache.org/jira/browse/PROTON-1838
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>            Reporter: Kim van der Riet
>            Priority: Major
>              Labels: codec
>             Fix For: proton-c-future
>
>         Attachments: simple_send.py
>
>
> Using the special float values {{'inf'}} and {{'-inf'}} in a {{proton.float32}} message
body on CentOS 7 (both Python 2 and 3) result in the following error:
> {noformat}
> [kvdr@rhm-x3550-05 ~]$ cat /etc/redhat-release 
> CentOS Linux release 7.4.1708 (Core) 
> [kvdr@rhm-x3550-05 ~]$ python --version
> Python 2.7.5
> [kvdr@rhm-x3550-05 ~]$ python3 --version
> Python 3.4.5
> [kvdr@rhm-x3550-05 ~]$ python simple_send.py -a localhost:8001/qit.examples
> Traceback (most recent call last):
>   File "simple_send.py", line 62, in <module>
>     Container(Send(opts.address, opts.messages)).run()
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/reactor.py",
line 148, in run
>     while self.process(): pass
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/reactor.py",
line 174, in process
>     self._check_errors()
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/reactor.py",
line 170, in _check_errors
>     _compat.raise_(exc, value, tb)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 3478, in dispatch
>     ev.dispatch(self.handler)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 3390, in dispatch
>     self.dispatch(h, type)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 3387, in dispatch
>     result = dispatch(handler, type.method, self)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 3265, in dispatch
>     return m(*args)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/handlers.py",
line 41, in on_link_flow
>     self.on_sendable(event)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/handlers.py",
line 63, in on_sendable
>     dispatch(self.delegate, 'on_sendable', event)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 3265, in dispatch
>     return m(*args)
>   File "simple_send.py", line 41, in on_sendable
>     event.sender.send(msg)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 2437, in send
>     return obj.send(self, tag=tag)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 540, in send
>     encoded = self.encode()
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 523, in encode
>     self._pre_encode()
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 267, in _pre_encode
>     body.put_object(self.body)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 1698, in put_object
>     putter(self, obj)
>   File "/var/lib/jenkins/workspace/install/lib64/proton/bindings/python/proton/__init__.py",
line 1209, in put_float
>     self._check(pn_data_put_float(self._data, f))
> OverflowError: in method 'pn_data_put_float', argument 2 of type 'float'{noformat}
> and which can be observed by running the attached reproducer based on the simple_send.py
example. The use of float special value {{'NaN'}} does not produce this error, however.
> This error does not occur on Fedora 27.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message