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(a)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(a)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/