Summary: | ASTERISK-27306: chan_pjsip: Cannot be tested for memory leaks. | ||||||||||
Reporter: | Corey Farrell (coreyfarrell) | Labels: | |||||||||
Date Opened: | 2017-10-03 16:15:48 | Date Closed: | |||||||||
Priority: | Major | Regression? | |||||||||
Status: | In Progress/In Progress | Components: | Channels/chan_pjsip | ||||||||
Versions: | 13.17.2 14.6.2 GIT 15.0.0 | Frequency of Occurrence | |||||||||
Related Issues: |
| ||||||||||
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] |