Review Board 1.7.16


res_pjsip: Enable unload of all modules at shutdown

Review Request #4498 - Created March 16, 2015 and submitted

Corey Farrell
13, trunk
ASTERISK-24731
Reviewers
asterisk-dev
Asterisk
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.
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.
Total:
1
Open:
0
Resolved:
1
Dropped:
0
Status:
From:
Review request changed
Updated (March 26, 2015, 1:24 p.m.)
  • changed from pending to submitted
Committed in revision 433490

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.