On Dienstag, 26. Mai 2009, Christian Koch wrote:
Can you configure the kamailio server that it generates a core file? Then take a look to the backtrace where the invalid memory access was done, to verify if its really crashed in the core function, or perhaps some other parts has a problem here. Further informations: http://www.kamailio.org/dokuwiki/doku.php/troubleshooting:corefiles
Hi Christian,
We generated a core file, the output of the backtrace is:
(gdb) bt #0 0x00b237a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x00b64825 in raise () from /lib/tls/libc.so.6 #2 0x00b66289 in abort () from /lib/tls/libc.so.6 #3 0x080c4436 in qm_free (qm=0x81677e0, p=0x0, file=0x811728e "proxy.c", func=0x811724e "hostent_cpy", line=187) at mem/q_malloc.c:444 #4 0x0807e329 in hostent_cpy (dst=0x8266e28, src=0x8146134) at proxy.c:187 [..]
Thanks for the backtrace, you could try the attached patch (for 1.5.x) if it solves the crash for you. The additional free after the loop looks indeed a bit suspicious.
So, there may be an error in proxy.c, but perhaps the reason for our problem is in modules/htable/ht_var.c in pv_parse_ht_name(), where the variable hpv is not freed? Any comments on pv_parse_ht_name() are greatly appreciated. We could try to fix this, but we're not sure about the sideeffects.
I also suspect the reason for the crash lays in this area. I did not wrote that module, thus i asked Daniel.
Regards, Henning