[
https://issues.apache.org/jira/browse/QPID-5700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gordon Sim updated QPID-5700:
-----------------------------
Fix Version/s: 0.28
> heartbeat interleaved with message frames causes decode error
> -------------------------------------------------------------
>
> Key: QPID-5700
> URL: https://issues.apache.org/jira/browse/QPID-5700
> Project: Qpid
> Issue Type: Bug
> Components: Python Client
> Affects Versions: 0.26
> Reporter: Gordon Sim
> Assignee: Gordon Sim
> Priority: Critical
> Fix For: 0.28, 0.29
>
>
> Heartbeat controls are sent on a separate 'track' from the message transfer
> command and accompanying header and content segments.
> The OpDecoder is fed the segments as they occur, but does not account for the
> possibility of interleaving of assemblies on different tracks.
> Example data and exception below:
> {noformat}
> 2014-04-13 04:10:21.866 3963 DEBUG qpid.messaging.io.raw [-] READ[477e7a0]:
> '\x0b\x01\x00\x16\x00\x01\x00\x00\x00\x00\x00\x00\x04\x01\x01\x00\x07\x00\x010\x01\x00\x0f\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x01\n\x00\x00\x03\x02\x00\x95\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00K\x04\x03\x10\x01\x08amqp/map\x00\x00\x00:\x00\x00\x00\x01\x0cqpid.subject\x95\x00&reply_9fc61f642ec14f8785ebc4ca7635b4e6\x00\x00\x006\x04\x01\x00\x03\namq.direct&reply_9fc61f642ec14f8785ebc4ca7635b4e6\x07\x03\x01\xcb\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\xbb\x00\x00\x00\x02\x0coslo.message\x95\x01\x94{"_unique_id":
> "a4b5b02a187c4313826f647627e82200", "failure": null, "result": {"binary":
> "nova-compute", "deleted": 0, "created_at": "2014-03-16T21:22:19.000000",
> "updated_at": "2014-04-13T09:10:21.862224", "report_count": 210969, "topic":
> "compute", "host": "nova51.rhelpoc.local", "disabled": false, "deleted_at":
> null, "disabled_reason": null, "id": 42}, "_msg_id":
> "4135f2273eb3459fbc5cba773faac851"}\x0coslo.version\x95\x00\x032.0' readable
> /usr/lib/python2.6/site-packages/qpid/messaging/driver.py:434
> 2014-04-13 04:10:21.879 3963 ERROR root [-] Unexpected exception occurred 1
> time(s)... retrying.
> 2014-04-13 04:10:21.879 3963 TRACE root Traceback (most recent call last):
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line
> 78, in inner_func
> 2014-04-13 04:10:21.879 3963 TRACE root return infunc(*args, **kwargs)
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py",
> line 698, in _consumer_thread
> 2014-04-13 04:10:21.879 3963 TRACE root self.consume()
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py",
> line 689, in consume
> 2014-04-13 04:10:21.879 3963 TRACE root it.next()
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py",
> line 606, in iterconsume
> 2014-04-13 04:10:21.879 3963 TRACE root yield
> self.ensure(_error_callback, _consume)
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py",
> line 540, in ensure
> 2014-04-13 04:10:21.879 3963 TRACE root return method(*args, **kwargs)
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py",
> line 597, in _consume
> 2014-04-13 04:10:21.879 3963 TRACE root nxt_receiver =
> self.session.next_receiver(timeout=timeout)
> 2014-04-13 04:10:21.879 3963 TRACE root File "<string>", line 6, in
> next_receiver
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 665, in
> next_receiver
> 2014-04-13 04:10:21.879 3963 TRACE root if self._ecwait(lambda:
> self.incoming, timeout):
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 50, in
> _ecwait
> 2014-04-13 04:10:21.879 3963 TRACE root result = self._ewait(lambda:
> self.closed or predicate(), timeout)
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 571, in
> _ewait
> 2014-04-13 04:10:21.879 3963 TRACE root result =
> self.connection._ewait(lambda: self.error or predicate(), timeout)
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 214, in
> _ewait
> 2014-04-13 04:10:21.879 3963 TRACE root self.check_error()
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 207, in
> check_error
> 2014-04-13 04:10:21.879 3963 TRACE root raise self.error
> 2014-04-13 04:10:21.879 3963 TRACE root InternalError: Traceback (most recent
> call last):
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/messaging/driver.py", line 667, in
> write
> 2014-04-13 04:10:21.879 3963 TRACE root
> self._op_dec.write(*self._seg_dec.read())
> 2014-04-13 04:10:21.879 3963 TRACE root File
> "/usr/lib/python2.6/site-packages/qpid/framing.py", line 269, in write
> 2014-04-13 04:10:21.879 3963 TRACE root if self.op.headers is None:
> 2014-04-13 04:10:21.879 3963 TRACE root AttributeError: 'NoneType' object has
> no attribute 'headers'
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]