Juha Heinanen wrote:
i installed a very bare debian squeeze on a virtual
host on the same pc
and there kamailio starts fine.
kamailio started fine on virtual host, but the reason turned out to be
that i didn't have geoip enabled in the virtual host kamailio instance.
once i loaded also geoip module, kamailio crashed the same way as on the
real host. i also tried another real host running debian squeeze and
also there, kamailio crashes if and only if geoip module is enabled.
the crash happens very early during config processing. on one host like
this:
(gdb) where
#0 0xb7870424 in __kernel_vsyscall ()
#1 0xb75ce781 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb75d1bb2 in abort () from /lib/i686/cmov/libc.so.6
#3 0xb760f584 in ?? () from /lib/i686/cmov/libc.so.6
#4 0xb7611fd4 in ?? () from /lib/i686/cmov/libc.so.6
#5 0xb7613d8c in malloc () from /lib/i686/cmov/libc.so.6
#6 0xb765a7ac in ?? () from /lib/i686/cmov/libc.so.6
#7 0xb765b33e in regcomp () from /lib/i686/cmov/libc.so.6
#8 0x0809a880 in set_mod_param_regex (
regex=0xb71a25f0
"auth_db|dialplan|domain|htable|lcr|local|msilo|mtree|permissions|usrloc",
name=0xb71a2678 "db_url", type=1, val=0xb71a2700)
at modparam.c:86
#9 0x081807dd in yyparse () at cfg.y:1733
#10 0x08095d9f in main (argc=18, argv=0xbf808934) at main.c:2084
and on another like this:
#0 0xb788a424 in __kernel_vsyscall ()
#1 0xb75e3781 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xb75e6bb2 in *__GI_abort () at abort.c:92
#3 0xb7624584 in __malloc_assert (assertion=<value optimized out>, file=<value
optimized out>, line=4636,
function=0xb76dbc10 "_int_malloc") at malloc.c:352
#4 0xb7626fd4 in _int_malloc (av=<value optimized out>, bytes=<value optimized
out>) at malloc.c:4636
#5 0xb7628d8c in *__GI___libc_malloc (bytes=8) at malloc.c:3661
#6 0xb769690a in nss_parse_file (database=0xb76dcf07 "passwd",
alternate_name=0x0,
defconfig=0xb76e0d40 "compat [NOTFOUND=return] files", ni=0xb76ff834) at
nsswitch.c:542
#7 *__GI___nss_database_lookup (database=0xb76dcf07 "passwd",
alternate_name=0x0,
defconfig=0xb76e0d40 "compat [NOTFOUND=return] files", ni=0xb76ff834) at
nsswitch.c:134
#8 0xb769728e in *__GI___nss_passwd_lookup2 (ni=0xbf96ebe8, fct_name=<value optimized
out>,
fct2_name=<value optimized out>, fctp=0xbf96ebe4) at XXX-lookup.c:71
#9 0xb764f7ff in __getpwnam_r (name=0xbf96f8cc "root", resbuf=0xb76fdc1c,
buffer=0x9497150 "\320\323o\267\320\323o\267d symbol: mod_register",
buflen=1024, result=0xbf96ec18)
at ../nss/getXXbyYY_r.c:200
#10 0xb764f14f in getpwnam (name=0xbf96f8cc "root") at ../nss/getXXbyYY.c:117
#11 0x08134560 in user2uid (uid=0x81f1c20, gid=0x81f1c24, user=0xbf96f8cc
"root") at ut.c:57
#12 0x080ebb91 in init_shm () at shm_init.c:63
#13 0x081807aa in yyparse () at cfg.y:1728
#14 0x08095d9f in main (argc=18, argv=0xbf96f324) at main.c:2084
crash happens no matter if my local module is loaded or it is not the
culprit.
could there be something wrong with geoip module even when the
backtraces are not geoip related?
any suggesting on how to dig further are welcome.
-- juha