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
Index: proxy.c =================================================================== --- proxy.c (revision 5842) +++ proxy.c (working copy) @@ -184,7 +184,6 @@ ser_error=ret=E_OUT_OF_MEM; pkg_free(dst->h_name); for(r=0; dst->h_aliases[r]; r++) pkg_free(dst->h_aliases[r]); - pkg_free(dst->h_aliases[r]); pkg_free(dst->h_aliases); goto error; } @@ -195,7 +194,6 @@ ser_error=ret=E_OUT_OF_MEM; pkg_free(dst->h_name); for(r=0; dst->h_aliases[r]; r++) pkg_free(dst->h_aliases[r]); - pkg_free(dst->h_aliases[r]); pkg_free(dst->h_aliases); for (r=0; r<i;r++) pkg_free(dst->h_addr_list[r]); pkg_free(dst->h_addr_list);
_______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users