[Home]

Summary:ASTERISK-25150: chan_pjsip: RLS subscriptions produce leaks
Reporter:Corey Farrell (coreyfarrell)Labels:patch pjsip
Date Opened:2015-06-04 12:53:33Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Channels/chan_pjsip Resources/res_pjsip_pubsub
Versions:13.18.5 GIT 15.1.5 Frequency of
Occurrence
Related
Issues:
must be completed before resolvingASTERISK-27306 chan_pjsip: Cannot be tested for memory leaks.
Environment:Attachments:( 0) asterisk-suppress-indirect.patch
( 1) asterisk-suppress-indirect-part-2.patch
( 2) asterisk-suppress-indirect-part-3.patch
( 3) debug-force-core-shutdown.patch
( 4) rls-lists-off_nominal-large_notify.txt
( 5) testsuite-suppress-indirect.patch
Description:A number of RLS tests produce a large number of reference leaks:
||Leaked Objects||Test||
|789|tests/channels/pjsip/subscriptions/rls/lists_of_lists/off_nominal/presence/shared_name_wo_list_support/|
|790|tests/channels/pjsip/subscriptions/rls/lists/off_nominal/presence/resource_duplication/|
|790|tests/channels/pjsip/subscriptions/rls/lists/off_nominal/presence/some_list_resources_exist/|
|791|tests/channels/pjsip/subscriptions/rls/lists/nominal/presence/batched/resubscription_interruption/|
|794|tests/channels/pjsip/subscriptions/rls/lists/nominal/presence/full_state/|
|794|tests/channels/pjsip/subscriptions/rls/lists/nominal/presence/initial_notify/|
|794|tests/channels/pjsip/subscriptions/rls/lists/nominal/presence/partial_state/|
|794|tests/channels/pjsip/subscriptions/rls/lists/nominal/presence/resubscribe_full_state/|
|794|tests/channels/pjsip/subscriptions/rls/lists/nominal/presence/subscription_establishment/|
|794|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/batched/|
|797|tests/channels/pjsip/subscriptions/rls/lists_of_lists/off_nominal/presence/shared_name_w_list_support/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/full_state_alice/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/full_state_carol/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/initial_notify/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/partial_state_alice/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/partial_state_carol/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/resubscribe_full_state/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/presence/subscription_establishment/|
|801|tests/channels/pjsip/subscriptions/rls/lists_of_lists/off_nominal/presence/resource_duplication/|
|810|tests/channels/pjsip/subscriptions/rls/lists_of_lists/nominal/mwi/batched/|
|867|tests/channels/pjsip/subscriptions/rls/lists/off_nominal/large_notify/|

This is based on a test run against:
[Asterisk 255f6954|https://code.asterisk.org/code/changelog/asterisk?cs=255f695434359c11ff14b0008bf1707435d42a79]
[Testsuite 13073c2c|https://code.asterisk.org/code/changelog/testsuite-asterisk?cs=13073c2c98f0a3f149661c3e55c1e419391452ff]
Comments:By: Corey Farrell (coreyfarrell) 2015-06-04 12:56:24.608-0500

refs.txt from highest leaking test attached.  I tried looking at this briefly but I don't know if the testsuite or Asterisk is leaking, I had trouble following the testsuite code.

By: Rusty Newton (rnewton) 2015-06-05 17:56:15.473-0500

I think [~jrose] is looking into this already.

Jrose, if not, feel free to unassign yourself.

By: Corey Farrell (coreyfarrell) 2017-12-28 12:54:18.662-0600

I've updated this ticket to reflect the fact that it is Asterisk which is leaking, not just the test.

By: Corey Farrell (coreyfarrell) 2018-09-13 14:19:42.059-0500

debug-force-core-shutdown.patch greatly reduces the number of reported leaks by running all shutdown in main/*.c, ignoring the fact that res_pjsip modules failed to unload.

The patch is not for production use, it allows possible shutdown race where still running modules could can crash by calling core API's that have been cleaned up.

By: Corey Farrell (coreyfarrell) 2018-09-13 16:03:40.105-0500

The suppress-indirect patches should be considered very experimental, especially the Asterisk part-2 patch.  In my local tests it reduces the refs.txt for tests/channels/pjsip/subscriptions/rls/lists_of_lists/off_nominal/mwi/shared_name_w_list_support from 9616 lines to 3205 lines (though it does not reduce the number of leaked objects reported).