Hi Daniel,<br><br>Thanks..Please find the logs<br><br>2010-12-17T10:29:04+00:00 [crit] sipserver: : &lt;core&gt; [mem/q_malloc.c:446]: BUG: qm_free: freeing already freed pointer, first free: tm: h_table.c: free_cell(141) - aborting<br>
2010-12-17T10:29:04+00:00 [crit] sipserver: : &lt;core&gt; [pass_fd.c:293]: ERROR: receive_fd: EOF on 11<br>2010-12-17T10:29:04+00:00 [alert] sipserver: ALERT: &lt;core&gt; [main.c:741]: child process 14398 exited by a signal 6<br>
2010-12-17T10:29:04+00:00 [alert] sipserver: ALERT: &lt;core&gt; [main.c:744]: core was generated<br>2010-12-17T10:29:04+00:00 [crit] sipserver: : &lt;core&gt; [mem/q_malloc.c:446]: BUG: qm_free: freeing already freed pointer, first free: tm: h_table.c: free_cell(141) - aborting<br>
<br><br>Jijo<br><br><div class="gmail_quote">On Thu, Dec 16, 2010 at 1:27 AM, Daniel-Constantin Mierla <span dir="ltr">&lt;<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hello,<br>
    <br>
    look into syslog file (/var/log/syslog or /var/log/messages if you
    didn&#39;t set a custom one) and search for a message like &quot;BUG:
    qm_free: freeing already freed pointer ...&quot;.. Send it here, seems to
    be a double free of same pointer.<br>
    <br>
    Thanks,<br>
    Daniel<div><div></div><div class="h5"><br>
    <br>
    On 12/16/10 12:34 AM, Jijo wrote:
    </div></div><blockquote type="cite"><div><div></div><div class="h5">I&#39;m observing a crash on qm_free, when we made two
      outgoing calls to the same number. One SIP phone receives ring
      back tone and the other busy tone. The back trace is shown below
      which shows that it is crashed in abort(). How can the condition  
      if (f-&gt;u.is_free){ could be true? <br>
      Please let me know if anybody observed this issue and let me know
      how to debug this isssue.<br>
      <br>
          f=(struct qm_frag*) ((char*)p-sizeof(struct qm_frag));<br>
      #ifdef DBG_QM_MALLOC<br>
          qm_debug_frag(qm, f);<br>
          if (f-&gt;u.is_free){<br>
              LOG(L_CRIT, &quot;BUG: qm_free: freeing already freed pointer,&quot;<br>
                      &quot; first free: %s: %s(%ld) - aborting\n&quot;,<br>
                      f-&gt;file, f-&gt;func, f-&gt;line);<b><br>
                abort();</b><br>
          }<br>
          MDBG(&quot;qm_free: freeing frag. %p alloc&#39;ed from %s: %s(%ld)\n&quot;,<br>
                  f, f-&gt;file, f-&gt;func, f-&gt;line);<br>
      #endif<br>
      <br>
      <br>
      BACKTRACE<br>
      -------------------<br>
      <br>
      <br>
      Program received signal SIGABRT, Aborted.<br>
      0xb76fd7a5 in raise () from /lib/libc.so.6<br>
      (gdb) bt full<br>
      #0  0xb76fd7a5 in raise () from /lib/libc.so.6<br>
      No symbol table info available.<br>
      #1  0xb76ff070 in abort () from /lib/libc.so.6<br>
      No symbol table info available.<br>
      #2  0x081824d5 in qm_free (qm=0xaf7ee000, p=0xaf9ed758,
      file=0xb7659aed &quot;tm: h_table.c&quot;, func=0xb7659c9c &quot;free_cell&quot;,
      line=141) at mem/q_malloc.c:447<br>
              f = &lt;value optimized out&gt;<br>
              prev = &lt;value optimized out&gt;<br>
              next = &lt;value optimized out&gt;<br>
              size = &lt;value optimized out&gt;<br>
      #3  0xb75ff6b9 in free_cell (dead_cell=0xaf9e7054) at
      h_table.c:141<br>
              b = &lt;value optimized out&gt;<br>
              i = &lt;value optimized out&gt;<br>
              rpl = &lt;value optimized out&gt;<br>
              tt = &lt;value optimized out&gt;<br>
              foo = &lt;value optimized out&gt;<br>
              cbs = &lt;value optimized out&gt;<br>
              cbs_tmp = &lt;value optimized out&gt;<br>
              __FUNCTION__ = &quot;free_cell&quot;<br>
      #4  0xb7625eb0 in t_unref (p_msg=0x847bb10) at t_lookup.c:1553<br>
              kr = &lt;value optimized out&gt;<br>
      #5  0xb764b3ad in w_t_unref (foo=0x847bb10, flags=2147483649,
      bar=0x0) at tm.c:707<br>
      No locals.<br>
      #6  0x0811543a in exec_post_script_cb (msg=0x847bb10,
      type=REQUEST_CB_TYPE) at script_cb.c:195<br>
              cb = 0x8867874<br>
              flags = 2147483649<br>
      #7  0x080e5a4e in receive_msg (<br>
          buf=0x82a89e0 &quot;ACK <a>sip:0845@10.80.13.54:5060;transport=udp</a>
      SIP/2.0\r\nVia: SIP/2.0/UDP
      10.200.3.39:5060;branch=z9hG4bK0a992e8d3052e85e5\r\nRoute:
      <a>&lt;sip:0845@10.200.0.31:5060;lr;transport=udp&gt;</a>\r\nMax-Forwards:
      69\r\nFrom: 554&quot;..., len=&lt;value optimized out&gt;,
      rcv_info=0xbf95b7fc) at receive.c:221<br>
              msg = 0x847bb10<br>
              ctx = {rec_lev = 137434160, run_flags = 0, last_retcode =
      -1080707352, jmp_env = {{__jmpbuf = {-1224488143, 137089696,
      137434092, 0, -1080707248,<br>
                      -1080707304}, __mask_was_saved = 0, __saved_mask =
      {__val = {3079133424, 134556827, 3079002384, 0, 3214260024,
      3070479287, 137089696,<br>
                        137434160, 3070572886, 3070573396, 228,
      137347864, 3214260056, 3077419768, 3079002384, 137089664,
      4294967295, 3079131124, 134556827,<br>
                        134535424, 1, 3079058382, 3079133864,
      3079003192, 1, 1, 0, 134555968, 0, 136548964, 3077419768,
      142823652}}}}}<br>
              ret = &lt;value optimized out&gt;<br>
              inb = {<br>
                s = 0x82a89e0 &quot;ACK
      <a>sip:0845@10.80.13.54:5060;transport=udp</a> SIP/2.0\r\nVia:
      SIP/2.0/UDP
      10.200.3.39:5060;branch=z9hG4bK0a992e8d3052e85e5\r\nRoute:
      <a>&lt;sip:0845@10.200.0.31:5060;lr;transport=udp&gt;</a>\r\nMax-Forwards:
      69\r\nFrom: 554&quot;..., len = 457}<br>
              __FUNCTION__ = &quot;receive_msg&quot;<br>
      #8  0x08175cb6 in udp_rcv_loop () at udp_server.c:532<br>
              len = &lt;value optimized out&gt;<br>
              buf = &quot;ACK <a>sip:0845@10.80.13.54:5060;transport=udp</a>
      SIP/2.0\r\nVia: SIP/2.0/UDP
      10.200.3.39:5060;branch=z9hG4bK0a992e8d3052e85e5\r\nRoute:
      <a>&lt;sip:0845@10.200.0.31:5060;lr;transport=udp&gt;</a>\r\nMax-Forwards:
      69\r\nFrom: 554&quot;...<br>
              from = 0x88350e4<br>
              fromlen = 16<br>
              ri = {src_ip = {af = 2, len = 4, u = {addrl = {654559242,
      0, 3214260312, 3079002384}, addr32 = {654559242, 0, 3214260312,
      3079002384}, addr16 = {<br>
                      51210, 9987, 0, 0, 47192, 49045, 55568, 46981},
      addr = &quot;\n\310\003&#39;\000\000\000\000X\270\225\277\020Ù<br>
      \267&quot;}}, dst_ip = {af = 2, len = 4,<br>
                  u = {addrl = {520144906, 0, 0, 0}, addr32 =
      {520144906, 0, 0, 0}, addr16 = {51210, 7936, 0, 0, 0, 0, 0, 0},<br>
                    addr = &quot;\n\310\000\037&quot;, &#39;\000&#39; &lt;repeats 11
      times&gt;}}, src_port = 5060, dst_port = 5060, proto_reserved1 =
      0, proto_reserved2 = 0, src_su = {<br>
                  s = {sa_family = 2, sa_data =
      &quot;\023\304\n\310\003&#39;\000\000\000\000\000\000\000&quot;}, sin =
      {sin_family = 2, sin_port = 50195, sin_addr = {<br>
                      s_addr = 654559242}, sin_zero =
      &quot;\000\000\000\000\000\000\000&quot;}, sin6 = {sin6_family = 2,
      sin6_port = 50195, sin6_flowinfo = 654559242,<br>
                    sin6_addr = {__in6_u = {__u6_addr8 = &#39;\000&#39;
      &lt;repeats 15 times&gt;, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
      __u6_addr32 = {0, 0, 0, 0}}},<br>
                    sin6_scope_id = 0}}, bind_address = 0x82f4140, proto
      = 1 &#39;\001&#39;}<br>
              __FUNCTION__ = &quot;udp_rcv_loop&quot;<br>
      #9  0x080ac1d4 in main_loop () at main.c:1554<br>
              i = &lt;value optimized out&gt;<br>
      ---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---<br>
              pid = &lt;value optimized out&gt;<br>
              si = &lt;value optimized out&gt;<br>
              si_desc = &quot;udp receiver child=0 sock=<a href="http://10.200.0.31:5060" target="_blank">10.200.0.31:5060</a>\000\b
      A\206\b\002\000\000\000\004\000\000\000\n\310\000\037L
\225\257H\271\225\277@\030\207\267\020i\203\b\006\000\000\000\000\340~\257\001\000\000\000\001\000\000\000\000\000\000\000\000\340~\257\004\000\000\000?)\037\b\001\000\000\000\a\000\000\000\000\000\000\000H\271\225\277\350\353\017\b&quot;<br>

      #10 0x080af2ec in main (argc=9, argv=0xbf95ba84) at main.c:2398<br>
              cfg_stream = 0x8cbe008<br>
              c = &lt;value optimized out&gt;<br>
              r = &lt;value optimized out&gt;<br>
              tmp = 0xbf95cdc0 &quot;&quot;<br>
              tmp_len = -1217394389<br>
              port = &lt;value optimized out&gt;<br>
              proto = &lt;value optimized out&gt;<br>
              options = 0x81ef340
      &quot;:f:cm:dVhEb:l:L:n:vrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:&quot;<br>
              ret = -1<br>
              seed = 3337198521<br>
              rfd = &lt;value optimized out&gt;<br>
              debug_save = &lt;value optimized out&gt;<br>
              debug_flag = &lt;value optimized out&gt;<br>
              dont_fork_cnt = 0<br>
              p = &lt;value optimized out&gt;<br>
      <br>
      Thanks<br>
      Jijo<br>
      <br>
      <span></span>
      </div></div><pre><fieldset></fieldset>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
    </blockquote>
    <br>
    <pre cols="72">-- 
Daniel-Constantin Mierla
Kamailio (OpenSER) Advanced Training
Jan 24-26, 2011, Irvine, CA, USA
<a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a></pre>
  </div>

</blockquote></div><br>