Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • jami-project jami-project
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 163
    • Issues 163
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • savoirfairelinux
  • jami-projectjami-project
  • Issues
  • #256
Closed
Open
Created Oct 25, 2016 by RingBot@RingBotOwner

daemon: infinite loop of sending message when hanging up unsanswered call

Issue generated from Tuleap's migration script. Originally submitted by: Stepan Salenikovich (ssalenik)

Made a call from (updated master) Ring A to (updated master) Ring B and then hung up on Ring A side during ringing.

On Ring A side, I get this log infinitely looping:

 

  
  
[1477411172.948|20753|sipvoiplink.cpp:1117    ] [INVITE:0x190ae88] tsx\_role=0, tsx\_state=1, ev\_type=5, tsx\_state\_type=2

 

On Ring B side, I get this log infinitely looping:

 

  
[1477411326.927|12670|sipvoiplink.cpp:1117    ] [INVITE:0x55555684fdb8] tsx\_role=1, tsx\_state=6, ev\_type=5, tsx\_state\_type=1

 

On Ring A side, stopping the execution in gdb, I get this bt:

 

  
\^C[New Thread 0x7fffe5be7700 (LWP 20785)]  
[New Thread 0x7fffeda05700 (LWP 20784)]  
[New Thread 0x7fffe77fe700 (LWP 20782)]  
[New Thread 0x7fffd37fd700 (LWP 20774)]  
[New Thread 0x7fffd3ffe700 (LWP 20767)]  
[New Thread 0x7fffe4be5700 (LWP 20766)]  
  
Program received signal SIGINT, Interrupt.  
0x00000000006792c6 in find\_entry ()  
(gdb) bt  
\#0  0x00000000006792c6 in find\_entry ()  
\#1  0x000000000067955b in hash\_set ()  
\#2  0x000000000067964b in pj\_hash\_set\_lower ()  
\#3  0x000000000062fcee in mod\_tsx\_layer\_register\_tsx ()  
\#4  0x00000000006312f6 in pjsip\_tsx\_create\_uac2 ()  
\#5  0x0000000000630ebb in pjsip\_tsx\_create\_uac ()  
\#6  0x0000000000637c05 in pjsip\_dlg\_send\_request ()  
\#7  0x00000000005c1006 in ring::im::sendSipMessage (session=, payloads=std::map with 1 elements = {...})  
    at instant\_messaging.cpp:181  
\#8  0x000000000055b2e6 in ring::SIPCall::sendTextMessage (this=0x186c2b0, messages=std::map with 1 elements = {...}, from="Me")  
    at sipcall.cpp:674  
\#9  0x000000000055b3e3 in ring::SIPCall::sendTextMessage (this=0x181d600, messages=std::map with 1 elements = {...}, from="Me")  
    at sipcall.cpp:671  
\#10 0x0000000000512748 in ring::Call::setState (this=this@entry=0x181d600, call\_state=,   
    cnx\_state=cnx\_state@entry=ring::Call::ConnectionState::DISCONNECTED, code=code@entry=0) at call.cpp:173  
\#11 0x00000000005130e4 in ring::Call::setState (this=this@entry=0x181d600,   
    cnx\_state=cnx\_state@entry=ring::Call::ConnectionState::DISCONNECTED, code=code@entry=0) at call.cpp:202  
\#12 0x00000000005550fd in ring::SIPCall::hangup (this=0x181d600, reason=0) at sipcall.cpp:390  
\#13 0x0000000000503eb7 in ring::Manager::hangupCall (this=0x137f240 ,   
    callId="14848750495337611551") at manager.cpp:559  
\#14 0x0000000000471595 in DRing::hangUp (callID="14848750495337611551") at callmanager.cpp:83  
\#15 0x00000000004578b5 in hangUp (callID="14848750495337611551", this=0x1573fa0) at dbuscallmanager.cpp:49  
\#16 cx::ring::Ring::CallManager\_adaptor::\_hangUp\_stub (this=0x1573fa0, call=...) at dbuscallmanager.adaptor.h:763  
\#17 0x0000000000456d27 in DBus::Callback::call (  
    this=, param=...) at /usr/include/dbus-c++-1/dbus-c++/util.h:283  
\#18 0x00007ffff7bc3640 in DBus::InterfaceAdaptor::dispatch\_method(DBus::CallMessage const&) () from /lib64/libdbus-c++-1.so.0  
\#19 0x00007ffff7bcc1e7 in DBus::ObjectAdaptor::handle\_message(DBus::Message const&) () from /lib64/libdbus-c++-1.so.0  
\#20 0x00007ffff7bc9f66 in DBus::ObjectAdaptor::Private::message\_function\_stub(DBusConnection\*, DBusMessage\*, void\*) ()  
   from /lib64/libdbus-c++-1.so.0  
\#21 0x00007ffff7981663 in \_dbus\_object\_tree\_dispatch\_and\_unlock () from /lib64/libdbus-1.so.3  
\#22 0x00007ffff7973104 in dbus\_connection\_dispatch () from /lib64/libdbus-1.so.3  
\#23 0x00007ffff7bbde73 in DBus::Connection::Private::do\_dispatch() () from /lib64/libdbus-c++-1.so.0  
\#24 0x00007ffff7bc074c in DBus::Dispatcher::dispatch\_pending(std::list >&) () from /lib64/libdbus-c++-1.so.0  
\#25 0x00007ffff7bc083c in DBus::Dispatcher::dispatch\_pending() () from /lib64/libdbus-c++-1.so.0  
\#26 0x00007ffff7bc1f29 in DBus::BusDispatcher::do\_iteration() () from /lib64/libdbus-c++-1.so.0  
\#27 0x00007ffff7bc1dbc in DBus::BusDispatcher::enter() () from /lib64/libdbus-c++-1.so.0  
\#28 0x000000000044149f in DBusClient::event\_loop (this=) at dbusclient.cpp:235  
\#29 0x000000000043c0dc in main (argc=, argv=) at main.cpp:235  
(gdb) bt full  
\#0  0x00000000006792c6 in find\_entry ()  
No symbol table info available.  
\#1  0x000000000067955b in hash\_set ()  
No symbol table info available.  
\#2  0x000000000067964b in pj\_hash\_set\_lower ()  
No symbol table info available.  
\#3  0x000000000062fcee in mod\_tsx\_layer\_register\_tsx ()  
No symbol table info available.  
\#4  0x00000000006312f6 in pjsip\_tsx\_create\_uac2 ()  
No symbol table info available.  
\#5  0x0000000000630ebb in pjsip\_tsx\_create\_uac ()  
No symbol table info available.  
\#6  0x0000000000637c05 in pjsip\_dlg\_send\_request ()  
No symbol table info available.  
\#7  0x00000000005c1006 in ring::im::sendSipMessage (session=, payloads=std::map with 1 elements = {...})  
    at instant\_messaging.cpp:181  
        dialog = 0x1909ca8  
        dialog\_lock = {dialog\_ = 0x1909ca8}  
        tdata = 0x126c6cce8  
        status =   
        msg\_method = {id = PJSIP\_OTHER\_METHOD, name = {ptr = 0xe683db "MESSAGE", slen = 7}}  
\#8  0x000000000055b2e6 in ring::SIPCall::sendTextMessage (this=0x186c2b0, messages=std::map with 1 elements = {...}, from="Me")  
    at sipcall.cpp:674  
No locals.  
\#9  0x000000000055b3e3 in ring::SIPCall::sendTextMessage (this=0x181d600, messages=std::map with 1 elements = {...}, from="Me")  
    at sipcall.cpp:671  
        \_\_for\_range = std::set with 1 elements = {[0] = warning: RTTI symbol not found for class 'std::\_Sp\_counted\_ptr\_inplace ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall, std::allocator ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall>, (\_\_gnu\_cxx::\_Lock\_policy)2>'  
warning: RTTI symbol not found for class 'std::\_Sp\_counted\_ptr\_inplace ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall, std::allocator ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall>, (\_\_gnu\_cxx::\_Lock\_policy)2>'  
std::shared\_ptr (count 4, weak 3) 0x186c2b0}  
\#10 0x0000000000512748 in ring::Call::setState (this=this@entry=0x181d600, call\_state=,   
    cnx\_state=cnx\_state@entry=ring::Call::ConnectionState::DISCONNECTED, code=code@entry=0) at call.cpp:173  
        lock = {\_M\_device = @0x181d6b8}  
        old\_client\_state = "RINGING"  
        new\_client\_state = "HUNGUP"  
\#11 0x00000000005130e4 in ring::Call::setState (this=this@entry=0x181d600,   
    cnx\_state=cnx\_state@entry=ring::Call::ConnectionState::DISCONNECTED, code=code@entry=0) at call.cpp:202  
        lock = {\_M\_device = @0x181d6b8}  
\#12 0x00000000005550fd in ring::SIPCall::hangup (this=0x181d600, reason=0) at sipcall.cpp:390  
No locals.  
\#13 0x0000000000503eb7 in ring::Manager::hangupCall (this=0x137f240 ,   
    callId="14848750495337611551") at manager.cpp:559  
        currentCallId = "14848750495337611551"  
        call = warning: RTTI symbol not found for class 'std::\_Sp\_counted\_ptr\_inplace ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall, std::allocator ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall>, (\_\_gnu\_cxx::\_Lock\_policy)2>'  
warning: RTTI symbol not found for class 'std::\_Sp\_counted\_ptr\_inplace ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall, std::allocator ring::CallFactory::newCall(ring::RingAccount&, std::string const&, ring::Call::CallType)::ConcreteCall>, (\_\_gnu\_cxx::\_Lock\_policy)2>'  
std::shared\_ptr (count 2, weak 2) 0x181d600  
\#14 0x0000000000471595 in DRing::hangUp (callID="14848750495337611551") at callmanager.cpp:83  
No locals.  
\#15 0x00000000004578b5 in hangUp (callID="14848750495337611551", this=0x1573fa0) at dbuscallmanager.cpp:49  
No locals.  
\#16 cx::ring::Ring::CallManager\_adaptor::\_hangUp\_stub (this=0x1573fa0, call=...) at dbuscallmanager.adaptor.h:763  
        ri = {  
          \_iter = "\\200!W\\001\\000\\000\\000\\000\\000\\000`\\000\\000\\000\\000\\000l\\000\\000\\000\\000\\000\\000\\000\\210!W\\001\\000\\000\\000\\000\\216\\000\\---Type  to continue, or q  to quit---  
000\\000\\000\\000\\000\\000\\320!W\\001\\000\\000\\000\\000\\031\\000\\000\\000\\000\\000\\000\\000ॺ\\367\\377\\177\\000\\000\\000\\000\\000",   
          \_msg = 0x7fffffffd610}  
        argin1 = "14848750495337611551"  
        argout1 =   
        reply = { = {\_pvt = {\_\_ptr = 0x18cf100, \_\_cnt = {\_vptr.RefCnt = 0x0, \_\_ref = 0x7fffffffd66c}}}, }  
        wi = {  
          \_iter = "\\360\^W\\001\\000\\000\\000\\000\\037\\000\\000\\000\\000\\000\\000\\000@\\325\\377\\377\\377\\177\\000\\000h\\261z\\363\\377\\177\\000\\000\\006\\000\\000\\000\\000\\000\\000\\000\\211\\303\~\\363\\377\\177\\000\\000\\006\\000\\000\\000\\000\\000\\000\\000\\376\\304\~\\363\\377\\177\\000\\000@9W\\001",   
          \_msg = 0x7fffffffd540}  
\#17 0x0000000000456d27 in DBus::Callback::call (  
    this=, param=...) at /usr/include/dbus-c++-1/dbus-c++/util.h:283  
No locals.  
\#18 0x00007ffff7bc3640 in DBus::InterfaceAdaptor::dispatch\_method(DBus::CallMessage const&) () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#19 0x00007ffff7bcc1e7 in DBus::ObjectAdaptor::handle\_message(DBus::Message const&) () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#20 0x00007ffff7bc9f66 in DBus::ObjectAdaptor::Private::message\_function\_stub(DBusConnection\*, DBusMessage\*, void\*) ()  
   from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#21 0x00007ffff7981663 in \_dbus\_object\_tree\_dispatch\_and\_unlock () from /lib64/libdbus-1.so.3  
No symbol table info available.  
\#22 0x00007ffff7973104 in dbus\_connection\_dispatch () from /lib64/libdbus-1.so.3  
No symbol table info available.  
\#23 0x00007ffff7bbde73 in DBus::Connection::Private::do\_dispatch() () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#24 0x00007ffff7bc074c in DBus::Dispatcher::dispatch\_pending(std::list >&) () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#25 0x00007ffff7bc083c in DBus::Dispatcher::dispatch\_pending() () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#26 0x00007ffff7bc1f29 in DBus::BusDispatcher::do\_iteration() () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#27 0x00007ffff7bc1dbc in DBus::BusDispatcher::enter() () from /lib64/libdbus-c++-1.so.0  
No symbol table info available.  
\#28 0x000000000044149f in DBusClient::event\_loop (this=) at dbusclient.cpp:235  
No locals.  
\#29 0x000000000043c0dc in main (argc=, argv=) at main.cpp:235  
        programName = "/home/sfl1/ring-project/daemon/bin/dring"  
        writable = std::vector of length -22481328, capacity -22481328 = {47 '/', 104 'h', 111 'o', 109 'm', 101 'e', 47 '/', 115 's',   
          102 'f', 108 'l', 49 '1', 47 '/', 114 'r', 105 'i', 110 'n', 103 'g', 45 '-', 112 'p', 114 'r', 111 'o', 106 'j', 101 'e',   
          99 'c', 116 't', 47 '/', 100 'd', 97 'a', 101 'e', 109 'm', 111 'o', 110 'n', 47 '/', 98 'b', 105 'i', 110 'n', 0 '\\000',   
          100 'd', 114 'r', 105 'i', 110 'n', 103 'g', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000',   
          0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', 1 '\\001', 2 '\\002', 0 '\\000', 0 '\\000',   
          0 '\\000', 0 '\\000', 0 '\\000', 0 '\\000', -39 '\\331', -30 '\\342', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000',   
          0 '\\000', -28 '\\344', -30 '\\342', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', -8 '\\370', -30 '\\342',   
          -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', 6 '\\006', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377',   
          127 '\\177', 0 '\\000', 0 '\\000', 23 '\\027', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000',   
          46 '.', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', 84 'T', -29 '\\343', -1 '\\377', -1 '\\377',   
---Type  to continue, or q  to quit---  
          -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', -126 '\\202', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000',   
          0 '\\000', -103 '\\231', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', -83 '\\255', -29 '\\343',   
          -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', -67 '\\275', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377',   
          127 '\\177', 0 '\\000', 0 '\\000', -50 '\\316', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000',   
          -29 '\\343', -29 '\\343', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', -15 '\\361', -29 '\\343', -1 '\\377',   
          -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', 9 '\	', -28 '\\344', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177',   
          0 '\\000', 0 '\\000', 31 '\\037', -28 '\\344', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000', 49 '1',   
          -28 '\\344', -1 '\\377', -1 '\\377', -1 '\\377', 127 '\\177', 0 '\\000', 0 '\\000'...}  
        persistent = false  
(gdb)   

 

Assignee
Assign to
Time tracking