[OpenSIPS-Users] db_mysql segfault

Mark Carbonaro mark at iovox.com
Wed Mar 30 12:07:32 CEST 2011


Hi Vlad,

Thanks again for looking into this issue, you were spot on the mysql 
library was different on each server and it came down to the order in 
which the packages were installed.

Just in case anyone else has this issue you need to installed 
mysql-devel last, due to an issue with error message files I reinstalled 
mysql-libs and mysql again.  When I did this it was the source of the 
issue as it over wrote libmysqlclient.  So by reinstall mysql-devel and 
recompiling everything (a re-compile was required) it now works correctly.

Regards,
Mark

On 03/30/11 20:22, Mark Carbonaro wrote:
> Thanks, I'll look into the mysql library and see what I can find.
>
> Mark
>
> On 03/29/11 22:22, Vlad Paiu wrote:
>> Hi,
>>
>> Just took a look at the code and it seems to be a problem somehow 
>> related with the mysql library on your machine.
>> At startup, OpenSIPS tries to fetch all dialog info from DB, and it 
>> first gets the column names and column types from the dialog table. 
>> It seems that in your case, the mysql library can only succesfully 
>> fetch the first column name ( hash_entry ), and then returns NULL for 
>> the second column name, which causes OpenSIPS to crash, because the 
>> case where a column name is NULL is bogus and should never happen.
>>
>> Could you maybe try to reinstall your mysql library or double check 
>> the fact that are no related problems to it ?
>>
>>
>> Regards,
>> -- 
>> Vlad Paiu
>> OpenSIPS Developer
>>
>>
>> On 03/29/2011 12:53 PM, Mark Carbonaro wrote:
>>> Hi Vlad,
>>>
>>> Thanks for the reply, below is the output of "bt full".
>>>
>>> Mark
>>>
>>> #0  0x00007fb9cd8cde57 in db_mysql_get_columns (_h=<value optimized 
>>> out>,
>>>     _r=0x796490) at res.c:71
>>>         col = 1
>>>         fields = <value optimized out>
>>>         __FUNCTION__ = "db_mysql_get_columns"
>>> #1  0x00007fb9cd8c7e36 in db_mysql_fetch_result (_h=0x7962c8,
>>>     _r=0x7fff2a4a3e68, nrows=128) at dbase.c:849
>>>         rows = <value optimized out>
>>>         i = <value optimized out>
>>>         __FUNCTION__ = "db_mysql_fetch_result"
>>> #2  0x00007fb9cbf94889 in select_entire_dialog_table (
>>>     dlg_hash_size=<value optimized out>) at dlg_db_handler.c:232
>>>         __FUNCTION__ = "select_entire_dialog_table"
>>> #3  load_dialog_info_from_db (dlg_hash_size=<value optimized out>)
>>>     at dlg_db_handler.c:385
>>>         res = 0x796490
>>>         values = <value optimized out>
>>>         rows = <value optimized out>
>>>         i = <value optimized out>
>>>         nr_rows = <value optimized out>
>>>         dlg = <value optimized out>
>>>         callid = {s = 0x3c <Address 0x3c out of bounds>, len = 
>>> -870573728}
>>>         from_uri = {s = 0xb <Address 0xb out of bounds>, len = 5153101}
>>> ---Type <return> to continue, or q <return> to quit---
>>>         to_uri = {s = 0x1000 <Address 0x1000 out of bounds>, len = 1}
>>>         from_tag = {s = 0x4 <Address 0x4 out of bounds>, len = 
>>> -870574432}
>>>         to_tag = {s = 0x7fb9cc1c1960 "\264S\005\315\271\177", len = 
>>> -870574432}
>>>         cseq1 = {s = 0x7fff2a4a3dc0 "\270*S", len = -846407113}
>>>         cseq2 = {s = 0x7fff2a4a3db0 "\303*S", len = -870577568}
>>>         contact1 = {s = 0x7962c8 "\240\026\034??\177", len = 7955600}
>>>         contact2 = {s = 0x532ac9 "version", len = 7}
>>>         rroute1 = {s = 0x532ab8 "table_name", len = 10}
>>>         rroute2 = {s = 0x532ac3 "table_version", len = 13}
>>>         next_id = <value optimized out>
>>>         __FUNCTION__ = "load_dialog_info_from_db"
>>> #4  0x00007fb9cbf961a8 in init_dlg_db (db_url=<value optimized out>,
>>>     dlg_hash_size=4096, db_update_period=60) at dlg_db_handler.c:182
>>>         __FUNCTION__ = "init_dlg_db"
>>> #5  0x00007fb9cbf9046e in mod_init () at dialog.c:696
>>>         __FUNCTION__ = "mod_init"
>>> #6  0x000000000047b242 in init_mod (m=0x797788) at sr_module.c:457
>>>         __FUNCTION__ = "init_mod"
>>> #7  0x000000000047b1bf in init_mod (m=0x797ac8) at sr_module.c:452
>>>         __FUNCTION__ = "init_mod"
>>> #8  0x000000000047b1bf in init_mod (m=0x797b98) at sr_module.c:452
>>>         __FUNCTION__ = "init_mod"
>>> #9  0x000000000042b0c1 in main (argc=<value optimized out>,
>>> ---Type <return> to continue, or q <return> to quit---
>>>     argv=0x7fff2a4a4168) at main.c:1356
>>>         cfg_log_stderr = 0
>>>         cfg_stream = 0x1a09010
>>>         c = <value optimized out>
>>>         r = <value optimized out>
>>>         tmp = 0x50bd87 "H\215\005.\365#"
>>>         tmp_len = <value optimized out>
>>>         port = <value optimized out>
>>>         proto = <value optimized out>
>>>         ret = <value optimized out>
>>>         seed = 4201309582
>>>         rfd = <value optimized out>
>>>         __FUNCTION__ = "main"
>>>
>>>
>>> On 03/29/11 20:39, Vlad Paiu wrote:
>>>> Hello Mark,
>>>>
>>>> If you still have the core dump, could you please do
>>>>     gdb /path_to_opensips_binary path_to_core_file
>>>>
>>>> /and reply with the output of
>>>>     bt full
>>>>
>>>> Thanks.
>>>>
>>>>
>>>> Regards,
>>>> -- 
>>>> Vlad Paiu
>>>> OpenSIPS Developer
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110330/c34f874c/attachment.htm>


More information about the Users mailing list