< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] DialogUsageManager shutdown.


Thank you Taras!  I have committed this fix.

Best Regards,
Scott 

On Tue, Apr 7, 2015 at 5:11 AM, palladin <p-aladin@xxxxxxxxx> wrote:
Dear resip devels.
resiprocate 1.9.2

Could you please advise with the next issue?
DilaogUsageManager allows to set ServerAuthManager instance. Then, during application shutdown I call DialogUSageManager::shutdown(DumShutdownHandler*).

I have caught an issue when there are half completed auth transations. I mean that dum fills mIncomingFeatureChainMap with raw pointers( DumFeatureChain* ).
After DUM is destroyed - mIncomingFeatureChainMap continues to reference to SharedPtr<DumFeature> list. In my case that was custom AuthManager, inherited from resip::ServerAuthManager. And I've got a crash.
Could you please consider next piece of code, which may help to resolve the issue?

diff --git a/resip/dum/DialogUsageManager.cxx b/resip/dum/DialogUsageManager.cxx
index 1312c86..474ac91 100644
--- a/resip/dum/DialogUsageManager.cxx
+++ b/resip/dum/DialogUsageManager.cxx
@@ -186,6 +186,12 @@ DialogUsageManager::~DialogUsageManager()
        delete mServerPublications.begin()->second;  // Deleting a ServerPublication removes itself from the map
    }

+   for( FeatureChainMap::iterator it = mIncomingFeatureChainMap.begin(), it_end = mIncomingFeatureChainMap.end(); it != it_end; ++it )
+   {
+           delete it->second;
+   }
+
+   mIncomingFeatureChainMap.clear();
    //InfoLog ( << "~DialogUsageManager done" );
 }


Appreciate in advance.
Taras.



_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@resiprocate.org
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel