Hello Henning, hello Daniel,
Henning Westerholt schrieb:
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 We will try
this and inform you about the results.
May 20 15:31:55 AmbriaSip1
/usr/local/sbin/kamailio[27679]:
INFO:core:handle_sigs: terminating due to SIGCHLD
May 20 15:31:55 AmbriaSip1 /usr/local/sbin/kamailio[27681]:
INFO:core:sig_usr: signal 15 received
May 20 15:31:55 AmbriaSip1 /usr/local/sbin/kamailio[27681]: Memory
status (pkg):
May 20 15:31:55 AmbriaSip1 /usr/local/sbin/kamailio[27681]: qm_status
(0x81677e0):
May 20 15:31:55 AmbriaSip1 /usr/local/sbin/kamailio[27681]: heap size=
1048576
The complete output of the memory status is available here:
https://rcpt.yousendit.com/690295962/7b39d332264f086b1bf0f134c026fad3
From the logs it seems that indeed a log of memory was allocated from
the pv core. One of the main callers is pv_parse_ht_name, which is
from the htable module. Not sure if this is a valid condition that it
allocates that much pkg_mem, Daniel, can you perhaps take a look?
For one child
process we checked, how many allocated fragments had not
been freed:
[...]
173 -> mk_action(106)
237 -> addstr(787)
3277 -> pv_parse_ht_name(121)
3361 -> pv_parse_format(727)
So we had a look at pv_parse_ht_name() and we wonder, wheter the
variable hpv is freed. Before "return 0" it is used but not freed.
Additionaly the return from pv_parse_format() (&hpv->pve) seems not to
be freed.
Could this be the problem?
Regards,
Christian