Thank's for reply Tino
follows the content of "print m" in gdb:
*
Program terminated with signal 11, Segmentation fault.
#0 init_mod_child (m=0xa238, rank=4) at sr_module.c:827
827 sr_module.c: Arquivo ou diretório não encontrado.
in sr_module.c
(gdb)
(gdb)
(gdb)
(gdb) print m
$1 = (struct sr_module *) 0xa238
(gdb) p m
$2 = (struct sr_module *) 0xa238
(gdb) p *m
Cannot access memory at address 0xa238
(gdb)*
I'm trying to understand why "m" become messy only when I load my
loadbalance.so module... it was written to SER and now I'm porting it to the
kamailio.
Best Regards
2011/11/9 Timo Reimann <sr(a)foo-lounge.de>
Hey Bruno,
Am 09.11.2011 um 20:31 schrieb Bruno Bresciani:
Kamailio 3.1.2 terminated with signal 11,
segmentation fault, in the
init_mod_child function at sr_module.c file. This
problem occurs only when
I try loading the loadbalance.so module, it was written by me.
Someone Can help me to understand why this segmentation fault was
generated? There
are two other module written by me and this problem
doesn't happen.
Kamailio's trace:
9(27616) DEBUG: db_postgres [km_pg_con.c:80]: PQsetdbLogin(0x8db2878)
9(27616) DEBUG: <core> [sr_module.c:828]: DEBUG: init_mod_child (5): sl
9(27616) DEBUG: <core> [sr_module.c:828]: DEBUG: init_mod_child (5):
auth_db
9(27616) DEBUG: <core> [db.c:294]:
connection 0x82f4108 found in pool
9(27616) DEBUG: <core> [sr_module.c:828]: DEBUG: init_mod_child (5):
usrloc
9(27616) DEBUG: <core> [sr_module.c:828]:
DEBUG: init_mod_child (5):
mi_fifo
9(27616) DEBUG: <core> [sr_module.c:828]:
DEBUG: init_mod_child (5):
registrar
9(27616) DEBUG: <core> [sr_module.c:828]:
DEBUG: init_mod_child (5):
nathelper
9(27616) DEBUG: <core> [sr_module.c:828]:
DEBUG: init_mod_child (5):
permissions
9(27616) DEBUG: <core> [sr_module.c:828]:
DEBUG: init_mod_child (5):
loadbalance
9(27616) DEBUG: loadbalance
[loadbalance_mod.c:271]: loadbalance: child
started! (5)
9(27616) DEBUG: <core> [sr_module.c:828]:
DEBUG: init_mod_child (5):
route
0(27582) ALERT: <core> [main.c:741]: child
process 27585 exited by a
signal 11
0(27582) ALERT: <core> [main.c:744]: core
was generated
0(27582) INFO: <core> [main.c:756]: INFO: terminating due to SIGCHLD
8(27615) INFO: <core> [main.c:807]: INFO: signal 15 received
8(27615) DEBUG: <core> [main.c:818]: Memory status (pkg):
8(27615) DEBUG: fm_status: fm_status (0x82aefc0):
8(27615) DEBUG: fm_status: heap size= 4194304
8(27615) DEBUG: fm_status: used= 236720, used+overhead=264064,
free=3930240
8(27615) DEBUG: fm_status: max used
(+overhead)= 299824
8(27615) DEBUG: fm_status: dumping free list:
8(27615) DEBUG: fm_status: hash = 1 fragments no.: 27, unused:
0
bucket size: 8 -
8 (first 8)
8(27615) DEBUG: fm_status: hash = 44 fragments no.: 1, unused:
0
bucket size: 352 -
352 (first 352)
8(27615) DEBUG: fm_status: hash = 74 fragments no.: 1, unused:
0
bucket size: 592 -
592 (first 592)
8(27615) DEBUG: fm_status: hash = 77 fragments no.: 1, unused:
0
bucket size: 616 -
616 (first 616)
8(27615) DEBUG: fm_status: hash = 81 fragments no.: 1, unused:
0
bucket size: 648 -
648 (first 648)
8(27615) DEBUG: fm_status: hash = 84 fragments no.: 1, unused:
0
bucket size: 672 -
672 (first 672)
8(27615) DEBUG: fm_status: hash = 113 fragments no.: 51, unused:
0
bucket size: 904 -
904 (first 904)
8(27615) DEBUG: fm_status: hash = 2056 fragments no.: 1, unused:
0
gdb bt full trace:
Reading symbols from
/media/sda1/local/kamailio/lib/kamailio/modules/route.so...done.
Loaded symbols for
/home2/local/kamailio/lib/kamailio/modules/route.so
Reading symbols from
/media/sda1/local/kamailio/lib/kamailio/modules/rtpproxy.so...done.
Loaded symbols for
/home2/local/kamailio/lib/kamailio/modules/rtpproxy.so
Reading symbols from
/media/sda1/local/kamailio/lib/kamailio/modules/tls.so...done.
Loaded symbols for
/home2/local/kamailio/lib/kamailio/modules/tls.so
Reading symbols from
/media/sda1/local/kamailio/lib/kamailio/modules/perms_db.so...done.
Loaded symbols for
/home2/local/kamailio/lib/kamailio/modules/perms_db.so
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
Core was generated by `/home2/local/kamailio/sbin/kamailio -P
/var/run/kamailio.pid'.
Program terminated with signal 11, Segmentation
fault.
#0 init_mod_child (m=0xa238, rank=2) at sr_module.c:827
827 sr_module.c: Arquivo ou diretório não encontrado.
in sr_module.c
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt full
#0 init_mod_child (m=0xa238, rank=2) at sr_module.c:827
No locals.
#1 0x00000000 in ?? ()
No symbol table info available.
(gdb)
The address of the "m" struct in init_mod_child looks awkward. Although
it's non-null, it's probably not within the validity range of the process's
address space, thereby causing a segfault. You can verify this by
investigating the coredump in gdb and printing m's content with "print m".
If my assumption holds, try figuring out why m became messy in the first
place.
HTH,
--Timo