Skip to content

Instantly share code, notes, and snippets.

@Kicey
Created July 15, 2025 10:45
Show Gist options
  • Save Kicey/c8b70627421c701cb44a6d292fb2ee19 to your computer and use it in GitHub Desktop.
Save Kicey/c8b70627421c701cb44a6d292fb2ee19 to your computer and use it in GitHub Desktop.
When response >= 300, the rtp_relay_ctx is not released.
--- Start context track ---
Hardware watchpoint 2: -location *$addr
Old value = 1
New value = 2
0x00007fff6e45033f in rtp_relay_reqin (t=0x7fff7012c2e8, type=1, ps=0x7fffffffc890) at rtp_relay_ctx.c:452
452 RTP_RELAY_CTX_REF(ctx);
--- BEFORE WRITE ---
Memory at 0x7fff7012bcc8 contains: 2
Call stack before write:
#0 0x00007fff6e45033f in rtp_relay_reqin (t=0x7fff7012c2e8, type=1, ps=0x7fffffffc890) at rtp_relay_ctx.c:452
#1 0x00007fff6fd1bce4 in run_any_trans_callbacks (list=0x7fff700f33c8, type=1, trans=0x7fff7012c2e8, req=0x7fffefe05910, rpl=0x0, code=1) at t_hooks.c:214
#2 0x00007fff6fd1bf2f in run_reqin_callbacks (trans=0x7fff7012c2e8, req=0x7fffefe05910, code=1) at t_hooks.c:243
#3 0x00007fff6fcfe4ad in build_cell (p_msg=0x7fffefe05910, full_uas=1) at h_table.c:301
#4 0x00007fff6fd24b89 in new_t (p_msg=0x7fffefe05910, full_uas=1) at t_lookup.c:994
#5 0x00007fff6fd25175 in t_newtran (p_msg=0x7fffefe05910, full_uas=1) at t_lookup.c:1105
#6 0x00007fff6fd12722 in t_relay_to (p_msg=0x7fffefe05910, proxy=0x0, flags=0) at t_funcs.c:212
#7 0x00007fff6fd2b240 in w_t_relay (p_msg=0x7fffefe05910, flags=0x0, proxy=0x0) at tm.c:1273
#8 0x0000555555579a54 in do_action (a=0x7fffefda9df8, msg=0x7fffefe05910) at action.c:1048
#9 0x00005555555756c6 in run_action_list (a=0x7fffefda9df8, msg=0x7fffefe05910) at action.c:190
#10 0x0000555555610b80 in eval_elem (e=0x7fffefda9f28, msg=0x7fffefe05910, val=0x0) at route.c:813
#11 0x0000555555611f29 in eval_expr (e=0x7fffefda9f28, msg=0x7fffefe05910, val=0x0) at route.c:1137
#12 0x000055555561202b in eval_expr (e=0x7fffefda9f98, msg=0x7fffefe05910, val=0x0) at route.c:1153
#13 0x0000555555578801 in do_action (a=0x7fffefdaa5c0, msg=0x7fffefe05910) at action.c:812
#14 0x00005555555756c6 in run_action_list (a=0x7fffefda7dd0, msg=0x7fffefe05910) at action.c:190
#15 0x00005555555754b0 in run_actions (a=0x7fffefda7dd0, msg=0x7fffefe05910) at action.c:136
#16 0x000055555557874e in do_action (a=0x7fffefda5808, msg=0x7fffefe05910) at action.c:803
#17 0x00005555555756c6 in run_action_list (a=0x7fffefda4ef8, msg=0x7fffefe05910) at action.c:190
#18 0x0000555555578961 in do_action (a=0x7fffefda70c8, msg=0x7fffefe05910) at action.c:830
#19 0x00005555555756c6 in run_action_list (a=0x7fffefd9f3b8, msg=0x7fffefe05910) at action.c:190
#20 0x00005555555754b0 in run_actions (a=0x7fffefd9f3b8, msg=0x7fffefe05910) at action.c:136
#21 0x000055555557595c in run_top_route (sr=..., msg=0x7fffefe05910) at action.c:250
#22 0x0000555555602c36 in receive_msg (buf=0x5555559bfb80 <buf> "INVITE sip:xxx"..., len=1278, rcv_info=0x7fffffffdad0, existing_context=0x0, msg_flags=0) at receive.c:225
#23 0x0000555555765999 in udp_read_req (si=0x7fffefd98078, bytes_read=0x7fffffffdbb0) at net/proto_udp/proto_udp.c:186
#24 0x0000555555755043 in handle_io (fm=0x7fffefde9e20, idx=0, event_type=1) at net/net_udp.c:295
#25 0x0000555555753512 in io_wait_loop_epoll (h=0x55555588f060 <_worker_io>, t=1, repeat=0) at net/../io_wait_loop.h:305
#26 0x0000555555756589 in udp_start_processes (chd_rank=0x55555588e308 <chd_rank>, startup_done=0x0) at net/net_udp.c:528
#27 0x00005555555b489f in main_loop () at main.c:237
#28 0x00005555555b8aaa in main (argc=10, argv=0x7fffffffe018) at main.c:966
--- END OF CALL STACK ---
Hardware watchpoint 2: -location *$addr
Old value = 2
New value = 3
0x00007fff6e450650 in rtp_relay_reqin (t=0x7fff7012c2e8, type=1, ps=0x7fffffffc890) at rtp_relay_ctx.c:466
466 RTP_RELAY_CTX_REF(ctx);
--- BEFORE WRITE ---
Memory at 0x7fff7012bcc8 contains: 3
Call stack before write:
#0 0x00007fff6e450650 in rtp_relay_reqin (t=0x7fff7012c2e8, type=1, ps=0x7fffffffc890) at rtp_relay_ctx.c:466
#1 0x00007fff6fd1bce4 in run_any_trans_callbacks (list=0x7fff700f33c8, type=1, trans=0x7fff7012c2e8, req=0x7fffefe05910, rpl=0x0, code=1) at t_hooks.c:214
#2 0x00007fff6fd1bf2f in run_reqin_callbacks (trans=0x7fff7012c2e8, req=0x7fffefe05910, code=1) at t_hooks.c:243
#3 0x00007fff6fcfe4ad in build_cell (p_msg=0x7fffefe05910, full_uas=1) at h_table.c:301
#4 0x00007fff6fd24b89 in new_t (p_msg=0x7fffefe05910, full_uas=1) at t_lookup.c:994
#5 0x00007fff6fd25175 in t_newtran (p_msg=0x7fffefe05910, full_uas=1) at t_lookup.c:1105
#6 0x00007fff6fd12722 in t_relay_to (p_msg=0x7fffefe05910, proxy=0x0, flags=0) at t_funcs.c:212
#7 0x00007fff6fd2b240 in w_t_relay (p_msg=0x7fffefe05910, flags=0x0, proxy=0x0) at tm.c:1273
#8 0x0000555555579a54 in do_action (a=0x7fffefda9df8, msg=0x7fffefe05910) at action.c:1048
#9 0x00005555555756c6 in run_action_list (a=0x7fffefda9df8, msg=0x7fffefe05910) at action.c:190
#10 0x0000555555610b80 in eval_elem (e=0x7fffefda9f28, msg=0x7fffefe05910, val=0x0) at route.c:813
#11 0x0000555555611f29 in eval_expr (e=0x7fffefda9f28, msg=0x7fffefe05910, val=0x0) at route.c:1137
#12 0x000055555561202b in eval_expr (e=0x7fffefda9f98, msg=0x7fffefe05910, val=0x0) at route.c:1153
#13 0x0000555555578801 in do_action (a=0x7fffefdaa5c0, msg=0x7fffefe05910) at action.c:812
#14 0x00005555555756c6 in run_action_list (a=0x7fffefda7dd0, msg=0x7fffefe05910) at action.c:190
#15 0x00005555555754b0 in run_actions (a=0x7fffefda7dd0, msg=0x7fffefe05910) at action.c:136
#16 0x000055555557874e in do_action (a=0x7fffefda5808, msg=0x7fffefe05910) at action.c:803
#17 0x00005555555756c6 in run_action_list (a=0x7fffefda4ef8, msg=0x7fffefe05910) at action.c:190
#18 0x0000555555578961 in do_action (a=0x7fffefda70c8, msg=0x7fffefe05910) at action.c:830
#19 0x00005555555756c6 in run_action_list (a=0x7fffefd9f3b8, msg=0x7fffefe05910) at action.c:190
#20 0x00005555555754b0 in run_actions (a=0x7fffefd9f3b8, msg=0x7fffefe05910) at action.c:136
#21 0x000055555557595c in run_top_route (sr=..., msg=0x7fffefe05910) at action.c:250
#22 0x0000555555602c36 in receive_msg (buf=0x5555559bfb80 <buf> "INVITE sip:xxx"..., len=1278, rcv_info=0x7fffffffdad0, existing_context=0x0, msg_flags=0) at receive.c:225
#23 0x0000555555765999 in udp_read_req (si=0x7fffefd98078, bytes_read=0x7fffffffdbb0) at net/proto_udp/proto_udp.c:186
#24 0x0000555555755043 in handle_io (fm=0x7fffefde9e20, idx=0, event_type=1) at net/net_udp.c:295
#25 0x0000555555753512 in io_wait_loop_epoll (h=0x55555588f060 <_worker_io>, t=1, repeat=0) at net/../io_wait_loop.h:305
#26 0x0000555555756589 in udp_start_processes (chd_rank=0x55555588e308 <chd_rank>, startup_done=0x0) at net/net_udp.c:528
#27 0x00005555555b489f in main_loop () at main.c:237
#28 0x00005555555b8aaa in main (argc=10, argv=0x7fffffffe018) at main.c:966
--- END OF CALL STACK ---
--- Start context track ---
Hardware watchpoint 2: -location *$addr
Old value = 3
New value = 2
0x00007fff6e44f878 in rtp_relay_ctx_release (param=0x7fff7012bcc8) at rtp_relay_ctx.c:306
306 RTP_RELAY_CTX_REF_UNSAFE(ctx, -1);
--- BEFORE WRITE ---
Memory at 0x7fff7012bcc8 contains: 2
Call stack before write:
#0 0x00007fff6e44f878 in rtp_relay_ctx_release (param=0x7fff7012bcc8) at rtp_relay_ctx.c:306
#1 0x00007fff6fd1b392 in empty_tmcb_list (head=0x7fff7012c358) at t_hooks.c:53
#2 0x00007fff6fcfd67e in free_cell (dead_cell=0x7fff7012c2e8) at h_table.c:127
#3 0x00007fff6fd1d0ee in delete_cell (p_cell=0x7fff7012c2e8, unlock=1) at timer.c:243
#4 0x00007fff6fd1e0d3 in wait_handler (wait_tl=0x7fff7012c368) at timer.c:478
#5 0x00007fff6fd20441 in timer_routine (ticks=279, set=0x1d) at timer.c:1115
#6 0x000055555564d304 in handle_timer_job () at timer.c:1018
#7 0x000055555564be87 in handle_io (fm=0x7fffefde9a20, idx=1, event_type=1) at timer.c:765
#8 0x0000555555648ade in io_wait_loop_epoll (h=0x55555588f060 <_worker_io>, t=1, repeat=0) at /root/src/opensips/io_wait_loop.h:305
#9 0x000055555564ce7d in start_timer_extra_processes (chd_rank=0x55555588e308 <chd_rank>) at timer.c:932
#10 0x00005555555b49e4 in main_loop () at main.c:249
#11 0x00005555555b8aaa in main (argc=10, argv=0x7fffffffe018) at main.c:966
--- END OF CALL STACK ---
Hardware watchpoint 2: -location *$addr
Old value = 2
New value = 1
0x00007fff6e44f878 in rtp_relay_ctx_release (param=0x7fff7012bcc8) at rtp_relay_ctx.c:306
306 RTP_RELAY_CTX_REF_UNSAFE(ctx, -1);
--- BEFORE WRITE ---
Memory at 0x7fff7012bcc8 contains: 1
Call stack before write:
#0 0x00007fff6e44f878 in rtp_relay_ctx_release (param=0x7fff7012bcc8) at rtp_relay_ctx.c:306
#1 0x0000555555592b28 in context_destroy (ctxtype=CONTEXT_TRAN, ctx=0x7fff7012dd38) at context.c:111
#2 0x00007fff6fcfd695 in free_cell (dead_cell=0x7fff7012c2e8) at h_table.c:129
#3 0x00007fff6fd1d0ee in delete_cell (p_cell=0x7fff7012c2e8, unlock=1) at timer.c:243
#4 0x00007fff6fd1e0d3 in wait_handler (wait_tl=0x7fff7012c368) at timer.c:478
#5 0x00007fff6fd20441 in timer_routine (ticks=279, set=0x1d) at timer.c:1115
#6 0x000055555564d304 in handle_timer_job () at timer.c:1018
#7 0x000055555564be87 in handle_io (fm=0x7fffefde9a20, idx=1, event_type=1) at timer.c:765
#8 0x0000555555648ade in io_wait_loop_epoll (h=0x55555588f060 <_worker_io>, t=1, repeat=0) at /root/src/opensips/io_wait_loop.h:305
#9 0x000055555564ce7d in start_timer_extra_processes (chd_rank=0x55555588e308 <chd_rank>) at timer.c:932
#10 0x00005555555b49e4 in main_loop () at main.c:249
#11 0x00005555555b8aaa in main (argc=10, argv=0x7fffffffe018) at main.c:966
--- END OF CALL STACK ---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment