[OpenSIPS-Users] Crash: EOF on 12 (v.1.6.4.2)

James Lamanna jlamanna at gmail.com
Wed Nov 30 00:57:42 CET 2011


Realized I got variables from the wrong frame.

(gdb) print p
$1 = (ua_pres_t *) 0x2aba902bfb00
(gdb) print *p
$2 = {hash_index = 305, local_index = 0, id = {s = 0x2aba902bfc44
"DIALOG_PUBLISHb\374+\220\272*", len = 14},
  pres_uri = 0x2aba902bfc18, event = 64, expires = 1322593862,
desired_expires = 1322593633, flag = 1024,
  db_flag = 0, next = 0x0, ua_flag = 0, etag = {s = 0x2aba9024ccf8
"a.1322544815.24201.3244.293:60604.11",
    len = 26}, tuple_id = {s = 0x0, len = 0}, waiting_reply = 0,
pending_publ = 0x0, to_uri = {s = 0x0,
    len = 0}, watcher_uri = 0x0, call_id = {s = 0x0, len = 0}, to_tag
= {s = 0x0, len = 0}, from_tag = {
    s = 0x0, len = 0}, cseq = 0, version = 29, watcher_count = 0,
outbound_proxy = 0x2aba902bfc52,
  extra_headers = 0x0, record_route = {s = 0x0, len = 0},
remote_contact = {s = 0x0, len = 0}, contact = {
    s = 0x0, len = 0}, cb_param = 0x0}
(gdb) print *p->pres_uri
$3 = {s = 0x2aba902bfc28
"sip:17134608801 at 208.90.184.3DIALOG_PUBLISHb\374+\220\272*", len = 28}
(gdb) print p->pres_uri
$4 = (str *) 0x2aba902bfc18
(gdb) print *p->watcher_uri
Cannot access memory at address 0x0
(gdb) print p->call_id
$5 = {s = 0x0, len = 0}
(gdb) print p->to_tag
$6 = {s = 0x0, len = 0}
(gdb) print p->from_tag
$7 = {s = 0x0, len = 0}

-- James

On Tue, Nov 29, 2011 at 2:16 PM, James Lamanna <jlamanna at gmail.com> wrote:
> Here's probably a more telling BT (Debug=3)
>
> #0  0x00002aba8e563f33 in get_dialog (dialog=0x7fff59e5b5d0,
> hash_code=<value optimized out>) at hash.c:480
> 480                                     if((p->watcher_uri->len== dialog->watcher_uri->len) &&
> (gdb) bt
> #0  0x00002aba8e563f33 in get_dialog (dialog=0x7fff59e5b5d0,
> hash_code=<value optimized out>) at hash.c:480
> #1  0x00002aba8e565108 in update_contact (msg=<value optimized out>,
> str1=<value optimized out>, str2=<value optimized out>) at hash.c:666
> #2  0x0000000000411ccc in do_action (a=0x7c5378, msg=0x7ef758) at action.c:1195
> #3  0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #4  0x00000000004145aa in do_action (a=0x7c6cc0, msg=0x7ef758) at action.c:825
> #5  0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #6  0x00000000004138a8 in run_actions (a=0x7b5fe0, msg=0x7ef758) at action.c:120
> #7  do_action (a=0x7b5fe0, msg=0x7ef758) at action.c:488
> #8  0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #9  0x0000000000413c62 in do_action (a=0x7b6190, msg=0x7ef758) at action.c:819
> #10 0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #11 0x00000000004145aa in do_action (a=0x7b6268, msg=0x7ef758) at action.c:825
> #12 0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #13 0x00000000004145aa in do_action (a=0x7b6f68, msg=0x7ef758) at action.c:825
> #14 0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #15 0x0000000000413c62 in do_action (a=0x7b7118, msg=0x7ef758) at action.c:819
> #16 0x000000000041040e in run_action_list (a=<value optimized out>,
> msg=0x7ef758) at action.c:140
> #17 0x0000000000415886 in run_actions (a=0x7b0d00, msg=0x7ef758) at action.c:120
> #18 run_top_route (a=0x7b0d00, msg=0x7ef758) at action.c:181
> #19 0x000000000046f21c in receive_msg (
>    buf=0x77cbc0 "NOTIFY sip:208.90.184.11;lr SIP/2.0\r\nVia:
> SIP/2.0/UDP 208.90.184.11;branch=z9hG4bKaff5.56547fb7.0\r\nVia:
> SIP/2.0/UDP 208.90.184.6;rport=5060;received=208.90.184.6;branch=z9hG4bKaff5.20317c76.0\r\nTo:
> <si"..., len=713, rcv_info=0x7fff59e5d7b0) at receive.c:162
> #20 0x00000000004c2f3c in udp_rcv_loop () at udp_server.c:492
> #21 0x000000000042e785 in main_loop (argc=<value optimized out>,
> argv=<value optimized out>) at main.c:824
> #22 main (argc=<value optimized out>, argv=<value optimized out>) at main.c:1393
>
>
> And variables:
>
> (gdb) frame 1
> #1  0x00002aba8e565108 in update_contact (msg=<value optimized out>,
> str1=<value optimized out>, str2=<value optimized out>) at hash.c:666
> 666             p= get_dialog(&hentity, hash_code);
> (gdb) print p
> $1 = <value optimized out>
> (gdb) print *p
> Cannot access memory at address 0x0
> (gdb) print *p->pres_uri
> Cannot access memory at address 0x18
> (gdb) print p->pres_uri
> Cannot access memory at address 0x18
> (gdb) print *p->watcher_uri
> Cannot access memory at address 0x88
> (gdb) print p->call_id
> Cannot access memory at address 0x90
> (gdb) print p->to_tag
> Cannot access memory at address 0xa0
> (gdb) print p->from_tag
> Cannot access memory at address 0xb0
>
> -- James
> On Tue, Nov 29, 2011 at 2:20 AM, Bogdan-Andrei Iancu
> <bogdan at opensips.org> wrote:
>> Hi James,
>>
>> It seams that the crash is because of a bogus debug message - do you run
>> opensips in full debug mode (debug=6) ?
>>
>> Anyhow, in gdb, please switch to frame #1 and print the following values:
>>    p
>>    *p
>>    *p->pres_uri
>>    p->pres_uri
>>    *p->watcher_uri
>>    p->call_id
>>    p->to_tag
>>    p->from_tag
>>
>> Thanks and regards,
>> Bogdan
>>
>> On 11/28/2011 09:31 PM, James Lamanna wrote:
>>>
>>> On Mon, Nov 28, 2011 at 12:00 AM, Bogdan-Andrei Iancu
>>> <bogdan at opensips.org>  wrote:
>>>>
>>>> Hi James,
>>>>
>>>> The relevant part is:
>>>>
>>>> Nov 27 18:04:22 opensips2
>>>> /usr/local/sbin/opensips[7275]:INFO:core:handle_sigs: child process 7281
>>>> exited by a signal 11
>>>> Nov 27 18:04:22 opensips2
>>>> /usr/local/sbin/opensips[7275]:INFO:core:handle_sigs: core was generated
>>>>
>>>> As a core file was generate, could you extract the backtrace from it ? (
>>>> use
>>>> gdb as "gdb path_to_opensips_bin path_to_core_file" and run in there
>>>> "bt").
>>>
>>> HI Bogdan,
>>> Here you go:
>>>
>>> Core was generated by `/usr/local/sbin/opensips -P
>>> /var/run/opensips.pid -f /usr/local/etc/opensips/op'.
>>> Program terminated with signal 11, Segmentation fault.
>>> #0  0x00002b79331550c4 in syslog (dialog=0x7fff301988b0,
>>> hash_code=<value optimized out>) at /usr/include/bits/syslog.h:32
>>> 32        return __syslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt,
>>> __va_arg_pack ());
>>> (gdb) bt
>>> #0  0x00002b79331550c4 in syslog (dialog=0x7fff301988b0,
>>> hash_code=<value optimized out>) at /usr/include/bits/syslog.h:32
>>> #1  get_dialog (dialog=0x7fff301988b0, hash_code=<value optimized
>>> out>) at hash.c:471
>>> #2  0x00002b7933156108 in update_contact (msg=<value optimized out>,
>>> str1=<value optimized out>, str2=<value optimized out>) at hash.c:666
>>> #3  0x0000000000411ccc in do_action (a=0x7c5358, msg=0x7ef7e8) at
>>> action.c:1195
>>> #4  0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #5  0x00000000004145aa in do_action (a=0x7c6ca0, msg=0x7ef7e8) at
>>> action.c:825
>>> #6  0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #7  0x00000000004138a8 in run_actions (a=0x7b5fc0, msg=0x7ef7e8) at
>>> action.c:120
>>> #8  do_action (a=0x7b5fc0, msg=0x7ef7e8) at action.c:488
>>> #9  0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #10 0x0000000000413c62 in do_action (a=0x7b6170, msg=0x7ef7e8) at
>>> action.c:819
>>> #11 0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #12 0x00000000004145aa in do_action (a=0x7b6248, msg=0x7ef7e8) at
>>> action.c:825
>>> #13 0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #14 0x00000000004145aa in do_action (a=0x7b6f48, msg=0x7ef7e8) at
>>> action.c:825
>>> #15 0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #16 0x0000000000413c62 in do_action (a=0x7b70f8, msg=0x7ef7e8) at
>>> action.c:819
>>> #17 0x000000000041040e in run_action_list (a=<value optimized out>,
>>> msg=0x7ef7e8) at action.c:140
>>> #18 0x0000000000415886 in run_actions (a=0x7b0ce0, msg=0x7ef7e8) at
>>> action.c:120
>>> #19 run_top_route (a=0x7b0ce0, msg=0x7ef7e8) at action.c:181
>>> #20 0x000000000046f21c in receive_msg (
>>>     buf=0x77cba0 "NOTIFY sip"..., len=0, rcv_info=0x7fff3019aa90) at
>>> receive.c:162
>>> #21 0x00000000004c2f3c in udp_rcv_loop () at udp_server.c:492
>>> #22 0x000000000042e785 in main_loop (argc=<value optimized out>,
>>> argv=<value optimized out>) at main.c:824
>>> #23 main (argc=<value optimized out>, argv=<value optimized out>) at
>>> main.c:1393
>>>
>>> -- James
>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> On 11/28/2011 04:22 AM, James Lamanna wrote:
>>>>>
>>>>> Hi,
>>>>> I'm experiencing a crash after about 5 minutes on a system (same
>>>>> config works fine on other systems).
>>>>> This is a system running under OpenVZ.
>>>>> Here's the tail end of syslog:
>>>>>
>>>>>
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:tm:matching_3261: RFC3261 transaction matched, tid=6332.a2d6e8d7.0
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:tm:t_lookup_request: REF_UNSAFE:[0x2b835e4a4f98] after is 1
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:tm:t_lookup_request: transaction found (T=0x2b835e4a4f98)
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:tm:t_retransmit_reply: nothing to retransmit
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:tm:t_unref: UNREF_UNSAFE: [0x2b835e4a4f98] after is 0
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:core:destroy_avp_list: destroying list (nil)
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7280]:
>>>>> DBG:core:receive_msg: cleaning up
>>>>> Nov 27 18:04:18 opensips2 /usr/local/sbin/opensips[7285]:
>>>>> DBG:core:udp_rcv_loop: probing packet received len = 4
>>>>> Nov 27 18:04:19 opensips2 /usr/local/sbin/opensips[7286]:
>>>>> DBG:core:udp_rcv_loop: probing packet received len = 4
>>>>> Nov 27 18:04:19 opensips2 /usr/local/sbin/opensips[7286]:
>>>>> DBG:core:udp_rcv_loop: probing packet received len = 4
>>>>> Nov 27 18:04:20 opensips2 /usr/local/sbin/opensips[7284]:
>>>>> DBG:core:udp_rcv_loop: probing packet received len = 4
>>>>> Nov 27 18:04:21 opensips2 /usr/local/sbin/opensips[7285]:
>>>>> DBG:core:udp_rcv_loop: probing packet received len = 4
>>>>> Nov 27 18:04:22 opensips2 /usr/local/sbin/opensips[7296]:
>>>>> CRITICAL:core:receive_fd: EOF on 12
>>>>> Nov 27 18:04:22 opensips2 /usr/local/sbin/opensips[7296]:
>>>>> DBG:core:handle_ser_child: dead child 5, pid 7281 (shutting down?)
>>>>> Nov 27 18:04:22 opensips2 /usr/local/sbin/opensips[7296]:
>>>>> DBG:core:io_watch_del: io_watch_del (0x76c500, 12, -1, 0x0) fd_no=21
>>>>> called
>>>>> Nov 27 18:04:22 opensips2 /usr/local/sbin/opensips[7275]:
>>>>> INFO:core:handle_sigs: child process 7281 exited by a signal 11
>>>>> Nov 27 18:04:22 opensips2 /usr/local/sbin/opensips[7275]:
>>>>> INFO:core:handle_sigs: core was generated
>>>>> Nov 27 18:04:22 opensips2 /usr/local/sbin/opensips[7275]:
>>>>> INFO:core:handle_sigs: terminating due to SIGCHLD
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> -- James
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>>
>>>> --
>>>> Bogdan-Andrei Iancu
>>>> OpenSIPS Founder and Developer
>>>> OpenSIPS solutions and "know-how"
>>>>
>>>>
>>
>>
>> --
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developer
>> OpenSIPS solutions and "know-how"
>>
>>
>



More information about the Users mailing list