Jiri Daněk created DISPATCH-1603:
------------------------------------

             Summary: [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


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.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to