Summary:ASTERISK-20434: Asterisk Core Dumps when reloading res_phoneprov.so
Reporter:pta200 (pta200)Labels:
Date Opened:2012-09-17 15:07:54Date Closed:2017-09-14 14:53:24
Versions: Frequency of
Environment:64bit Centos 5.8 IBM System x3250 M4Attachments:( 0) backtrace.txt
( 1) phoneprov-files.zip
Description:Asterisk Core Dumps when calling  "module reload res_phoneprov.so" if the polycom profile use the PP_EACH_EXTENSION to build multi line key registrations. It will also eventually happen when calling unload/load on res_phoneprov.so. The gdb output is as follows:

Program terminated with signal 6, Aborted.
#0  0x0000003d2d030285 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x0000003d2d030285 in raise () from /lib64/libc.so.6
#1  0x0000003d2d031d30 in abort () from /lib64/libc.so.6
#2  0x0000003d2d06971b in __libc_message () from /lib64/libc.so.6
#3  0x0000003d2d0711df in _int_free () from /lib64/libc.so.6
#4  0x0000003d2d07163b in free () from /lib64/libc.so.6
#5  0x00002aaab91494b6 in delete_extension (obj=<value optimized out>) at res_phoneprov.c:688
#6  user_destructor (obj=<value optimized out>) at res_phoneprov.c:796
#7  0x000000000043ce73 in internal_ao2_ref (user_data=0x2aaaac0e7528, delta=10290) at astobj2.c:267
#8  0x00002aaab914bb9c in unref_user () at res_phoneprov.c:760
#9  delete_users () at res_phoneprov.c:815
#10 reload () at res_phoneprov.c:1326
#11 0x00000000004c5f18 in ast_module_reload (name=0x2aaaac0fb44e "res_phoneprov.so") at loader.c:752
#12 0x000000000047c280 in handle_reload (e=<value optimized out>, cmd=10290, a=0x42ce58e0) at cli.c:296
#13 0x0000000000478d90 in ast_cli_command_full (uid=0, gid=0, fd=17, s=0x42ce5960 "module reload res_phoneprov.so") at cli.c:2510
#14 0x0000000000478fab in ast_cli_command_multiple_full (uid=0, gid=0, fd=17, size=31, s=0x42ce5dc0 "module reload res_phoneprov.so")
   at cli.c:2533
#15 0x00000000004362a9 in netconsole (vconsole=<value optimized out>) at asterisk.c:1301
#16 0x00000000005383ec in dummy_start (data=<value optimized out>) at utils.c:1008
#17 0x0000003d2dc0677d in start_thread () from /lib64/libpthread.so.0
#18 0x0000003d2d0d3c1d in clone () from /lib64/libc.so.6

Asterisk CLI output is as follows:
lic-pbx1*CLI> module reload res_phoneprov.so
lic-pbx1*CLI> *** glibc detected *** /usr/sbin/asterisk: free(): invalid pointer: 0x0000000004087a10 ***

Comments:By: pta200 (pta200) 2012-09-17 15:13:56.395-0500

This includes the configuration files and polycom templates. The users.conf actually contains 78 extensions, but for sake of simplifying the file the two extensions that comprise the multiple line keys on the same phone and one additional extension on a separate phone.

By: pta200 (pta200) 2012-09-17 15:32:18.391-0500

To further clarify, Asterisk starts up fine. Asterisk will only core dump when issuing module reload after at least one configuration file has been downloaded. If no configurations files have been downloaded the a reload works fine.

uname -a output is:
Linux lic-pbx1 2.6.18-308.13.1.el5 #1 SMP Tue Aug 21 17:10:18 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

By: Rusty Newton (rnewton) 2012-09-17 16:15:58.995-0500

Thank you for your bug report. In order to move your issue forward, we require a backtrace[1] from the core file produced after the crash. Also, be sure you have DONT_OPTIMIZE enabled in menuselect within the Compiler Flags section, then:

make install

After enabling, reproduce the crash, and then execute the backtrace[1] instructions. When complete, attach that file to this issue report.

[1] https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

Your current backtrace has values optimized out. It's use may be limited. Once you have recompiled, get a new backtrace following the steps at the link above and then attach to the issue.

By: pta200 (pta200) 2012-09-17 16:30:04.752-0500

Requested bactrace

By: Matt Jordan (mjordan) 2012-10-17 08:19:56.691-0500

Please click "Send Back" after providing feedback.  Otherwise, an issue remains in "Waiting for Feedback" and it may slip off of the Triage radar.  Thanks!

By: Matt Jordan (mjordan) 2012-10-17 08:21:22.004-0500

Please note that res_phoneprov is an extended support module [1], and development support for it typically comes from Asterisk developer community.  Response times may reflect that.

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States

By: Sean Bright (seanbright) 2017-09-14 14:53:24.505-0500

This module has changed significantly since was released and I am doubtful that this is reproducible in Asterisk 13 (the oldest currently supported version of Asterisk).

If you are able to reproduce this crash with Asterisk 13 or newer, please feel free to re-open.