[ 
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]

Reply via email to