[pjsip] Assertion failure in sip_transaction.c

Benny Prijono bennylp at pjsip.org
Tue Nov 27 20:53:47 EST 2007


Michael Broughton wrote:
> Yeah I was just about to do that... I hope this coredump is still 
> good... I have been updating my binaries and I have noticed the line 
> numbers keep changing in the backtrace. I will post what I can and 
> hopefully you can make some sense of it.

Thanks, the coredump is still good. I've been trying to correlate 
the transaction state with the latest code, but I couldn't find 
anything that might have caused it.

So, the only explanation perhaps is because you're running an old 
version of pjsip? Because we had this problem which was fixed by 
this: http://www.pjsip.org/trac/changeset/1250. And that was, uhm, 7 
months ago? ;-)

cheers,
  -benny


> The backtrace seems to think that tsx_on_state_completed_uas() is being 
> called by tsx_destroy(), pj_timer_heap_cancel(), 
> pjsip_endpt_handle_events2(), etc...
> 
> 
> (gdb) print *tsx
> $5 = {pool = 0x9d4d000, tsx_user = 0x40ec5f60, endpt = 0x8470a8, mutex = 
> 0x9d4d2e8,
>   obj_name = "tsx0x9d4d0a8", '\0' <repeats 19 times>, role = 
> PJSIP_ROLE_UAC, method = {
>     id = PJSIP_BYE_METHOD, name = {ptr = 0x40d92332 "us", slen = 3}}, 
> cseq = 4081, transaction_key = {
>     ptr = 0x9d4d330 "c$BYE$z9hG4bKPj1328000029cb9c060100", slen = 35}, 
> hashed_key = 3510010569, branch = {
>     ptr = 0x9d4d310 "z9hG4bKPj1328000029cb9c060100", slen = 29}, tp_sel 
> = {type = PJSIP_TPSELECTOR_NONE,
>     u = {transport = 0x0, listener = 0x0, ptr = 0x0}}, status_code = 
> 200, status_text = {
>     ptr = 0x9d4d3a0 "OK", slen = 2}, state = PJSIP_TSX_STATE_COMPLETED, 
> handle_200resp = 1, tracing = 0,
>   state_handler = 0x40d03f00 <tsx_on_state_completed_uas+320>, transport 
> = 0x3c5aaa8, is_reliable = 0,
>   addr = {addr = {sa_zero_len = 0 '\0', sa_family = 2 '\002'}, ipv4 = 
> {sin_zero_len = 0 '\0',
>       sin_family = 2 '\002', sin_port = 50195, sin_addr = {s_addr = 
> 3389063434},
>       sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin_zero_len = 
> 0 '\0', sin_family = 2 '\002',
>       sin6_port = 50195, sin6_flowinfo = 3389063434, sin6_addr = {in6_u = {
>           u6_addr8 = '\0' <repeats 15 times>, u6_addr16 = {0, 0, 0, 0, 
> 0, 0, 0, 0}, u6_addr32 = {0, 0, 0,
>             0}}}, sin6_scope_id = 0}}, addr_len = 16, res_addr = 
> {transport = 0x0, addr = {addr = {
>         sa_zero_len = 0 '\0', sa_family = 0 '\0'}, ipv4 = {sin_zero_len 
> = 0 '\0', sin_family = 0 '\0',
>         sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = 
> "\000\000\000\000\000\000\000"}, ipv6 = {
>         sin_zero_len = 0 '\0', sin_family = 0 '\0', sin6_port = 0, 
> sin6_flowinfo = 0, sin6_addr = {in6_u = {
>             u6_addr8 = '\0' <repeats 15 times>, u6_addr16 = {0, 0, 0, 0, 
> 0, 0, 0, 0}, u6_addr32 = {0, 0, 0,
>               0}}}, sin6_scope_id = 0}}, addr_len = 0, dst_host = {flag 
> = 0,
>       type = PJSIP_TRANSPORT_UNSPECIFIED, addr = {host = {ptr = 0x0, 
> slen = 0}, port = 0}}},
>   transport_flag = 16, transport_err = 0, last_tx = 0xa0a00a8, 
> retransmit_count = 0, retransmit_timer = {
>     user_data = 0x9d4d0a8, id = 0, cb = 0x40d00d60 <tsx_destroy+176>, 
> _timer_id = -1, _timer_value = {
>       sec = 1195844976, msec = 190}}, timeout_timer = {user_data = 
> 0x9d4d0a8, id = 1,
>     cb = 0x40d00d60 <tsx_destroy+176>, _timer_id = 21, _timer_value = 
> {sec = 1195844981, msec = 190}},
>   mod_data = {0x0, 0x0, 0x0, 0x0, 0x9d4d8a8, 0x0, 0x0, 0x9f44b80, 0x0, 
> 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> 
> 
> 


-- 
Benny Prijono
http://www.pjsip.org




More information about the pjsip mailing list