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