[asterisk-bugs] [JIRA] (ASTERISK-26620) Segmentation fault in __ast_string_field_alloc_space called from res_digium_phone.so

Namezero (JIRA) noreply at issues.asterisk.org
Fri Dec 2 02:11:10 CST 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=233987#comment-233987 ] 

Namezero commented on ASTERISK-26620:
-------------------------------------

I can provide more debug information if required.
However, I believe the problem is in the DPMA module. We reload the module up to 100 times daily; often in short intervals, as every user login on a phone results in a reconfig.

The last crash happened from the DPMA module in malloc_consolidate(); a telltale signe for me that DPMA trashed memory:

===========================================================================
#0  0x00007fe78086ca53 in malloc_consolidate () from /lib64/libc.so.6                                                                                                                                                                                                         
#1  0x00007fe78086f3d8 in _int_free () from /lib64/libc.so.6                                                                                                                                                                                                                  
#2  0x00007fe73171a0c3 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
#3  0x00007fe73171a779 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
#4  0x00007fe73171e12f in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
#5  0x00007fe73171ed49 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
#6  0x00007fe7317029f0 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
#7  0x00000000004eec98 in ast_module_reload (name=0x7fe68805ab7e "res_digium_phone.so") at loader.c:771                                                                                                                                                                       
#8  0x0000000000492b69 in handle_reload (e=<value optimized out>, cmd=<value optimized out>, a=0x7fe725659d90) at cli.c:296                                                                                                                                                   
#9  0x000000000049592e in ast_cli_command_full (uid=-1, gid=-1, fd=74, s=0x7fe6881675f9 "module reload res_digium_phone.so") at cli.c:2560                                                                                                                                    
#10 0x0000000000506ac0 in action_command (s=0x7fe72565aba0, m=0x7fe72565a2e0) at manager.c:3893                                                                                                                                                                               
#11 0x0000000000509dfe in process_message (s=0x7fe72565aba0, m=0x7fe72565a2e0) at manager.c:5123                                                                                                                                                                              
#12 0x000000000050cc1c in do_message (data=0x7fe760000cf8) at manager.c:5336                                                                                                                                                                                                  
#13 session_do (data=0x7fe760000cf8) at manager.c:5451                                                                                                                                                                                                                        
#14 0x0000000000566296 in handle_tcptls_connection (data=0x7fe760000cf8) at tcptls.c:272                                                                                                                                                                                      
#15 0x0000000000573468 in dummy_start (data=<value optimized out>) at utils.c:1028                                                                                                                                                                                            
#16 0x00007fe77f36c851 in start_thread () from /lib64/libpthread.so.0                                                                                                                                                                                                         
#17 0x00007fe7808df11d in clone () from /lib64/libc.so.6
===========================================================================

Do you have contact to someone at Digium? They refuse to look at DPMA issues when issued merely a bug report.

Thanks for the tip with the version switch. Our FreePBX version has some customizations; e.g. locale-dependent announcements, extra hints, etc. This version only supports switching to older Asterisk versions. I will discuss the repercussions of a full upgrade with the team; I will advise then.



> Segmentation fault in __ast_string_field_alloc_space called from res_digium_phone.so
> ------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-26620
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26620
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>    Affects Versions: 11.2.1
>         Environment: CentOS 5 / FreePBX
>            Reporter: Namezero
>            Assignee: Unassigned
>
> When issuing a "module reload res_digium_phone.so", asterisk segfaults in __ast_string_field_alloc_space. This happens sporadically; and not on every reload.
> DPMA version is 3.2. This issue did not occur with version 1.4.
> The core dump backtrace always looks as follows:
> {noformat}
> #0  __ast_string_field_alloc_space (mgr=0x355cbb0, pool_head=0x355cae8, needed=4) at utils.c:1748                                                                                                                                                                             
> #1  0x00007ff2c0c68eeb in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
> #2  0x00007ff2c0c784b9 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
> #3  0x00007ff2c0c78a9a in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
> #4  0x00007ff2c0c79d49 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
> #5  0x00007ff2c0c5d9f0 in ?? () from /usr/lib64/asterisk/modules/res_digium_phone.so                                                                                                                                                                                          
> #6  0x00000000004eec98 in ast_module_reload (name=0x7ff20c011eee "res_digium_phone.so") at loader.c:771                                                                                                                                                                       
> #7  0x0000000000492b69 in handle_reload (e=<value optimized out>, cmd=<value optimized out>, a=0x7ff2b5015d90) at cli.c:296                                                                                                                                                   
> #8  0x000000000049592e in ast_cli_command_full (uid=-1, gid=-1, fd=68, s=0x7ff20c0053b9 "module reload res_digium_phone.so") at cli.c:2560                                                                                                                                    
> #9  0x0000000000506ac0 in action_command (s=0x7ff2b5016ba0, m=0x7ff2b50162e0) at manager.c:3893                                                                                                                                                                               
> #10 0x0000000000509dfe in process_message (s=0x7ff2b5016ba0, m=0x7ff2b50162e0) at manager.c:5123                                                                                                                                                                              
> #11 0x000000000050cc1c in do_message (data=0x7ff2f0000f08) at manager.c:5336                                                                                                                                                                                                  
> #12 session_do (data=0x7ff2f0000f08) at manager.c:5451                                                                                                                                                                                                                        
> #13 0x0000000000566296 in handle_tcptls_connection (data=0x7ff2f0000f08) at tcptls.c:272                                                                                                                                                                                      
> #14 0x0000000000573468 in dummy_start (data=<value optimized out>) at utils.c:1028                                                                                                                                                                                            
> #15 0x00007ff30ea18851 in start_thread () from /lib64/libpthread.so.0                                                                                                                                                                                                         
> #16 0x00007ff30ff8a11d in clone () from /lib64/libc.so.6 
> {noformat}
> We are currently investigating the possibility of a 1 second pause between writing the configuration file for DPMA and reloading the module.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list