Hello,
I am seeing a crash within the latest ims modules using the example
cfg scripts. It also happened in 4.1
1) The s-cscf receives a request from an application server and runs
'assign_server_unreg' (cfg line 368) because the intended
destination is not registered.
2) The HSS returns an error '5012: Unable to comply' and the
suspended transaction is resumed into the UNREG_SAR_REPLY route
(cxdx_sar.c:290)
3) The coredump shows that the AVP lists are nonsensical, so the
action to get $avp(s:saa_return_code) causes a crash.
Do the avp lists need to be re-initialised from the suspended
transaction, like in the 'success/done' section (cxdx_sar.c:252)?
Maybe someone who is more familiar with this code can shine some
light on this?
Also in this scenario I can't see a code path that will send a
response back to the application server e.g. '480 Temporarily
Unavailable' - Should this be done in the cfg before calling
assign_server_unreg?
Regards,
Hugh
Backtrace:
(gdb) bt
#0 0x000000000053dc89 in match_by_name
(avp=0x303630363a6d6f63, id=116, name=0x7ffff29895f8) at
usr_avp.c:391
#1 0x000000000053e411 in search_next_avp
(s=0x7ffff29895f0, val=0x7ffff2989630) at usr_avp.c:507
#2 0x000000000053e120 in search_avp (ident=...,
val=0x7ffff2989630, state=0x7ffff29895f0) at usr_avp.c:475
#3 0x000000000053de09 in search_first_avp (flags=1,
name=..., val=0x7ffff2989630, s=0x7ffff29895f0) at
usr_avp.c:427
#4 0x00007fa8de2f5626 in pv_get_avp
(msg=0x7ffff298a030, param=0x7fa8de86b898, res=0x7ffff2989760)
at pv_core.c:1475
#5 0x0000000000499270 in pv_get_spec_value
(msg=0x7ffff298a030, sp=0x7fa8de86b880, value=0x7ffff2989760)
at pvapi.c:1266
#6 0x00000000004c5f03 in rval_get_int
(h=0x7ffff2989ef0, msg=0x7ffff298a030, i=0x7ffff2989d58,
rv=0x7fa8de86b878, cache=0x0) at rvalue.c:978
#7 0x00000000004c89f5 in rval_expr_eval_int
(h=0x7ffff2989ef0, msg=0x7ffff298a030, res=0x7ffff2989d58,
rve=0x7fa8de86b870) at rvalue.c:1918
#8 0x0000000000420648 in do_action (h=0x7ffff2989ef0,
a=0x7fa8de86eaa8, msg=0x7ffff298a030) at action.c:1219
#9 0x0000000000422878 in run_actions
(h=0x7ffff2989ef0, a=0x7fa8de86aa30, msg=0x7ffff298a030) at
action.c:1599
#10 0x0000000000423017 in run_top_route
(a=0x7fa8de86aa30, msg=0x7ffff298a030, c=0x0) at action.c:1685
#11 0x00007fa8de59eae3 in t_continue (hash_index=15710,
label=170389234, route=0x7fa8de86aa30) at t_suspend.c:245
#12 0x00007fa8da1ebc98 in async_cdp_callback
(is_timeout=0, param=0x7fa8d5c68f40, saa=0x0, elapsed_msecs=1)
at cxdx_sar.c:290
#13 0x00007fa8db23cacb in api_callback
(p=0x7fa8d5c24d40, msg=0x7fa8d5c5aca8, ptr=0x0) at
api_process.c:115
#14 0x00007fa8db27ad87 in worker_process (id=2) at
worker.c:330
#15 0x00007fa8db257aea in diameter_peer_start
(blocking=0) at diameter_peer.c:309
#16 0x00007fa8db25a02b in cdp_child_init (rank=0) at
mod.c:237
#17 0x00000000004f7ec2 in init_mod_child
(m=0x7fa8de841158, rank=0) at sr_module.c:924
#18 0x00000000004f7d65 in init_mod_child
(m=0x7fa8de841d00, rank=0) at sr_module.c:921
#19 0x00000000004f7d65 in init_mod_child
(m=0x7fa8de8420a8, rank=0) at sr_module.c:921
#20 0x00000000004f7d65 in init_mod_child
(m=0x7fa8de842458, rank=0) at sr_module.c:921
#21 0x00000000004f7d65 in init_mod_child
(m=0x7fa8de842ae8, rank=0) at sr_module.c:921
#22 0x00000000004f7d65 in init_mod_child
(m=0x7fa8de842f60, rank=0) at sr_module.c:921
#23 0x00000000004f8048 in init_child (rank=0) at
sr_module.c:948
#24 0x000000000046d57c in main_loop () at main.c:1694
#25 0x000000000047030b in main (argc=13,
argv=0x7ffff298af78) at main.c:2533
--
Hugh Waite
Principal Design Engineer
Crocodile RCS Ltd.