<!-- Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-users.lists.kamailio....
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-dev.lists.kamailio.or...
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment). -->
### Description
<!-- Explain what you did, what you expected to happen, and what actually happened. -->
### Troubleshooting
``` -->sip invite t_suspend() nats publish--->routeserver <---route result t_continue() but kamailio crash ```
#### Reproduction
<!-- If the issue can be reproduced, describe how it can be done. -->
``` wget http://220.231.180.131:12295/kamailio-nats-routeserver.tar.gz nats_url: nats://127.0.0.1:4222 start kamailio go run routeserver.go uac sip call kamailio, and kamailio crash ```
#### Debugging Data
<!-- If you got a core dump, use gdb to extract troubleshooting data - full backtrace, local variables and the list of the code at the issue location.
gdb /path/to/kamailio /path/to/corefile bt full info locals list
If you are familiar with gdb, feel free to attach more of what you consider to be relevant. -->
``` (paste your debugging data here) ```
#### Log Messages
<!-- Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site). -->
``` kamailio[2037]: INFO: <script>: nats payload received [{"jsonrpc":"2.0","method":"route","tindex":52750,"tlabel":650229805,"destination":"sip: kamailio[2037]: INFO: <script>: tindex = 52750, tlabel = 650229805, destination = sip:192.168.31.96:5080 kamailio[2048]: CRITICAL: <core> [core/pass_fd.c:277]: receive_fd(): EOF on 41 kamailio[2048]: DEBUG: <core> [core/tcp_main.c:3854]: handle_ser_child(): dead child 23, pid 2037 (shutting down?) kamailio[2048]: DEBUG: <core> [core/io_wait.h:599]: io_watch_del(): DBG: io_watch_del (0x557342d36be0, 41, -1, 0x0) fd_no=37 called kamailio[2011]: ALERT: <core> [main.c:774]: handle_sigs(): child process 2037 exited by a signal 11 kamailio[2011]: ALERT: <core> [main.c:777]: handle_sigs(): core was generated kamailio[2011]: INFO: <core> [main.c:799]: handle_sigs(): terminating due to SIGCHLD kamailio[2048]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2047]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2041]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2039]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2035]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2018]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2033]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2016]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2031]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2015]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2029]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2036]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2027]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2020]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2025]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2042]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2023]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2021]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2017]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2038]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2030]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2019]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2022]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2040]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2024]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2028]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2026]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2032]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2034]: INFO: <core> [main.c:854]: sig_usr(): signal 15 received kamailio[2011]: DEBUG: <core> [core/sr_module.c:835]: destroy_modules(): starting modules destroy phase ```
#### SIP Traffic
<!-- If the issue is exposed by processing specific SIP messages, grab them with ngrep or save in a pcap file, then add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site). -->
``` (paste your sip traffic here) ```
### Possible Solutions
<!-- If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix. -->
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
``` kamailio 5.6.4 (x86_64/linux) nats-server: v2.9.15 nats.c: 3.6.1 libuv1-dev:amd64:1.44.2-1 ```
* **Operating System**:
<!-- Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...; Kernel details (output of `lsb_release -a` and `uname -a`) -->
``` Debian11 ```
Thanks for the report. Could you also please provide a backtrace, as described [here](https://www.kamailio.org/wiki/tutorials/troubleshooting/coredumpfile#analyze...)
```txt [New LWP 2144] [New LWP 2145] [New LWP 2146] [New LWP 2147] BFD: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section `.relr.dyn'
warning: `/lib/x86_64-linux-gnu/libm.so.6': Shared library architecture unknown is not compatible with target architecture i386:x86-64. BFD: /lib/x86_64-linux-gnu/libc.so.6: unknown type [0x13] section `.relr.dyn'
warning: `/lib/x86_64-linux-gnu/libc.so.6': Shared library architecture unknown is not compatible with target architecture i386:x86-64. BFD: /lib64/ld-linux-x86-64.so.2: unknown type [0x13] section `.relr.dyn'
warning: `/lib64/ld-linux-x86-64.so.2': Shared library architecture unknown is not compatible with target architecture i386:x86-64. BFD: /lib/x86_64-linux-gnu/libpthread.so.0: unknown type [0x13] section `.relr.dyn'
warning: `/lib/x86_64-linux-gnu/libpthread.so.0': Shared library architecture unknown is not compatible with target architecture i386:x86-64. BFD: /lib/x86_64-linux-gnu/libdl.so.2: unknown type [0x13] section `.relr.dyn'
warning: `/lib/x86_64-linux-gnu/libdl.so.2': Shared library architecture unknown is not compatible with target architecture i386:x86-64. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `kamailio'. Program terminated with signal SIGSEGV, Segmentation fault. #0 ___pthread_mutex_trylock (mutex=0x0) at ./nptl/pthread_mutex_trylock.c:33 33 ./nptl/pthread_mutex_trylock.c: No such file or directory. [Current thread is 1 (Thread 0x7fa6934b3740 (LWP 2144))] (gdb) bt #0 ___pthread_mutex_trylock (mutex=0x0) at ./nptl/pthread_mutex_trylock.c:33 #1 0x00007fa692617444 in natsMutex_Lock () from /usr/local/lib/libnats.so.3.6 #2 0x00007fa69260fc9e in natsSubscription_Unsubscribe () from /usr/local/lib/libnats.so.3.6 #3 0x00007fa69264a25d in nats_destroy_workers () at nats_mod.c:559 #4 0x00007fa69264abd4 in mod_destroy () at nats_mod.c:609 #5 0x000055ee7d9d0752 in destroy_modules () at core/sr_module.c:842 #6 0x000055ee7d793132 in cleanup (show_status=1) at main.c:561 #7 0x000055ee7d794d97 in shutdown_children (sig=15, show_status=1) at main.c:704 #8 0x000055ee7d79817b in handle_sigs () at main.c:802 #9 0x000055ee7d7a606b in main_loop () at main.c:1900 #10 0x000055ee7d7afb54 in main (argc=1, argv=0x7ffc10e5a368) at main.c:3078 (gdb) #0 ___pthread_mutex_trylock (mutex=0x0) at ./nptl/pthread_mutex_trylock.c:33 #1 0x00007fa692617444 in natsMutex_Lock () from /usr/local/lib/libnats.so.3.6 #2 0x00007fa69260fc9e in natsSubscription_Unsubscribe () from /usr/local/lib/libnats.so.3.6 #3 0x00007fa69264a25d in nats_destroy_workers () at nats_mod.c:559 #4 0x00007fa69264abd4 in mod_destroy () at nats_mod.c:609 #5 0x000055ee7d9d0752 in destroy_modules () at core/sr_module.c:842 #6 0x000055ee7d793132 in cleanup (show_status=1) at main.c:561 #7 0x000055ee7d794d97 in shutdown_children (sig=15, show_status=1) at main.c:704 #8 0x000055ee7d79817b in handle_sigs () at main.c:802 #9 0x000055ee7d7a606b in main_loop () at main.c:1900 #10 0x000055ee7d7afb54 in main (argc=1, argv=0x7ffc10e5a368) at main.c:3078
(gdb) bt full #0 ___pthread_mutex_trylock (mutex=0x0) at ./nptl/pthread_mutex_trylock.c:33 oldval = <optimized out> id = 2144 again = <optimized out> __PRETTY_FUNCTION__ = "___pthread_mutex_trylock" #1 0x00007fa692617444 in natsMutex_Lock () from /usr/local/lib/libnats.so.3.6 No symbol table info available. #2 0x00007fa69260fc9e in natsSubscription_Unsubscribe () from /usr/local/lib/libnats.so.3.6 No symbol table info available. #3 0x00007fa69264a25d in nats_destroy_workers () at nats_mod.c:559 i = 0 worker = 0x7fa68e491f00 pub_worker = 0x3000000010 __func__ = "nats_destroy_workers" #4 0x00007fa69264abd4 in mod_destroy () at nats_mod.c:609 __func__ = "mod_destroy" #5 0x000055ee7d9d0752 in destroy_modules () at core/sr_module.c:842 t = 0x7fa692d59ee8 foo = 0x7fa692d59940 __func__ = "destroy_modules" #6 0x000055ee7d793132 in cleanup (show_status=1) at main.c:561 memlog = 0 __func__ = "cleanup" #7 0x000055ee7d794d97 in shutdown_children (sig=15, show_status=1) at main.c:704 __func__ = "shutdown_children" #8 0x000055ee7d79817b in handle_sigs () at main.c:802 chld = 0 chld_status = 139 any_chld_stopped = 1 memlog = 0 __func__ = "handle_sigs" #9 0x000055ee7d7a606b in main_loop () at main.c:1900 i = 4 pid = 2177 si = 0x0 si_desc = "udp receiver child=3 sock=172.18.0.1:5060\000\066\060\000\206\225-\030\000\000\000\000\000\000\000\210м}\356U\000\000\000\000\000\000\000\000\000\000\223<\276}\356U\000\000\037\000\000\000\000\000\000\000pr[\223\003\000\000\000\270cԒ\246\177\000\000\006s[\223\246\177\000\000\020\000\000\000\060\000\000\000\340\235\345\020\374\177\000" nrprocs = 4 woneinit = 1 __func__ = "main_loop" --Type <RET> for more, q to quit, c to continue without paging--c #10 0x000055ee7d7afb54 in main (argc=1, argv=0x7ffc10e5a368) at main.c:3078 cfg_stream = 0x55ee7ebf2380 c = -1 r = 0 tmp = 0x100000000 <error: Cannot access memory at address 0x100000000> tmp_len = 0 port = 895 proto = 32678 ahost = 0x0 aport = 0 options = 0x55ee7dbd0278 ":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:Y:" ret = -1 seed = 2445687282 rfd = 4 debug_save = 0 debug_flag = 0 dont_fork_cnt = 0 n_lst = 0xc000 p = 0x0 st = {st_dev = 22, st_ino = 932, st_nlink = 2, st_mode = 16832, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 100, st_blksize = 4096, st_blocks = 0, st_atim = {tv_sec = 1679042469, tv_nsec = 894794388}, st_mtim = {tv_sec = 1679046821, tv_nsec = 776224656}, st_ctim = {tv_sec = 1679046821, tv_nsec = 776224656}, __glibc_reserved = {0, 0, 0}} tbuf = '\000' <repeats 40 times>, "p\026x\223\246\177\000\000\r\000\000\000\000\000\000\000\230\201h\223\246\177\000\000x\243\345\020\374\177\000\000H\255\312}\356U\000\000 P{\223\246\177\000\000\256/y\223\246\177\000\000\001", '\000' <repeats 15 times>, "x8x\223\246\177\000\000\300\230y\223\246\177\000\000\000\000\000\000\000\000\000\000\340\242\345\020\374\177\000\000\001", '\000' <repeats 15 times>, "x\243\345\020\374\177\000\000\332Qy\223\246\177\000\000\000\000\000\000\000\000\000\000H\255\312}\356U\000\000x\243\345\020\374\177\000\000\000\000\000\000\000\000\000\000"... option_index = 0 long_options = {{name = 0x55ee7dbd26e6 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x55ee7dbcd524 "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x55ee7dbd26eb "alias", has_arg = 1, flag = 0x0, val = 1024}, {name = 0x55ee7dbd26f1 "subst", has_arg = 1, flag = 0x0, val = 1025}, {name = 0x55ee7dbd26f7 "substdef", has_arg = 1, flag = 0x0, val = 1026}, {name = 0x55ee7dbd2700 "substdefs", has_arg = 1, flag = 0x0, val = 1027}, {name = 0x55ee7dbd270a "server-id", has_arg = 1, flag = 0x0, val = 1028}, {name = 0x55ee7dbd2714 "loadmodule", has_arg = 1, flag = 0x0, val = 1029}, {name = 0x55ee7dbd271f "modparam", has_arg = 1, flag = 0x0, val = 1030}, {name = 0x55ee7dbd2728 "log-engine", has_arg = 1, flag = 0x0, val = 1031}, {name = 0x55ee7dbd2733 "debug", has_arg = 1, flag = 0x0, val = 1032}, {name = 0x55ee7dbd2739 "cfg-print", has_arg = 0, flag = 0x0, val = 1033}, {name = 0x55ee7dbd2743 "atexit", has_arg = 1, flag = 0x0, val = 1034}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}} __func__ = "main" (gdb) ```
There are two coredumps, I will give the other one later.
kamailio.cfg
```txt ### kamailio5.6.4
#!define MULTIDOMAIN 0
# - flags # FLT_ - per transaction (message) flags #!define FLT_ACC 1 #!define FLT_ACCMISSED 2 #!define FLT_ACCFAILED 3 #!define FLT_NATS 5
# FLB_ - per branch flags #!define FLB_NATB 6 #!define FLB_NATSIPPING 7
debug=2 log_stderror=no memdbg=5 memlog=5 log_facility=LOG_LOCAL0 log_prefix="{$mt $hdr(CSeq) $ci} " children=4 auto_aliases=no enable_sctp=no # listen=udp:192.168.31.63:5060
# mpath="/usr/local/lib/kamailio/modules/"
loadmodule "kex.so" loadmodule "corex.so" loadmodule "tm.so" loadmodule "tmx.so" loadmodule "sl.so" loadmodule "rr.so" loadmodule "pv.so" loadmodule "maxfwd.so" loadmodule "usrloc.so" loadmodule "registrar.so" loadmodule "textops.so" loadmodule "textopsx.so" loadmodule "siputils.so" loadmodule "xlog.so" loadmodule "sanity.so" loadmodule "ctl.so" loadmodule "cfg_rpc.so" loadmodule "counters.so" loadmodule "nathelper.so" loadmodule "jansson.so" loadmodule "nats.so"
# modparam("ctl", "binrpc", "unix:/run/kamailio/kamailio_ctl")
modparam("sanity", "autodrop", 0)
modparam("tm", "failure_reply_mode", 3) modparam("tm", "fr_timer", 30000) modparam("tm", "fr_inv_timer", 120000)
modparam("rr", "enable_full_lr", 0) modparam("rr", "append_fromtag", 0)
modparam("registrar", "method_filtering", 1) modparam("registrar", "max_expires", 3600) modparam("registrar", "gruu_enabled", 0) modparam("registrar", "use_path", 1) modparam("registrar", "path_mode", 0)
modparam("usrloc", "timer_interval", 60) modparam("usrloc", "timer_procs", 1) modparam("usrloc", "use_domain", MULTIDOMAIN) modparam("usrloc", "db_mode", 0)
modparam("nathelper", "natping_interval", 30) modparam("nathelper", "ping_nated_only", 1) modparam("nathelper", "sipping_bflag", FLB_NATSIPPING) modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org") modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
modparam("nats", "nats_url", "nats://127.0.0.1:4222") modparam("nats", "subject_queue_group", "sipserver:group")
request_route { # per request initial checks route(REQINIT);
# NAT detection route(NATDETECT);
# CANCEL processing if (is_method("CANCEL")) { if (t_check_trans()) { route(RELAY); } exit; }
if (!is_method("ACK")) { if(t_precheck_trans()) { t_check_trans(); exit; } t_check_trans(); }
route(WITHINDLG);
### only initial requests (no To tag) route(AUTH);
remove_hf("Route"); if (is_method("INVITE|SUBSCRIBE")) { record_route(); }
route(SIPOUT);
# handle registrations route(REGISTRAR);
if ($rU==$null) { sl_send_reply("484","Address Incomplete"); exit; }
if (is_method("INVITE")) { route(NATS); } else { sl_send_reply("200","OK"); } return; }
# Wrapper for relaying requests route[RELAY] { if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) { if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH"); } if (is_method("INVITE|SUBSCRIBE|UPDATE")) { if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY"); } if (is_method("INVITE")) { if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE"); }
if (!t_relay()) { sl_reply_error(); } exit; }
route[REQINIT] { # no connect for sending replies set_reply_no_connect(); # enforce symmetric signaling # - send back replies to the source address of request force_rport();
if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }
if(is_method("OPTIONS")) { sl_send_reply("200","Keepalive"); exit; }
if(!sanity_check("17895", "7")) { xlog("Malformed SIP request from $si:$sp\n"); exit; } }
route[WITHINDLG] { if (!has_totag()) return;
if (loose_route()) { route(DLGURI); if (is_method("BYE")) { // setflag(FLT_ACC); # do accounting ... // setflag(FLT_ACCFAILED); # ... even if the transaction fails ; } else if ( is_method("ACK") ) { # ACK is forwarded statelessly route(NATMANAGE); } else if ( is_method("NOTIFY") ) { # Add Record-Route for in-dialog NOTIFY as per RFC 6665. record_route(); } route(RELAY); exit; }
if (is_method("SUBSCRIBE") && uri == myself) { # in-dialog subscribe requests sl_send_reply("501","Not Implemented"); exit; } if ( is_method("ACK") ) { if ( t_check_trans() ) { # no loose-route, but stateful ACK; # must be an ACK after a 487 # or e.g. 404 from upstream server route(RELAY); exit; } else { # ACK without matching transaction ... ignore and discard exit; } } sl_send_reply("404","Not here"); exit; }
route[REGISTRAR] { if (!is_method("REGISTER")) return;
if(isflagset(FLT_NATS)) { setbflag(FLB_NATB); # do SIP NAT pinging setbflag(FLB_NATSIPPING); } if (!save("location")) { sl_reply_error(); } exit; }
route[AUTH] { return; }
route[NATDETECT] { if (nat_uac_test("19")) { if (is_method("REGISTER")) { fix_nated_register(); } else { if(is_first_hop()) { set_contact_alias(); } } setflag(FLT_NATS); } return; }
route[NATMANAGE] { if (is_request()) { if(has_totag()) { if(check_route_param("nat=yes")) { setbflag(FLB_NATB); } } } if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB))) return;
if (is_request()) { if (!has_totag()) { if(t_is_branch_route()) { add_rr_param(";nat=yes"); } } } if (is_reply()) { if(isbflagset(FLB_NATB)) { if(is_first_hop()) set_contact_alias(); } }
if(isbflagset(FLB_NATB)) { # no connect message in a dialog involving NAT traversal if (is_request()) { if(has_totag()) { set_forward_no_connect(); } } }
return; }
route[DLGURI] { if(!isdsturiset()) { handle_ruri_alias(); } return; }
route[SIPOUT] { if (uri==myself) return;
append_hf("P-Hint: outbound\r\n"); route(RELAY); exit; }
branch_route[MANAGE_BRANCH] { xdbg("new branch [$T_branch_idx] to $ru\n"); route(NATMANAGE); return; }
reply_route { if(!sanity_check("17604", "6")) { xlog("Malformed SIP response from $si:$sp\n"); drop; } return; }
onreply_route[MANAGE_REPLY] { xdbg("incoming reply\n"); if(status=~"[12][0-9][0-9]") { route(NATMANAGE); } return; }
failure_route[MANAGE_FAILURE] { route(NATMANAGE); if (t_is_canceled()) exit; return; }
route[NATS] { send_reply("100", "Suspending"); # t_newtran(); if (!t_suspend()) { xerr("[SUSPEND] failed suspending trasaction [$T(id_index):$T(id_label)]\n"); send_reply("501", "Suspending error"); exit; } else { jansson_set("string", "jsonrpc", "2.0", "$var(body)"); jansson_set("string", "method", "route" ,"$var(body)"); jansson_set("integer", "tindex", $T(id_index), "$var(body)"); jansson_set("integer", "tlabel", $T(id_label), "$var(body)"); jansson_set("string", "from", $fu, "$var(body)"); jansson_set("string", "to", $to, "$var(body)"); xinfo("body = $var(body)\n"); nats_publish("routeserver", "$var(body)"); exit; } }
event_route[nats:connected] { xinfo("nats connected!\n"); }
event_route[nats:disconnected] { xinfo("nats disconnected!\n"); }
event_route[nats:sipserver] { xinfo("nats payload received [$natsData]\n"); if (!jansson_get("method", "$natsData", "$var(method)")) return; if ($var(method) != "route") return; if (!jansson_get("tindex", "$natsData", "$var(tindex)")) return; if (!jansson_get("tlabel", "$natsData", "$var(tlabel)")) return; if (!jansson_get("destination","$natsData", "$var(destination)")) return;
xinfo("tindex = $var(tindex), tlabel = $var(tlabel), destination = $var(destination)\n"); t_continue("$var(tindex)", "$var(tlabel)", "INVRESUME"); }
route[INVRESUME] { xinfo("INVRESUME, destination = $var(destination)\n"); $du = $var(destination); route(RELAY); } ```
```txt [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `kamailio'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f1f4ff6ee02 in cfg_update_local (no_cbs=0) at ../../core/cfg/cfg_struct.h:366 366 cfg_child_cb = cfg_child_cb->next; [Current thread is 1 (Thread 0x7f1f4b5666c0 (LWP 1226))] (gdb) (gdb) (gdb) (gdb) (gdb) bt #0 0x00007f1f4ff6ee02 in cfg_update_local (no_cbs=0) at ../../core/cfg/cfg_struct.h:366 #1 0x00007f1f4ff7217a in t_continue_helper (hash_index=24430, label=441244223, rtact=0x7f1f50126560, cbname=0x0, cbparam=0x0, skip_timer=1) at t_suspend.c:190 #2 0x00007f1f4ff77f68 in t_continue (hash_index=24430, label=441244223, route=0x7f1f50126560) at t_suspend.c:600 #3 0x00007f1f4fe528f1 in w_t_continue (msg=0x7f1f4b565520, idx=0x7f1f500ea9b8 "Ha\022P\037\177", lbl=0x7f1f500dc248 "\020^\022P\037\177", rtn=0x7f1f500dc3a8 "p_\022P\037\177") at tmx_mod.c:844 #4 0x000055e0541b0ad3 in do_action (h=0x7f1f4b5653d0, a=0x7f1f50125bd8, msg=0x7f1f4b565520) at core/action.c:1097 #5 0x000055e0541bf19c in run_actions (h=0x7f1f4b5653d0, a=0x7f1f501184f0, msg=0x7f1f4b565520) at core/action.c:1584 #6 0x000055e0541bf952 in run_top_route (a=0x7f1f501184f0, msg=0x7f1f4b565520, c=0x0) at core/action.c:1669 #7 0x00007f1f4f9b71e2 in nats_run_cfg_route (rt=3, evname=0x7f1f4b80dfe8) at nats_mod.c:701 #8 0x00007f1f4f9ab75c in onMsg (nc=0x55e055c73dc0, sub=0x55e055c6fb50, msg=0x7f1f44009c50, closure=0x7f1f4b80dfd8) at nats_mod.c:86 #9 0x00007f1f4f978a4d in natsSub_deliverMsgs () from /usr/local/lib/libnats.so.3.6 #10 0x00007f1f4f981710 in _threadStart () from /usr/local/lib/libnats.so.3.6 #11 0x00007f1f508a8fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #12 0x00007f1f5092966c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 ```
It works well.
Can you try with master branch or the commit referenced above as an alternative fix inside the nats module?
master work well.
Closed #3395 as completed.