[
https://issues.apache.org/jira/browse/PROTON-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16966924#comment-16966924
]
Charles E. Rolke commented on PROTON-2128:
------------------------------------------
A reproducer is attached. It fails on the first or second loop on my system
Fedora 29, python3.7, qpid-dispatch (current master), qpid-proton (current
master)
h3. To reproduce:
Start one dispatch router with
_*qdrouterd -c*_ *A.conf*
then run the python program**
h3. Result
{{python3.7: /home/chug/git/qpid-proton/c/src/core/engine.c:691: pni_add_work:
Assertion `!delivery->local.settled' failed.}}{{Process finished with exit code
134 (interrupted by signal 6: SIGABRT)}}
> 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]