<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi,<br>
    <br>
    Looking roughly in the pua_xmpp module I found some error cases
    where the memory allocated by libxml2 was not freed. I have fixed
    them now in master.<br>
    Not sure though if there are related to the memory leak Laura
    observed. Laura, can you check if there were any error messages in
    the logs printed by pua_xmpp module?<br>
    <br>
    Regards,<br>
    Anca<br>
    <br>
    <br>
    <br>
    On 01/26/2012 03:06 PM, Peter Dunkley wrote:
    <blockquote cite="mid:1327583180.2572.5.camel@pd-laptop-linux"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="GENERATOR" content="GtkHTML/4.2.2">
      Hello,<br>
      <br>
      Some of the memory leaks we found here at Crocodile were to do
      with the use of libxml2.<br>
      <br>
      Various calls to libxml2 functions resulted in libxml2 malloc'ing
      memory.  This means you have to call the appropriate xmlFree...()
      functions in the Kamailio modules to free up this memory.  In some
      places xmlFree() wasn't called, in other places xmlFree() was
      called when a different function (for example, xmlFreeDoc())
      should have been used.<br>
      <br>
      These memory leaks were not in Kamailio shared or private memory
      so the statistics from Kamailio didn't show anything unusual.<br>
      <br>
      As xmpp is an XML based protocol I would start by looking at where
      libxml2 functions which allocate memory are being used and confirm
      that the correct xmlFree...() functions are called during both
      normal and abnormal cases.<br>
      <br>
      Regards,<br>
      <br>
      Peter<br>
      <br>
      <br>
      On Thu, 2012-01-26 at 14:53 +0200, Marius Zbihlei wrote:
      <blockquote type="CITE">
        <pre>On 01/26/2012 02:34 PM, laura testi wrote:
&gt; Hi Hennings,
&gt; thanks a lot for your answer.
&gt;
&gt; I'm sending you other information about our Kamailio xmpp server.
&gt;
&gt; in attach the "sercmd cfg.set_now_int core mem_dump_shm" output.
&gt;
&gt; And here:
&gt;
&gt; kamctl fifo get_statistics | grep mem
&gt;
&gt; shmem:fragments = 13107
&gt; shmem:free_size = 99724520
&gt; shmem:max_used_size = 57559216
&gt; shmem:real_used_size = 34493208
&gt; shmem:total_size = 134217728
&gt; shmem:used_size = 25651280
&gt;
&gt; Thanks an kind regards,
Hello,

This seems pretty low (and normal). Probably there are some problems 
with external libraries (API) using malloc and not properly freeing 
memory. This is not a problem with the library itself, but more with the 
way the library is used. For example the libpcre library had this sort 
of leak when used in the regex modules.

Look for external libraries (by checking the dependency list) for the 
custom setup you have. Then, try to match every external library 
instantiation(allocation) (via library method) to a corresponding 
release of resources.

Cheers
Marius

</pre>
      </blockquote>
      <br>
      <table cellpadding="0" cellspacing="0" width="100%">
        <tbody>
          <tr>
            <td>
              <pre>-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </blockquote>
    <br>
  </body>
</html>