[
https://issues.apache.org/jira/browse/PROTON-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16967587#comment-16967587
]
Charles E. Rolke commented on PROTON-2128:
------------------------------------------
This issue is not a duplicate PROTON-2005.
* In PROTON-2005 the proton core sends illegal AMQP over the wire: outgoing
bytes is non-zero and while transmitting those bytes multiple frames are sent
each with the same delilvery id and with abort set. Upon receiving this
sequence the AMQP peer shuts down the link.
* This issue is a client crash. While processing the sender-generated abort
the sender state gets confused and triggers an assert.
> Python client crash sending aborted messages
> --------------------------------------------
>
> Key: PROTON-2128
> URL: https://issues.apache.org/jira/browse/PROTON-2128
> Project: Qpid Proton
> Issue Type: Bug
> Components: python-binding
> Affects Versions: proton-c-0.29.0
> Environment: Fedora 29; dispatch master=2efbd; proton master or 0.29
> release
> Reporter: Charles E. Rolke
> Priority: Major
> Attachments: PROTON-2128-reproducer.zip,
> PROTON-2128_DISPATCH-1464-gdb-bt.txt, PROTON-2128_DISPATCH-1464-gdb-py-bt.txt
>
>
> This issue was originally reported under DISPATCH-1464
> Dispatch self tests have an intermittent failure:
> {{
> 41: test_05_message_route_abort_one_router
> (system_tests_delivery_abort.RouterTest)
> ... python: /home/chug/git/qpid-proton/c/src/core/engine.c:691:
> pni_add_work: Assertion `!delivery->local.settled' failed.
> 1/1 Test #41: system_tests_delivery_abort ......Child aborted***Exception:
> 4.47 sec
> }}
> The failure is an assert with the assumption that the delivery must not be
> settled. The failing code is handling a SENDER link.
> The suspect here is interaction with the abort processing which spontaneously
> settles an outgoing delivery from the client side. The message is not
> presettled and there is no settlement over the wire.
> Spontaneous settlement may prove the assert to be overly aggressive:
> sometimes deliveries may be settled in pni_add_work(). Maybe the assertion
> could be changed to allow delivery.local.settled to be true but only if
> delivery.aborted is also true.
> Core dump backtraces to be added shortly.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]