On March 24, 2015, 3:11 p.m., Corey Farrell wrote: > > While testing res_pjsip_outbound_registration I wanted to see if a frack > > would occur while unloading during registration attempts, but instead > > Asterisk crashed after unloading. I believe this is due to the module > > unloading, yet pjsip is still attempting to register to a non existent > > remote server. After a timeout it then attempts to call back into the > > module, which has now been unloaded. > > > > A similar thing occurred with res_pjsip_outbound_publish and some code was > > put into place that makes the module wait to fully unload until all > > registration attempts are complete. Something similar will need to be done > > here for outbound registrations. > > > > That being said if you feel that fixing this is outside the scope of the > > changes found here then an issue can be made so it can be fixed at a later > > time. > > Corey Farrell wrote: > So 'module unload res_pjsip_outbound_registration.so' is outside the > scope of these changes, since this does not change the conditions that allow > 'dlclose' to be run on any module. The modules that previously could not > unload are now set to unload during shutdown only, meaning they will never > have dlclose run on them.
I'll create on issue for it then. - Kevin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4498/#review14807 ----------------------------------------------------------- On March 24, 2015, 4:06 p.m., Corey Farrell wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4498/ > ----------------------------------------------------------- > > (Updated March 24, 2015, 4:06 p.m.) > > > Review request for Asterisk Developers. > > > Bugs: ASTERISK-24731 > https://issues.asterisk.org/jira/browse/ASTERISK-24731 > > > Repository: Asterisk > > > Description > ------- > > This patch allows all PJSIP modules to shutdown cleanly, once approved we'll > be able enable it in the Bamboo Reference Checks Job. > > * Move most of res_pjsip:module_unload to unload_pjsip to resolve crashes > caused by running PJSIP functions from non-PJSIP threads. > * Remove call to pjsip_endpt_destroy(ast_pjsip_endpoint), it was causing > crashes in some cases. In theory pj_shutdown() should take care of this for > us. > * Mark res_pjsip_keepalive and res_pjsip_session as allowed to unload at > shutdown. > * Resolve leaked config global in res_pjsip_notify. > * Unregister pubsub pjsip service module. > * Implement cleanup for res_pjsip_session. > * Fix a pre-existing FRACK in res_pjsip_outbound_registration. > > More about res_pjsip_outbound_registration: > tests/channels/pjsip/ami/show_registrations_outbound has an AO2 FRACK during > shutdown. I get this error with or without my patch. I've removed what I > believe is an extra unref, but this doesn't solve all the FRACK's. > > > Diffs > ----- > > /branches/13/res/res_pjsip_session.c 433360 > /branches/13/res/res_pjsip_pubsub.c 433360 > /branches/13/res/res_pjsip_notify.c 433360 > /branches/13/res/res_pjsip_keepalive.c 433360 > /branches/13/res/res_pjsip.c 433360 > > Diff: https://reviewboard.asterisk.org/r/4498/diff/ > > > Testing > ------- > > All of tests/channels/pjsip. Some tests still have reference leaks, but most > tests do not. > > Can someone retest tests/channels/pjsip/ami/show_registrations_outbound to > confirm that I haven't made it worse? Seems to make no difference on my > system, but Bamboo doesn't seem to have a problem with this test. > > > Thanks, > > Corey Farrell > >
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev