[OpenSIPS-Users] 1.6 core dump uac_replace_to and uac_replace_from

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Oct 22 16:22:34 CEST 2009


Hi Thomas,

That is a good question - right now the fix is dealing with the effect, 
not solving the cause.....I did a fast fixup to prevent any more crashes 
for Brad.

But I still have to dig for the root cause of the problem.

Regards,
Bogdan

Thomas Gelf wrote:
> Hi Bogdan,
>
> do you have any idea what Brad is doing different than I do? As I'm also
> intensively using both functions (alone and together, depends on call
> direction), I'm a little bit concerned. However, I did not (yet) meet
> those crashes...
>
> Cheers,
> Thomas
>
> NB: I'm using those functions only in branch routes.
> NBB: I'm running on a 64bit system and PKG_MEM_POOL_SIZE 4*1024*1024
>
> Bogdan-Andrei Iancu wrote:
>   
>> Brad,
>>
>> Please apply the attached patch and see if it's fixing the problem for you.
>>
>> Regards,
>> Bogdan
>>
>> Brad Bendy wrote:
>>     
>>> #0  0x0000000801517b39 in pre_print_uac_request (t=0x802976678,
>>> branch=1, request=0x801647020) at t_fwd.c:132
>>> 132                             memcpy( p, request->dst_uri.s,
>>> request->dst_uri.len);
>>>
>>>
>>> $2 = (struct sip_msg *) 0x801647020
>>> (gdb) print request->dst_uri
>>> $3 = {s = 0x0, len = -1}
>>>
>>> I see len = -1, so basically a value must be null when im using one of
>>> these functions? From the logging ive had setup I have seen no empty
>>> or weird values, but I can check again as well.
>>>
>>> Thanks
>>>
>>> That's what I got back.
>>>
>>> Thanks
>>>
>>> Bogdan-Andrei Iancu wrote:
>>>       
>>>> Brad,
>>>>
>>>> in gdb, just do:
>>>>
>>>> f 0
>>>> print request
>>>> print request->dst_uri
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> Brad Bendy wrote:
>>>>  
>>>>         
>>>>> Hi Bogdan,
>>>>>
>>>>> Well, sometimes we do, sometimes we only call or the other, 90% of
>>>>> the time we use both on the same call.
>>>>>
>>>>> I do still have the core, inside of gdb do I need to run a command?
>>>>>
>>>>> When I run "bt", frame 0 shows: #0  0x0000000801517b39 in
>>>>> pre_print_uac_request (t=0x802976678, branch=1, request=0x801647020)
>>>>> at t_fwd.c:132
>>>>>
>>>>> Thanks
>>>>>
>>>>> Bogdan-Andrei Iancu wrote:
>>>>>    
>>>>>           
>>>>>> Hi Brad,
>>>>>>
>>>>>> Do you use both replace_to and replace_from in the same time ?
>>>>>>
>>>>>> Do you still have the core file ? could you check in frame 0 for
>>>>>> "request"  and  "request->dst_uri" ?
>>>>>>
>>>>>> Thanks and regards,
>>>>>> Bogdan
>>>>>>
>>>>>> Brad Bendy wrote:
>>>>>>        
>>>>>>             
>>>>>>> Hi,
>>>>>>>
>>>>>>> Running 1.6 non SVN we are getting random crashes, it appears this
>>>>>>> is from the uac_replace_from and uac_replace_to, we did not have
>>>>>>> this problem until we started using these function. Below is the
>>>>>>> bt from gdb.
>>>>>>>
>>>>>>> The only errors we get in the logs are from memcache, which I
>>>>>>> think are unrelated from this, has anyone else seen this issue? I
>>>>>>> can try the latest SVN tonight and see how if that fixes it.
>>>>>>>
>>>>>>> Thanks for any help or suggestions.
>>>>>>>
>>>>>>> #0  0x0000000801517b39 in pre_print_uac_request (t=0x802a18bf8,
>>>>>>> branch=1, request=0x801647020) at t_fwd.c:132
>>>>>>> 132                             memcpy( p, request->dst_uri.s,
>>>>>>> request->dst_uri.len);
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> #0  0x0000000801517b39 in pre_print_uac_request (t=0x802a18bf8,
>>>>>>> branch=1, request=0x801647020) at t_fwd.c:132
>>>>>>> #1  0x0000000801518092 in add_uac (t=0x802a18bf8,
>>>>>>> request=0x801647020, uri=0x7fffffffd0d0,
>>>>>>>     next_hop=0x7fffffffd0e0, path=Variable "path" is not available.
>>>>>>> ) at t_fwd.c:400
>>>>>>> #2  0x0000000801519bda in t_forward_nonack (t=0x802a18bf8,
>>>>>>> p_msg=0x801647020, proxy=0x0) at t_fwd.c:625
>>>>>>> #3  0x0000000801531d1e in w_t_relay (p_msg=0x801647020, proxy=0x0,
>>>>>>> flags=Variable "flags" is not available.
>>>>>>> ) at tm.c:1101
>>>>>>> #4  0x000000000040d9d1 in do_action (a=0x6c7a78, msg=0x801647020)
>>>>>>> at action.c:962
>>>>>>> #5  0x000000000040c707 in run_action_list (a=Variable "a" is not
>>>>>>> available.
>>>>>>> ) at action.c:139
>>>>>>> #6  0x0000000000465b69 in eval_expr (e=0x6c7b48, msg=0x801647020,
>>>>>>> val=0x0) at route.c:1240
>>>>>>> #7  0x000000000046584e in eval_expr (e=0x6c7b90, msg=0x801647020,
>>>>>>> val=0x0) at route.c:1553
>>>>>>> #8  0x0000000000465869 in eval_expr (e=0x6c7bd8, msg=0x801647020,
>>>>>>> val=0x0) at route.c:1558
>>>>>>> #9  0x000000000040e0c7 in do_action (a=0x6c7d80, msg=0x801647020)
>>>>>>> at action.c:689
>>>>>>> #10 0x000000000040c707 in run_action_list (a=Variable "a" is not
>>>>>>> available.
>>>>>>> ) at action.c:139
>>>>>>> #11 0x000000000040eee5 in do_action (a=0x6f2310, msg=0x801647020)
>>>>>>> at action.c:119
>>>>>>> #12 0x000000000040c707 in run_action_list (a=Variable "a" is not
>>>>>>> available.
>>>>>>> ) at action.c:139
>>>>>>> #13 0x000000000040fc6c in do_action (a=0x6f24b0, msg=0x801647020)
>>>>>>> at action.c:706
>>>>>>> #14 0x000000000040c707 in run_action_list (a=Variable "a" is not
>>>>>>> available.
>>>>>>> ) at action.c:139
>>>>>>> #15 0x0000000000410ce8 in run_top_route (a=0x6f1d28,
>>>>>>> msg=0x801647020) at action.c:119
>>>>>>> #16 0x0000000801529a4d in t_should_relay_response
>>>>>>> (Trans=0x802a18bf8, new_code=Variable "new_code" is not available.
>>>>>>> ) at t_reply.c:612
>>>>>>> #17 0x000000080152b5f6 in relay_reply (t=0x802a18bf8,
>>>>>>> p_msg=0x71f3b0, branch=0, msg_status=503,
>>>>>>> cancel_bitmap=dwarf2_read_address: Corrupted DWARF expression.
>>>>>>> )
>>>>>>>     at t_reply.c:1124
>>>>>>> #18 0x000000080152cc76 in reply_received (p_msg=0x71f3b0) at
>>>>>>> t_reply.c:1493
>>>>>>> #19 0x0000000000420d77 in forward_reply (msg=0x71f3b0) at
>>>>>>> forward.c:559
>>>>>>> #20 0x00000000004551d5 in receive_msg (
>>>>>>>     buf=0x659e40 "SIP/2.0 503 Service Unavailable\r\nVia:
>>>>>>> SIP/2.0/UDP
>>>>>>> 72.44.195.164:5060;branch=z9hG4bK8ac3.4b441ca2.0\r\nVia:
>>>>>>> SIP/2.0/UDP
>>>>>>> 68.165.121.51:5060;branch=z9hG4bK8ac3.9b5220d1.1\r\nVia:
>>>>>>> SIP/2.0/UDP xx.xx.xx.xx:50"...,
>>>>>>>     len=665, rcv_info=0x7fffffffeac0) at receive.c:200
>>>>>>> #21 0x0000000000499297 in udp_rcv_loop () at udp_server.c:492
>>>>>>> #22 0x000000000042865a in main (argc=3, argv=Variable "argv" is
>>>>>>> not available.
>>>>>>>           
>>>>>>>               
>
>
>   




More information about the Users mailing list