<!-- Kamailio Project uses GitHub Issues only for bugs in the code or feature requests.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list
* http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
If you submit a feature request (or enhancement), you can delete the text of the template and only add the description of what you would like to be added.
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 Hi all, i’m using kamailio 4.4.6 , and when I call the rpc dialog “profile_list_dlgs” , sometimes I have a segmentation fault. Can you help me to understand why it happened ? Thanks for your support
<!-- Explain what you did, what you expected to happen, and what actually happened. -->
### Troubleshooting
#### Reproduction
<!-- If the issue can be reproduced, describe how it can be done. -->
#### 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. -->
``` This is the dump:
Program terminated with signal 11, Segmentation fault. #0 0x00007f49ee062e07 in internal_rpc_print_dlg (rpc=0x7f49ed99e9c0, c=0x7f49ed99e960, dlg=0x7f49ef89ba38, with_context=0) at dialog.c:1548 1548 if (pl->profile->has_value) { Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 lua-5.1.4-4.1.el6.x86_64 mysql-libs-5.1.73-7.el6.x86_64 nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64 openssl-1.0.1e-48.el6_8.3.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) bt full #0 0x00007f49ee062e07 in internal_rpc_print_dlg (rpc=0x7f49ed99e9c0, c=0x7f49ed99e960, dlg=0x7f49ef89ba38, with_context=0) at dialog.c:1548 rpc_cb = {rpc = 0x3031ea0, c = 0x400} h = 0x2d21e60 sh = 0x2d1db70 ssh = 0x2d20050 pl = 0x7f49ef18c588 var = 0x0 __FUNCTION__ = "internal_rpc_print_dlg" #1 0x00007f49ee0637b3 in internal_rpc_profile_print_dlgs (rpc=0x7f49ed99e9c0, c=0x7f49ed99e960, profile_name=0x7fff65fcb1a0, value=0x0) at dialog.c:1681 profile = 0x7f49ee5aca88 ph = 0x7f49eeb5b670 i = 2 #2 0x00007f49ee063e64 in rpc_profile_print_dlgs (rpc=0x7f49ed99e9c0, c=0x7f49ed99e960) at dialog.c:1785 profile_name = {s = 0x3031e80 "outbound", len = 8} value = {s = 0x0, len = 0} #3 0x00007f49ed78960f in jsonrpc_dispatch (msg=0x7fff65fcc5a0, s1=0x0, s2=0x0) at jsonrpc-s_mod.c:1098 rpce = 0x7f4a13212d30 ctx = 0x7f49ed99e960 ret = 0 nj = 0x3031ab0 val = {s = 0x3032030 "dlg.profile_list", len = 16} __FUNCTION__ = "jsonrpc_dispatch" #4 0x000000000041f75d in do_action (h=0x7fff65fcc4c0, a=0x7f4a13189e28, msg=0x7fff65fcc5a0) at action.c:1054 ```
#### 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). -->
``` the result to the commands p *pl and p *pl->profile
#0 0x00007f49ee062e07 in internal_rpc_print_dlg (rpc=0x7f49ed99e9c0, c=0x7f49ed99e960, dlg=0x7f49ef89ba38, with_context=0) at dialog.c:1548 1548 if (pl->profile->has_value) { Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 lua-5.1.4-4.1.el6.x86_64 mysql-libs-5.1.73-7.el6.x86_64 nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64 openssl-1.0.1e-48.el6_8.3.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) p *pl $1 = {hash_linker = {value = {s = 0x113ef180024 <Address 0x113ef180024 out of bounds>, len = -277948848}, dlg = 0x7f49ef18c5b8, puid = "\n\000\000\000-5a9\303\305\030\357I\177\000\000S\000\000\000\060\062\060\063in_routing\000CR=6@", puid_len = 1598313555, expires = 3977578104333875508, flags = 876097589, linker = 0x422d30263936313d, next = 0x3d50542c36343d4f, prev = 0x52542c3634303730, hash = 1028345429}, next = 0x50542c36343d4f42, profile = 0x542c36343037303d} (gdb) p *pl->profile Cannot access memory at address 0x542c36343037303d
```
#### 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`
``` (paste your output here) ```
* **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 `uname -a`) -->
``` (paste your output here) ```
Can you also get from gdb the output for next command?
``` p *dlg ```
You can also try to upgrade to 4.4.7. There were several fixes in this release since 4.4.6, in this way you ensure that this is not a side effect of something already fixed. There is no change to config or database that you need to run 4.4.7 over an installation running 4.4.6.
Hello, this is another core dump.. Thanks
``` Program terminated with signal 11, Segmentation fault. #0 0x00007fd2cfd3ae07 in internal_rpc_print_dlg (rpc=0x7fd2cf6769c0, c=0x7fd2cf676960, dlg=0x7fd2d0d380a0, with_context=0) at dialog.c:1548 1548 if (pl->profile->has_value) { Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 lua-5.1.4-4.1.el6.x86_64 mysql-libs-5.1.73-7.el6.x86_64 nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64 openssl-1.0.1e-48.el6_8.3.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) bt full #0 0x00007fd2cfd3ae07 in internal_rpc_print_dlg (rpc=0x7fd2cf6769c0, c=0x7fd2cf676960, dlg=0x7fd2d0d380a0, with_context=0) at dialog.c:1548 rpc_cb = {rpc = 0x1e4e8c0, c = 0x400} h = 0x152fe50 sh = 0x152f180 ssh = 0x152f110 pl = 0x7fd2d14571a0 var = 0x0 __FUNCTION__ = "internal_rpc_print_dlg" #1 0x00007fd2cfd3b7b3 in internal_rpc_profile_print_dlgs (rpc=0x7fd2cf6769c0, c=0x7fd2cf676960, profile_name=0x7ffde7de9130, value=0x0) at dialog.c:1681 profile = 0x7fd2d0284fa8 ph = 0x7fd2d1b25b60 i = 14 #2 0x00007fd2cfd3be64 in rpc_profile_print_dlgs (rpc=0x7fd2cf6769c0, c=0x7fd2cf676960) at dialog.c:1785 profile_name = {s = 0x1e4e8a0 "outbound", len = 8} value = {s = 0x0, len = 0}
```
``` (gdb) p *pl $1 = {hash_linker = {value = {s = 0x7fd2d14571b0 "{ "event": "FAILED", "time": "1521473420", "uuid": "M+15214734208824300#", "callid": "sbcthLNQ6axDnaILIBHBzIyTlG9qWpspomG@gPII.f55IV.Xf5.D-f8gXYW.OY"}\n", len = 151}, dlg = 0x746e65766522207b, puid = "": "FAILED", "time": "1521473420", "uuid", puid_len = 572537378, expires = 3472895657230217522, flags = 875706424, linker = 0x6c6c616322202c22, next = 0x627322203a226469, prev = 0x6136514e4c687463, hash = 1634616440}, next = 0x476c5479497a4248, profile = 0x6d6f707370577139} ``` ``` (gdb) p *pl->profile Cannot access memory at address 0x6d6f707370577139 ``` ``` (gdb) p *dlg $2 = {ref = 3, next = 0x0, prev = 0x7fd2d1854678, h_id = 3929, h_entry = 3918, state = 5, lifetime = 5500, init_ts = 1521473406, start_ts = 1521473434, end_ts = 0, dflags = 647, iflags = 1, sflags = 0, toroute = 8, toroute_name = {s = 0x7fd2d1511360 "DLG_TIMEOUT_ROUTE", len = 17}, from_rr_nb = 0, tl = {next = 0x7fd2d14fb120, prev = 0x7fd2d5594530, timeout = 37885875}, callid = { s = 0x7fd2d0d38208 "26474f4b1c34790a16b3316a2d74bed2@xxxxxxsip:+yyyyyyy@xxxxxxsip:yyyyyyy@xxxxxxsip:yyyyyyy@xxxxxx1\020", len = 46}, from_uri = { s = 0x7fd2d0d38236 "sip:+yyyyyyy@xxxxxxsip:yyyyyyy@xxxxxxsip:yyyyyyy@xxxxxx1.2311\020", len = 30}, to_uri = { s = 0x7fd2d0d38254 "sip:yyyyyyy@xxxxxxsip:yyyyyyy@xxxxxx1.2311\020", len = 35}, req_uri = {s = 0x7fd2d0d38277 "sip:yyyyyyy@xxxxxx1.2311\020", len = 35}, tag = {{ s = 0x7fd2d1612a50 "as5b06478aT_ROUTE", len = 10}, {s = 0x7fd2d0b186b0 "as25b2cb94tor", len = 10}}, cseq = {{s = 0x7fd2d2146518 "102kur", len = 3}, {s = 0x7fd2d15ed040 "0erkur", len = 1}}, route_set = {{s = 0x0, len = 0}, {s = 0x0, len = 0}}, contact = {{s = 0x7fd2d1ec7de0 "sip:+xxxxxxxxx@xxxxxx:5061", len = 35}, {s = 0x7fd2d1ab8838 "sip:xxxxxxxxxxxx@xxxxxx\370\004", len = 32}}, bind_addr = {0x7fd2f4d3d0b0, 0x7fd2f4d3d0b0}, cbs = {first = 0x0, types = 0}, profile_links = 0x7fd2d0dcbfe0, vars = 0x7fd2d2d6edb0} ```
Can you try with the patch from commit 8bc037bc87ced907b8b2e59a2c5fcb45291836fd? It is in master branch, but if all ok, then I will backport.
Reopen if still an issue after the patch referenced in the previous comment.
Closed #1482.