[Kamailio-Users] perl module, "pv_sprintf: Memory exhausted!"

Christian Koch chri.koch.vier at googlemail.com
Mon May 25 12:06:04 CEST 2009


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



More information about the Users mailing list