You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <ji...@apache.org> on 2014/04/15 11:19:14 UTC
[jira] [Created] (QPID-5700) heartbeat interleaved with message
frames causes decode error
Gordon Sim created QPID-5700:
--------------------------------
Summary: 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
Priority: Critical
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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org