[asterisk-bugs] [Asterisk 0017964]: segfault within libmysqlclient - cmd MYSQL

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Sep 15 15:09:04 CDT 2010


The following issue requires your FEEDBACK. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17964 
====================================================================== 
Reported By:                wuwu
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17964
Category:                   General
Reproducibility:            random
Severity:                   crash
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.2.11 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-09-08 02:13 CDT
Last Modified:              2010-09-15 15:09 CDT
====================================================================== 
Summary:                    segfault within libmysqlclient - cmd MYSQL
Description: 
i am experiencing random segfaults on different asterisk 1.6.2.x (9-10)
versions - always 64bit plattform - mostly centos 5.5 - one debian
version.

the backtrace does look like this

https://issues.asterisk.org/view.php?id=0  0x000072656c6c6143 in ?? ()
https://issues.asterisk.org/view.php?id=1  0x00002aaaaaf22a91 in ?? () from
/usr/lib64/mysql/libmysqlclient.so.15
https://issues.asterisk.org/view.php?id=2  0x00002aaaaaf22e09 in my_net_read ()
from
/usr/lib64/mysql/libmysqlclient.so.15
https://issues.asterisk.org/view.php?id=3  0x00002aaaaaf1c6e2 in cli_safe_read
() from
/usr/lib64/mysql/libmysqlclient.so.15
https://issues.asterisk.org/view.php?id=4  0x00002aaaaaf1d7d9 in ?? () from
/usr/lib64/mysql/libmysqlclient.so.15
https://issues.asterisk.org/view.php?id=5  0x00002aaaaaf1bd1e in
mysql_real_query () from
/usr/lib64/mysql/libmysqlclient.so.15
https://issues.asterisk.org/view.php?id=6  0x00002aaab104397f in mysql_init ()
from
/usr/lib/asterisk/modules/app_addon_sql_mysql.so
https://issues.asterisk.org/view.php?id=7  0x00000000004b288d in pbx_exec
(c=0x2aaaac074570, app=0x2aaab443d180,
data=0x4062f990) at pbx.c:1348
https://issues.asterisk.org/view.php?id=8  0x00000000004bdcdc in
pbx_extension_helper (c=0x2aaaac074570,
con=<value optimized out>, context=0x2aaaac074930 "enterPICA",
exten=0x2aaaac074980 "118899", priority=15, label=0x0, 
    callerid=0x2aaaac07f210 "00436763621526", action=E_SPAWN,
found=0x4063200c, combined_find_spawn=1) at pbx.c:3711
https://issues.asterisk.org/view.php?id=9  0x00000000004c24e2 in
ast_spawn_extension (c=0x2aaaac074570, args=0x0)
at pbx.c:4181
https://issues.asterisk.org/view.php?id=10 __ast_pbx_run (c=0x2aaaac074570,
args=0x0) at pbx.c:4275
https://issues.asterisk.org/view.php?id=11 0x00000000004c3abb in pbx_thread
(data=0x2aaab4498c40) at pbx.c:4562
https://issues.asterisk.org/view.php?id=12 0x00000000004fdfbc in dummy_start
(data=<value optimized out>) at
utils.c:968
https://issues.asterisk.org/view.php?id=13 0x000000384880673d in start_thread ()
from /lib64/libpthread.so.0
https://issues.asterisk.org/view.php?id=14 0x00000038480d3d1d in clone () from
/lib64/libc.so.6

I do make heavy use of the MYSQL functions - in the database there are
also some stored procedures and triggers and functions - also there are
some multi resultset results in my queries (where i only use the first
resultset)

I now don't know exactly - will this be more a libmysqlclient bug - or is
it more a asterisk bug.

The segfault does always show the same backtrace - so it should be more a
libmysql specific bug - or i am wrong ?

Should i do compile the libmysqlclient for myself to get the debugging
symbols ?
====================================================================== 

---------------------------------------------------------------------- 
 (0127010) lmadsen (administrator) - 2010-09-15 15:09
 https://issues.asterisk.org/view.php?id=17964#c127010 
---------------------------------------------------------------------- 
First, your backtrace is not useful. You must compile Asterisk via the
DONT_OPTIMIZE Compiler Flag to make backtraces useful.

Second, you probably shouldn't be using the packaged libmysqlclient
library. It is best to use the latest release compiled from source and link
against that. The same thing is recommended when using unixODBC.

Additionally, I would suggest you not use the MYSQL() dialplan
application. Much more work has gone into res_odbc and func_odbc modules,
and is the recommended method for MySQL interaction from the database. Not
only is it more stable and better supported, your dialplan will become a
lot simpler. In most cases 5-7 lines of dialplan for MYSQL() can be dropped
into a single line since transaction support and all that jazz does not
need to be done explicitly from the dialplan (it is handled by the module). 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-09-15 15:09 lmadsen        Note Added: 0127010                          
2010-09-15 15:09 lmadsen        Status                   new => feedback     
======================================================================




More information about the asterisk-bugs mailing list