< Previous by Date | Date Index | Next by Date > |
< Previous in Thread | Thread Index | Next in Thread > |
Hi all,i program i wrote using resiprocate crashed with the following stack trace:#0 resip::Dialog::end (this=0x0) at Dialog.cxx:3500000001 0x00007ffff198dfac in resip::DialogSet::end (this=0x7fffa8312030) at DialogSet.cxx:10270000002 0x00007ffff56958d4 in ReSipHandler::sendBye (this=0x7fffa82864a0, linePtr=0x7fffa82851b0) at src/ReSipHandler.cpp:6390000003 0x00007ffff5611aad in MyApp::abortCall (this=0x7fffd8043410, lid=0) at src/MyApp.cpp:6702As you can see there is a NULL pointer (Dialog) that is called from the line 1027 of DialogSet:1021 case Established:
1022 {
1023 for (DialogMap::iterator it = mDialogs.begin(); it != mDialogs.end(); ++it)
1024 {
1025 try
1026 {
1027 it->second->end();
1028 }
1029 catch(UsageUseException& e)
1030 {
1031 InfoLog (<< "Caught: " << e);
1032 }
1033 }
1034 mState = Terminating;
1035 break;
1036 }So it seems that it->second is NULL.the caller is a class (ResipCallData) that i wrote inheriting from AppDialogSet as (hopefully) per the examples in the documentation and that was used to create the InviteSession.the crash happened while trying to end the call like this (SendBye):ResipCallData *h = linePtr->getSipSession();if (!h) {qCritical() << "Could not find the handle for the call";*logger << UNQL::LOG_CRITICAL << "Cannot find the handle for the call to terminate on line "<< linePtr->getLineId() << UNQL::EOM;return SipStackError;}
AppDialogSetHandle adsh = h->getHandle();if (!adsh.isValid())qCritical() << Q_FUNC_INFO << "Invalid ADSH!";h->end(); // <-- This is where the crash happened.From what i gathered the session was getting closed from the remote party as well when this happened.Do you have any insight of what i might be checking?thanks in advance
_______________________________________________
resiprocate-users mailing list
resiprocate-users@resiprocate.org
List Archive: http://list.resiprocate.org/archive/resiprocate-users/