You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2020/03/14 12:40:00 UTC

[jira] [Updated] (DISPATCH-1603) [macOS] Failure in system_tests_multicast.MulticastLinearTest#test_01_presettled_large_msg_rx_detach

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

Jiri Daněk updated DISPATCH-1603:
---------------------------------
    Description: 
Travis CI https://travis-ci.org/github/apache/qpid-dispatch/jobs/662307196

{noformat}
59: ======================================================================
59: ERROR: test_01_presettled_large_msg_rx_detach (system_tests_multicast.MulticastLinearTest)
59: ----------------------------------------------------------------------
59: Traceback (most recent call last):
59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 241, in test_01_presettled_large_msg_rx_detach
59:     self._presettled_large_msg_rx_detach(self.config, 10, ['R-INT_A-2', 'R-INT_B-1'])
59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 236, in _presettled_large_msg_rx_detach
59:     test.run()
59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 628, in run
59:     Container(self).run()
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_reactor.py", line 180, in run
59:     while self.process(): pass
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_reactor.py", line 237, in process
59:     event.dispatch(handler)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 165, in dispatch
59:     self.dispatch(h, type)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 165, in dispatch
59:     self.dispatch(h, type)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 162, in dispatch
59:     _dispatch(handler, type.method, self)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 123, in _dispatch
59:     m(*args)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_handlers.py", line 253, in on_delivery
59:     event.message = recv_msg(dlv)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_handlers.py", line 140, in recv_msg
59:     msg.decode(delivery.link.recv(delivery.pending))
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_message.py", line 488, in decode
59:     self._check(pn_message_decode(self._msg, data))
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_message.py", line 87, in _check
59:     raise exc("[%s]: %s" % (err, pn_error_text(pn_message_error(self._msg))))
59: proton._exceptions.MessageException: [-4]: data error: not enough data to decode
{noformat}

Expected payload in the test is defined like this (from {{system_tests_multicast}})

{noformat}
MAX_FRAME=1023
LINK_CAPACITY=250
W_THREADS=2
LARGE_PAYLOAD = ("X" * MAX_FRAME) * 19

[...]

    def _presettled_large_msg_rx_detach(self, config, count, drop_clients):
        # detach receivers during receive
        body = " MCAST PRESETTLED LARGE RX DETACH " + LARGE_PAYLOAD
{noformat}

That means {{len(LARGE_PAYLOAD) == 19437}}. What gets decoded in {{qpid-proton/python/proton/_message.py}} is smaller, {{len(data) == 16384}}.

It happens that {{2**14 == 16384}}. That might be a clue?

If I make LARGE_PAYLOAD smaller, {{LARGE_PAYLOAD = ("X" * MAX_FRAME) * 13}} the test starts passing. All the other tests in the class then start passing too.

  was:
Travis CI https://travis-ci.org/github/apache/qpid-dispatch/jobs/662307196

{noformat}
59: ======================================================================
59: ERROR: test_01_presettled_large_msg_rx_detach (system_tests_multicast.MulticastLinearTest)
59: ----------------------------------------------------------------------
59: Traceback (most recent call last):
59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 241, in test_01_presettled_large_msg_rx_detach
59:     self._presettled_large_msg_rx_detach(self.config, 10, ['R-INT_A-2', 'R-INT_B-1'])
59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 236, in _presettled_large_msg_rx_detach
59:     test.run()
59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 628, in run
59:     Container(self).run()
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_reactor.py", line 180, in run
59:     while self.process(): pass
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_reactor.py", line 237, in process
59:     event.dispatch(handler)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 165, in dispatch
59:     self.dispatch(h, type)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 165, in dispatch
59:     self.dispatch(h, type)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 162, in dispatch
59:     _dispatch(handler, type.method, self)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 123, in _dispatch
59:     m(*args)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_handlers.py", line 253, in on_delivery
59:     event.message = recv_msg(dlv)
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_handlers.py", line 140, in recv_msg
59:     msg.decode(delivery.link.recv(delivery.pending))
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_message.py", line 488, in decode
59:     self._check(pn_message_decode(self._msg, data))
59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_message.py", line 87, in _check
59:     raise exc("[%s]: %s" % (err, pn_error_text(pn_message_error(self._msg))))
59: proton._exceptions.MessageException: [-4]: data error: not enough data to decode
{noformat}

Expected payload is (from {{system_tests_multicast}})

{noformat}
MAX_FRAME=1023
LINK_CAPACITY=250
W_THREADS=2
LARGE_PAYLOAD = ("X" * MAX_FRAME) * 19

[...]

    def _presettled_large_msg_rx_detach(self, config, count, drop_clients):
        # detach receivers during receive
        body = " MCAST PRESETTLED LARGE RX DETACH " + LARGE_PAYLOAD
{noformat}

That means {{len(LARGE_PAYLOAD) == 19437}}. What gets decoded in {{qpid-proton/python/proton/_message.py}} is smaller, {{len(data) == 16384}}.

It happens that {{2**14 == 16384}}. That might be a clue?

If I make LARGE_PAYLOAD smaller, {{LARGE_PAYLOAD = ("X" * MAX_FRAME) * 13}} the test starts passing. All the other tests in the class then start passing too.


> [macOS] Failure in system_tests_multicast.MulticastLinearTest#test_01_presettled_large_msg_rx_detach
> ----------------------------------------------------------------------------------------------------
>
>                 Key: DISPATCH-1603
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1603
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 1.10.0
>         Environment: macOS 14.10 Sierra, Python 3.7
>            Reporter: Jiri Daněk
>            Priority: Major
>              Labels: macOS
>
> Travis CI https://travis-ci.org/github/apache/qpid-dispatch/jobs/662307196
> {noformat}
> 59: ======================================================================
> 59: ERROR: test_01_presettled_large_msg_rx_detach (system_tests_multicast.MulticastLinearTest)
> 59: ----------------------------------------------------------------------
> 59: Traceback (most recent call last):
> 59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 241, in test_01_presettled_large_msg_rx_detach
> 59:     self._presettled_large_msg_rx_detach(self.config, 10, ['R-INT_A-2', 'R-INT_B-1'])
> 59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 236, in _presettled_large_msg_rx_detach
> 59:     test.run()
> 59:   File "/Users/travis/build/apache/qpid-dispatch/tests/system_tests_multicast.py", line 628, in run
> 59:     Container(self).run()
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_reactor.py", line 180, in run
> 59:     while self.process(): pass
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_reactor.py", line 237, in process
> 59:     event.dispatch(handler)
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 165, in dispatch
> 59:     self.dispatch(h, type)
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 165, in dispatch
> 59:     self.dispatch(h, type)
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 162, in dispatch
> 59:     _dispatch(handler, type.method, self)
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_events.py", line 123, in _dispatch
> 59:     m(*args)
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_handlers.py", line 253, in on_delivery
> 59:     event.message = recv_msg(dlv)
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_handlers.py", line 140, in recv_msg
> 59:     msg.decode(delivery.link.recv(delivery.pending))
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_message.py", line 488, in decode
> 59:     self._check(pn_message_decode(self._msg, data))
> 59:   File "/Users/travis/build/apache/qpid-dispatch/qpid-proton/python/proton/_message.py", line 87, in _check
> 59:     raise exc("[%s]: %s" % (err, pn_error_text(pn_message_error(self._msg))))
> 59: proton._exceptions.MessageException: [-4]: data error: not enough data to decode
> {noformat}
> Expected payload in the test is defined like this (from {{system_tests_multicast}})
> {noformat}
> MAX_FRAME=1023
> LINK_CAPACITY=250
> W_THREADS=2
> LARGE_PAYLOAD = ("X" * MAX_FRAME) * 19
> [...]
>     def _presettled_large_msg_rx_detach(self, config, count, drop_clients):
>         # detach receivers during receive
>         body = " MCAST PRESETTLED LARGE RX DETACH " + LARGE_PAYLOAD
> {noformat}
> That means {{len(LARGE_PAYLOAD) == 19437}}. What gets decoded in {{qpid-proton/python/proton/_message.py}} is smaller, {{len(data) == 16384}}.
> It happens that {{2**14 == 16384}}. That might be a clue?
> If I make LARGE_PAYLOAD smaller, {{LARGE_PAYLOAD = ("X" * MAX_FRAME) * 13}} the test starts passing. All the other tests in the class then start passing too.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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