On Solaris they seem to manage core dumps a little differently. Only 3 processes produced core dumps. I have included the text files of the back trace.
Thanks
Nathaniel
On 4/15/2012 5:34 AM, Daniel-Constantin Mierla wrote:
Hello,
this one seems from the main process during the shut down cleanup. Perhaps the core from main process overwritten the one from worker process. Can you enable one core file per process in Solaris? In linux is possible via:
echo "1"> /proc/sys/kernel/core_uses_pid Then you have to reproduce the case and get the backtraces from each corefile.
Cheers, Daniel
On 4/14/12 6:58 PM, Akan wrote:
Here is the output from gdb that you requested:
Core was generated by `./kamailio'. Program terminated with signal 10, Bus error. #0 0x00000001001c9ff0 in cfg_destory_groups () at cfg/cfg_struct.c:306 306 old_string = *(char **)(block + group->var_offset + mapping[i].offset); (gdb) bt full #0 0x00000001001c9ff0 in cfg_destory_groups () at cfg/cfg_struct.c:306 group = 0x1004e2528 def = <value optimized out> i = <value optimized out> group2 = <value optimized out> mapping = 0x1004e23d8 old_string = <value optimized out> #1 cfg_destroy () at cfg/cfg_struct.c:398 __FUNCTION__ = "cfg_destroy" #2 0x0000000100060d44 in cleanup (show_status=1) at main.c:553 memlog = <value optimized out> __FUNCTION__ = "cleanup" #3 0x0000000100061ae0 in shutdown_children (show_status=<value optimized out>, sig=15) at main.c:678 No locals. #4 0x0000000100063470 in handle_sigs () at main.c:769 chld = 0 chld_status = 0 memlog = <value optimized out> #5 0x0000000100066310 in main_loop () at main.c:1713 i = <value optimized out> pid = <value optimized out> si = <value optimized out> si_desc = "udp receiver child=3 sock=209.252.110.38:5060\000óÐ\000\000\000\001\000BE\000\000\000\000\000\000\000\000\002ÿÿÿÿ\177ÿóÁ\000\000\000\001\000\037z\200", '\000' <repeats 14 times>, "gÐÿÿÿÿÿÿÿýÿÿÿÿÿÿÿýÿÿÿÿÿÿÿýÿÿÿÿÿÿÿý" #6 0x00000001001f7e94 in main (argc=<value optimized out>, argv=<value optimized out>) at main.c:2475 cfg_stream = <value optimized out> c = <value optimized out> r = -1 tmp = 0x0 tmp_len = 0 options = 0x100222858 ":f:cm:M:dVhEb:l:L:n:vrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:" seed = 660384647 rfd = <value optimized out> debug_save = <value optimized out> debug_flag = <value optimized out> dont_fork_cnt = <value optimized out> n_lst = 0x100000 p = <value optimized out> (gdb)
Thanks
Nathaniel
On 4/14/2012 3:10 AM, Daniel-Constantin Mierla wrote:
Hello,
from the log messages, you got a core dump file. Locate it (should be in / if you haven't specified -w 'path' or solaris does not have a special directory for corefiles) and get the back trace:
gdb /path/to/kamailio /path/to/corefile
Then inside gdb execute 'bt full' and send the output here.
Cheers, Daniel
On 4/14/12 2:56 AM, Akan Technology wrote:
hello,
I am running kamailio 3.2.2 on Solaris 10 64 bit and I am getting a core dump on this statement:
$ru = "sip:" + $rU + "@" + $sel(cfg_get.registrar1.server_ip) + $sel(cfg_get.registrar1.server_port);
Here is how the variable is defined:
registrar1.server_ip = "xxx.xxx.xxx.xxx" desc "Registrar server IP address" registrar1.server_port = "5080" desc "Registrar server Port"
Here is the output from the logs with debug:
10(25373) ERROR: *** cfgtrace: c=[/opt/kamailio-3.2/etc/kamailio/kamailio.cfg] l=1072 a=65 n=assign 10(25373) DEBUG: <core> [select.c:424]: Calling SELECT 1004b2bc0 10(25373) DEBUG: <core> [select.c:424]: Calling SELECT 1004b4da0 10(25373) ERROR: *** cfgtrace:14(25377) : <core> [pass_fd.c:293]: ERROR: receive_fd: EOF on 22 14(25377) DEBUG: <core> [tcp_main.c:3555]: DBG: handle_ser_child: dead child 10, pid 25373 (shutting down?) 14(25377) DEBUG: <core> [io_wait.h:617]: DBG: io_watch_del (1003738b8, 22, 0, 0x0) fd_no=18 called 14(25377) DEBUG: <core> [tcp_main.c:3316]: DBG: handle_tcp_child: dead tcp child 0 (pid 25373, no 10) (shutting down?) 14(25377) DEBUG: <core> [io_wait.h:617]: DBG: io_watch_del (1003738b8, 24, 1, 0x0) fd_no=17 called 0(25363) ALERT: <core> [main.c:751]: child process 25373 exited by a signal 11 0(25363) ALERT: <core> [main.c:754]: core was generated 0(25363) INFO: <core> [main.c:766]: INFO: terminating due to SIGCHLD 14(25377) INFO: <core> [main.c:817]: INFO: signal 15 received
Here is the full route code:
route[TO_REGISTRAR] {
# check if Registrar server's IP is defined if (strempty($sel(cfg_get.registrar1.server_ip))) { xlog("SCRIPT: REGISTRAR - registrar1.server_ip not
defined\n"); return;
} $ru = "sip:" + $rU + "@" +
$sel(cfg_get.registrar1.server_ip) + ":" + $sel(cfg_get.registrar1.server_port);
route(RELAY); exit;
} # End of TO_Registrar Route
I am trying to setup the proxy server to route all registers requests to another kamailio server
Thanks
Nathaniel
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany http://www.asipto.com/index.php/kamailio-advanced-training/
No virus found in this message. Checked by AVG - www.avg.com http://www.avg.com Version: 2012.0.1913 / Virus Database: 2411/4937 - Release Date: 04/14/12