Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
proton-c-0.29.0
-
None
-
Fedora 29; dispatch master=2efbd; proton master or 0.29 release
Description
This issue was originally reported under DISPATCH-1464 (and previously reported under PROTON-2042, now resolved as a duplicate)
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.
Attachments
Attachments
Issue Links
- is duplicated by
-
PROTON-2042 Occasional engine.c:691: pni_add_work: Assertion `!delivery->local.settled' failed
- Resolved
- is related to
-
PROTON-2183 [cpp client] No messaging_handler callback for aborted messages
- Closed
- relates to
-
PROTON-2005 [proton-c] AMQP error if delivery is aborted with session_outgoing bytes > 0
- Closed