[Home]

Summary:ASTERISK-27306: chan_pjsip: Cannot be tested for memory leaks.
Reporter:Corey Farrell (coreyfarrell)Labels:
Date Opened:2017-10-03 16:15:48Date Closed:
Priority:MajorRegression?
Status:In Progress/In ProgressComponents:Channels/chan_pjsip
Versions:13.17.2 14.6.2 GIT 15.0.0 Frequency of
Occurrence
Related
Issues:
cannot be resolved before completion ofASTERISK-25150 chan_pjsip: RLS subscriptions produce leaks
cannot be resolved before completion ofASTERISK-27331 Jenkins: Reimplement REF_DEBUG testing.
is related toASTERISK-26518 Error loading module 'res_pjsip.so': undefined symbol: ast_sip_session_register_supplement
is related toASTERISK-27358 res_pjsip: endpt_send_request leaks
Environment:Attachments:( 0) refleaks-summary.txt
( 1) refleaks-summary-oct8.txt
( 2) refs-fix1.txt
Description:Every single test in {{tests/channels/pjsip/basic_calls}} produces thousands of AO2 leaks (tested against 13).  Although most of these are likely just a failure to cleanup at shutdown it makes it impossible to test for truly harmful leaks.

At asteridevcon it was asked what is holding people back from using chan_pjsip - this is the blocker for me.  I've tried working on this but have not had success addressing the issues.

*This ticket will be closed each time any commit is merged, but should not be considered resolved until I post a comment saying so.*
Comments:By: Corey Farrell (coreyfarrell) 2017-10-03 20:11:39.533-0500

Summary of leaks produced by PJSIP basic_calls tests against Asterisk 13.

By: Corey Farrell (coreyfarrell) 2017-10-04 02:46:40.266-0500

refs-fix1.txt contains the leaks that remain after fixing a circular reference between res_pjsip and res_pjsip_session which prevented the modules from shutting down.

By: Friendly Automation (friendly-automation) 2017-10-06 05:58:58.138-0500

Change 6655 merged by Jenkins2:
res_pjsip: Fix leak of fake_auth references.

[https://gerrit.asterisk.org/6655|https://gerrit.asterisk.org/6655]

By: Friendly Automation (friendly-automation) 2017-10-06 06:15:22.567-0500

Change 6654 merged by Jenkins2:
res_pjsip: Fix leak of fake_auth references.

[https://gerrit.asterisk.org/6654|https://gerrit.asterisk.org/6654]

By: Friendly Automation (friendly-automation) 2017-10-06 06:19:52.018-0500

Change 6653 merged by Jenkins2:
res_pjsip: Fix leak of fake_auth references.

[https://gerrit.asterisk.org/6653|https://gerrit.asterisk.org/6653]

By: Friendly Automation (friendly-automation) 2017-10-06 06:49:06.624-0500

Change 6656 merged by Jenkins2:
res_pjsip: Fix leak of fake_auth references.

[https://gerrit.asterisk.org/6656|https://gerrit.asterisk.org/6656]

By: Corey Farrell (coreyfarrell) 2017-10-08 09:54:53.218-0500

I've attached the latest summary of leaks from all of tests/channels/pjsip run with all of my patches applied.

Please note this was produced from a copy of Asterisk that has been modified to allow refcounter.py to detect many "indirect" memory leaks, this summary lists counts of "direct" leaks: references that were not recorded as belonging to another AO2 object.  The actual counts are (much) higher.  I have not posted any refs.txt files since many line numbers do not match any version of Asterisk.

By: Friendly Automation (friendly-automation) 2017-10-09 12:02:40.166-0500

Change 6673 merged by Joshua Colp:
res_sdp_translator_pjmedia: Fix test unregistration.

[https://gerrit.asterisk.org/6673|https://gerrit.asterisk.org/6673]

By: Friendly Automation (friendly-automation) 2017-10-09 12:11:12.801-0500

Change 6672 merged by Jenkins2:
res_sdp_translator_pjmedia: Fix test unregistration.

[https://gerrit.asterisk.org/6672|https://gerrit.asterisk.org/6672]

By: Friendly Automation (friendly-automation) 2017-10-09 15:17:30.954-0500

Change 6660 merged by Jenkins2:
res_pjsip: Fix leak of persistent endpoint references.

[https://gerrit.asterisk.org/6660|https://gerrit.asterisk.org/6660]

By: Friendly Automation (friendly-automation) 2017-10-09 15:25:28.866-0500

Change 6657 merged by Jenkins2:
res_pjsip: Fix leak of persistent endpoint references.

[https://gerrit.asterisk.org/6657|https://gerrit.asterisk.org/6657]

By: Friendly Automation (friendly-automation) 2017-10-09 15:25:32.237-0500

Change 6659 merged by Jenkins2:
res_pjsip: Fix leak of persistent endpoint references.

[https://gerrit.asterisk.org/6659|https://gerrit.asterisk.org/6659]

By: Friendly Automation (friendly-automation) 2017-10-09 15:38:10.915-0500

Change 6658 merged by Jenkins2:
res_pjsip: Fix leak of persistent endpoint references.

[https://gerrit.asterisk.org/6658|https://gerrit.asterisk.org/6658]

By: Friendly Automation (friendly-automation) 2017-10-09 16:23:40.263-0500

Change 6678 merged by Jenkins2:
res_pjsip_session: Fix format_cap leak.

[https://gerrit.asterisk.org/6678|https://gerrit.asterisk.org/6678]

By: Friendly Automation (friendly-automation) 2017-10-09 16:34:17.836-0500

Change 6679 merged by Jenkins2:
res_pjsip_session: Fix format_cap leak.

[https://gerrit.asterisk.org/6679|https://gerrit.asterisk.org/6679]

By: Friendly Automation (friendly-automation) 2017-10-09 17:30:05.365-0500

Change 6647 merged by Jenkins2:
res_pjsip: Fix issues that prevented shutdown of modules.

[https://gerrit.asterisk.org/6647|https://gerrit.asterisk.org/6647]

By: Friendly Automation (friendly-automation) 2017-10-09 17:46:50.073-0500

Change 6693 merged by Jenkins2:
res_pjsip: Fix issues that prevented shutdown of modules.

[https://gerrit.asterisk.org/6693|https://gerrit.asterisk.org/6693]

By: Friendly Automation (friendly-automation) 2017-10-09 17:51:50.931-0500

Change 6692 merged by Jenkins2:
res_pjsip: Fix issues that prevented shutdown of modules.

[https://gerrit.asterisk.org/6692|https://gerrit.asterisk.org/6692]

By: Friendly Automation (friendly-automation) 2017-10-09 20:19:58.958-0500

Change 6649 merged by Jenkins2:
res_pjsip: Fix issues that prevented shutdown of modules.

[https://gerrit.asterisk.org/6649|https://gerrit.asterisk.org/6649]

By: Friendly Automation (friendly-automation) 2017-10-10 08:13:05.186-0500

Change 6713 merged by Jenkins2:
res_pjproject: Fix cleanup of buildopts vector.

[https://gerrit.asterisk.org/6713|https://gerrit.asterisk.org/6713]

By: Friendly Automation (friendly-automation) 2017-10-10 08:13:16.940-0500

Change 6716 merged by Jenkins2:
res_pjproject: Fix cleanup of buildopts vector.

[https://gerrit.asterisk.org/6716|https://gerrit.asterisk.org/6716]

By: Friendly Automation (friendly-automation) 2017-10-10 08:31:16.361-0500

Change 6714 merged by Jenkins2:
res_pjproject: Fix cleanup of buildopts vector.

[https://gerrit.asterisk.org/6714|https://gerrit.asterisk.org/6714]

By: Friendly Automation (friendly-automation) 2017-10-10 09:47:28.938-0500

Change 6715 merged by Joshua Colp:
res_pjproject: Fix cleanup of buildopts vector.

[https://gerrit.asterisk.org/6715|https://gerrit.asterisk.org/6715]

By: Friendly Automation (friendly-automation) 2017-10-10 12:28:52.236-0500

Change 6648 merged by Jenkins2:
res_pjsip: Add REF_DEBUG info to module references.

[https://gerrit.asterisk.org/6648|https://gerrit.asterisk.org/6648]