[OpenSIPS-Users] Crash in db_mysql

Muhammad Shahzad shaheryarkh at gmail.com
Thu Feb 14 14:00:15 CET 2013


I had this core file overwriting problem about a year ago and i fixed it by
setting linux kernel core pattern. It really helps me in identifying the
correct core file to debug. You can do it too by setting something like
below in sysctl.conf,

kernel.core_pattern=/tmp/core.%e.%p.%h.%t

OR run below command,

echo "/tmp/cores/core.%e.%p.%h.%t" > /proc/sys/kernel/core_pattern

Interesting switches that can be used are,

%p: pid
%u: uid
%g: gid
%s: signal number
%t: UNIX time of dump
%h: hostname
%e: executable filename

Thank you.


On Thu, Feb 14, 2013 at 12:18 PM, Brett Nemeroff <brett at nemeroff.com> wrote:

> 1.8.2-notls (x86_64/linux)
> svnrevision: 2:9777M
>
>
> On Thu, Feb 14, 2013 at 2:01 AM, Muhammad Shahzad <shaheryarkh at gmail.com>wrote:
>
>> Please specify opensips version / revision.
>>
>> Thank you.
>>
>>
>> On Thu, Feb 14, 2013 at 8:13 AM, Brett Nemeroff <brett at nemeroff.com>wrote:
>>
>>> Hey all,
>>> I'm running into a crash. Same thing hits over and over. Not sure what's
>>> causing it.. Here's a bt:
>>>
>>> Program terminated with signal 11, Segmentation fault.
>>> #0  0x00007f33ce3339b9 in db_mysql_val2bind (v=0x7f330fa18cc0,
>>> binds=0x7f33ce88cf00, i=33) at val.c:297
>>> 297 *(binds[i].is_null) = 0;
>>> Missing separate debuginfos, use: debuginfo-install
>>> glibc-2.12-1.80.el6_3.7.x86_64 hiredis-0.10.1-3.el6.x86_64
>>> json-c-0.10-2.el6.x86_64 keyutils-libs-1.4-4.el6.x86_64
>>> krb5-libs-1.9-33.el6_3.3.x86_64 libcom_err-1.41.12-12.el6.x86_64
>>> libmemcached-0.31-1.1.el6.x86_64 libselinux-2.0.94-5.3.el6.x86_64
>>> mysql-libs-5.1.67-1.el6_3.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64
>>> openssl-1.0.0-25.el6_3.1.x86_64 zlib-1.2.3-27.el6.x86_64
>>> (gdb) bt full
>>> #0  0x00007f33ce3339b9 in db_mysql_val2bind (v=0x7f330fa18cc0,
>>> binds=0x7f33ce88cf00, i=33) at val.c:297
>>>         t = <value optimized out>
>>>         mt = <value optimized out>
>>>         __FUNCTION__ = "db_mysql_val2bind"
>>> #1  0x00007f33ce32d34c in db_mysql_do_prepared_query
>>> (conn=0x7f33ce88cd68, v=<value optimized out>, n=36, uv=<value optimized
>>> out>, un=0, query=0x7f33ce5477b0) at dbase.c:584
>>>         i = 33
>>>         j = <value optimized out>
>>>         code = <value optimized out>
>>>         cols = <value optimized out>
>>>         pq_ptr = 0x7f33ce88cec0
>>>         ctx = 0x7f33ce88e310
>>>         mysql_bind = 0x7f33ce88cf00
>>>         start = {tv_sec = 139860479483003, tv_usec = 5334081}
>>>         buffered_rows = 0x0
>>> #2  0x00007f33ce32fcae in db_mysql_insert (_h=0x7f33ce88cd68,
>>> _k=0x7f330d73197b, _v=0x7f330fa188a0, _n=36) at dbase.c:1028
>>>         ret = <value optimized out>
>>> #3  0x0000000000517729 in flush_query_list () at db/db_insertq.c:133
>>>         it = 0x7f330d7318a0
>>>         my_ps = 0x7f33ce88cec0
>>>         i = <value optimized out>
>>>         __FUNCTION__ = "flush_query_list"
>>> #4  0x000000000051799c in handle_ql_shutdown () at db/db_insertq.c:170
>>> No locals.
>>> #5  0x000000000042c2c1 in cleanup (show_status=1) at main.c:347
>>>         __FUNCTION__ = "cleanup"
>>>
>>>
>>> and in case you need it:
>>> (gdb) print *binds
>>> $1 = {length = 0x7f33ce88dd70, is_null = 0x7f33ce88dd78 "", buffer =
>>> 0x7f330fa18d20, error = 0x0, row_ptr = 0x0, store_param_func = 0,
>>> fetch_result = 0, skip_result = 0, buffer_length = 0, offset = 0,
>>>   length_value = 0, param_number = 0, pack_length = 0, buffer_type =
>>> MYSQL_TYPE_STRING, error_value = 0 '\000', is_unsigned = 0 '\000',
>>> long_data_used = 0 '\000', is_null_value = 0 '\000',
>>>   extension = 0x0}
>>>
>>> (gdb) print binds[33]
>>> $2 = {length = 0x6, is_null = 0x0, buffer = 0x18, error = 0x0, row_ptr =
>>> 0x16 <Address 0x16 out of bounds>, store_param_func = 0, fetch_result =
>>> 0x25, skip_result = 0, buffer_length = 3, offset = 0,
>>>   length_value = 2, param_number = 0, pack_length = 0, buffer_type = 40,
>>> error_value = 0 '\000', is_unsigned = 0 '\000', long_data_used = 0 '\000',
>>> is_null_value = 0 '\000', extension = 0x0}
>>> (gdb)
>>>
>>>
>>> Please let me know if you need any further testing. Thanks!!!
>>> -Brett
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>
>>
>> --
>> Muhammad Shahzad
>> -----------------------------------
>> CISCO Rich Media Communication Specialist (CRMCS)
>> CISCO Certified Network Associate (CCNA)
>> Cell: +49 176 99 83 10 85
>> MSN: shari_786pk at hotmail.com
>> Email: shaheryarkh at googlemail.com
>>
>> _______________________________________________
>> 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
>
>


-- 
Muhammad Shahzad
-----------------------------------
CISCO Rich Media Communication Specialist (CRMCS)
CISCO Certified Network Associate (CCNA)
Cell: +49 176 99 83 10 85
MSN: shari_786pk at hotmail.com
Email: shaheryarkh at googlemail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130214/991548a1/attachment-0001.htm>


More information about the Users mailing list