Olivier Delbeke created PROTON-1999:
---------------------------------------

             Summary: [c] Crash in pn_connection_finalize
                 Key: PROTON-1999
                 URL: https://issues.apache.org/jira/browse/PROTON-1999
             Project: Qpid Proton
          Issue Type: Bug
          Components: cpp-binding, proton-c
    Affects Versions: proton-c-0.26.0
         Environment: Linux 64-bits (Ubuntu 16.04 and Oracle Linux 7.4)
            Reporter: Olivier Delbeke
         Attachments: call_stack.txt, log.txt

Here is my situation : I have several proton::containers (~20). 
Each one has its own proton::messaging_handler, and handles one 
proton::connection to a local qpid-broker (everything runs on the same Linux 
machine).

20 x ( one container with one handler with one connection with one link)
Some containers/connections/handlers work in send mode ; they have one link 
that is a proton::sender.
Some containers/connections/handlers work in receive mode ; they have one link 
that is a proton::receiver. Each time they receive an input message, they do 
some processing on it, and finally add a "sender->send()" task to the work 
queue of some sender handlers ( by calling work_queue()->add( [=] \{ 
sender->send(msg); } as shown in the multi-threading examples).
This works fine for some time (tens of thousands of messages, several minutes 
or hours), but eventually crashes, either with a SEGFAULT (when the qpid-proton 
lib is compiled in release mode) or with an assert (in debug mode), in 
qpid-proton/c/src/core/engine.c line 483, assert(!conn->transport->referenced) 
in function pn_connection_finalize().

The proton logs (activated with export PN_TRACE_FRM=1) do not show anything 
abnormal (no loss of connection, no rejection of messages, no timeouts, ...).

As the connection is not closed, I wonder why pn_connection_finalize() would be 
called in the first place.

I joined the logs and the call trace.

Happens on 0.26.0 but also reproduced with the latest master (Jan 28, 2019).

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to