[Home]

Summary:ASTERISK-26519: MemLeak: confbridge/conf_config_parser.c
Reporter:Badalian Vyacheslav (slavon)Labels:
Date Opened:2016-10-29 08:14:25Date Closed:2016-10-30 13:39:27
Priority:MinorRegression?
Status:Closed/CompleteComponents:Applications/app_confbridge
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Asterisk git branch "13"

{code}
Direct leak of 4112 byte(s) in 1 object(s) allocated from:
   #0 0x7f1c09773d50 in __interceptor_calloc (/usr/local/lib64/libasan.so.3+0xc1d50)
   #1 0x7f1bc237ab7f in _ast_calloc /usr/src/asterisk/include/asterisk/utils.h:573
   #2 0x7f1bc238191c in add_action_to_menu_entry confbridge/conf_config_parser.c:1106
   #3 0x7f1bc2382340 in add_menu_entry confbridge/conf_config_parser.c:1245
   #4 0x7f1bc238de10 in menu_option_handler confbridge/conf_config_parser.c:2051
   #5 0x5c7bde in aco_process_var /usr/src/asterisk/main/config_options.c:737
   #6 0x5c7daf in aco_process_category_options /usr/src/asterisk/main/config_options.c:750
   #7 0x5c62b7 in process_category /usr/src/asterisk/main/config_options.c:520
   #8 0x5c6756 in internal_process_ast_config /usr/src/asterisk/main/config_options.c:559
   #9 0x5c7356 in aco_process_config /usr/src/asterisk/main/config_options.c:682
   #10 0x7f1bc238ef26 in conf_load_config confbridge/conf_config_parser.c:2160
   #11 0x7f1bc2376f81 in load_module /usr/src/asterisk/apps/app_confbridge.c:3927
   #12 0x674ccc in start_resource /usr/src/asterisk/main/loader.c:1026
   #13 0x676e24 in load_resource_list /usr/src/asterisk/main/loader.c:1290
   #14 0x677dd3 in load_modules /usr/src/asterisk/main/loader.c:1451
   #15 0x4944e5 in asterisk_daemon /usr/src/asterisk/main/asterisk.c:4615
   #16 0x49382f in main /usr/src/asterisk/main/asterisk.c:4372
   #17 0x7f1c06af2b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)
{code}


Here:
{code}
if (!(b_data->menu = menu_alloc("dialplan"))) {
{code}

But i don't understand logic and can't fix it

Found in tests
{code}
tests/apps/confbridge/confbridge_result
{code}

Found using my test toolkit
{code}
# mkdir /tmp/asterisk_asan
# docker run --rm -it -v /tmp/asterisk_asan:/tmp/asterisk_asan --name asterisk-asan-master slavon/docker-asterisk-testsute-asan:pjproject_2.5.5-testsute_master-asterisk_13
{code}
Comments:By: Asterisk Team (asteriskteam) 2016-10-29 08:14:26.321-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Corey Farrell (coreyfarrell) 2016-10-29 10:54:40.852-0500

The line numbers in your backtrace do not match 13.12.1 or latest of the 13 branch.  Please clarify exactly what commit-ID this bug is being reported against.  Also {{b_data->menu = menu_alloc("dialplan")}} is done in {{func_confbridge_helper}} but your backtrace shows {{add_action_to_menu_entry}} as the leak source.

By: Badalian Vyacheslav (slavon) 2016-10-29 11:41:49.450-0500

yep... i looked to master branch...
{code}
struct conf_menu_action *menu_action = ast_calloc(1, sizeof(*menu_action));
{code}

By: Corey Farrell (coreyfarrell) 2016-10-30 09:35:53.934-0500

Your backtrace does not match Asterisk 13 or master, the line numbers and function names are wrong.

Please run your test again, post a new backtrace and include the output of {{git status --oneline --no-merges --max-count=1}}.  For example on master this currently says:
{noformat}
12bdde6 pjproject_bundled:  Fix issue where "/version.mak" wasn't found
{noformat}

By: Badalian Vyacheslav (slavon) 2016-10-30 13:39:15.885-0500

My mistke. It's error in master branch of PJSIP