<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Charles,<br>
    <br>
    perhaps Olle can give more details about how he is running it. I was
    on an irc-like chat with him reporting and testing, as I wanted to
    see if there is anything that can be fixed before building v4.2.2.<br>
    <br>
    On the other hand, not initializong peer_list and
    dmq_init_callback_done to NULL and accessing them without check is
    exposing at list the problem from destroy() function. Kamailio calls
    destroy even if the module was not initialized. Not initializing
    dmq_init_callback_done at declaration to NULL results in a random
    value for it (C doesn't do implicit initialization), practically shm
    freeing an invalid pointer in destroy function.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 08/01/15 16:02, Charles Chance
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAOvxgzDK8xm_mP47ca-uZ13NLVj94BvACn0Z=Lw26ngBiV4xhQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi Daniel,
        <div><br>
        </div>
        <div>I was wondering, did you find some way in which this was
          causing the issue?</div>
        <div><br>
        </div>
        <div>Theoretically, if the module is loaded successfully then
          peer_list cannot be null...<br>
        </div>
        <div><br>
        </div>
        <div>(dmq.c)</div>
        <div><br>
        </div>
        <div>
          <div>static int mod_init(void)<br>
          </div>
          <div>{</div>
        </div>
        <div>...</div>
        <div>
          <div>        /* load peer list - the list containing the
            module callbacks for dmq */</div>
          <div>        peer_list = init_peer_list();</div>
          <div>        if(peer_list==NULL) {</div>
          <div>                LM_ERR("cannot initialize peer list\n");</div>
          <div>                return -1;</div>
          <div>        }</div>
        </div>
        <div>...</div>
        <div><br>
        </div>
        <div>Also, peer_list should always contain the local
          notification peer, added during startup and prior to
          run_init_callbacks() ever being called:</div>
        <div><br>
        </div>
        <div>...</div>
        <div>
          <div>        /**</div>
          <div>         * add the dmq notification peer.</div>
          <div>         * the dmq is a peer itself so that it can
            receive node notifications</div>
          <div>         */</div>
          <div>        if(add_notification_peer()<0) {</div>
          <div>                LM_ERR("cannot add notification peer\n");</div>
          <div>                return -1;</div>
          <div>        }</div>
        </div>
        <div>...</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Am I missing something obvious?<br>
        </div>
        <div><br>
        </div>
        <div>Best,</div>
        <div>Charles<br>
        </div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 8 January 2015 at 13:21,
          Daniel-Constantin Mierla <span dir="ltr"><<a
              moz-do-not-send="true" href="mailto:miconda@gmail.com"
              target="_blank">miconda@gmail.com</a>></span> wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">Module:
            kamailio<br>
            Branch: master<br>
            Commit: cc5f96f9c847d285085b0b9809ff0db76ea0a835<br>
            URL: <a moz-do-not-send="true"
href="https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835"
              target="_blank">https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835</a><br>
            <br>
            Author: Daniel-Constantin Mierla <<a
              moz-do-not-send="true" href="mailto:miconda@gmail.com">miconda@gmail.com</a>><br>
            Committer: Daniel-Constantin Mierla <<a
              moz-do-not-send="true" href="mailto:miconda@gmail.com">miconda@gmail.com</a>><br>
            Date: 2015-01-08T14:20:58+01:00<br>
            <br>
            dmq: safety check for peer_list when calling the callbacks<br>
            <br>
            - can result in crashing if it is not set<br>
            - reported by Olle E. Johansson<br>
            <br>
            ---<br>
            <br>
            Modified: modules/dmq/notification_peer.c<br>
            <br>
            ---<br>
            <br>
            Diff:  <a moz-do-not-send="true"
href="https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835.diff"
              target="_blank">https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835.diff</a><br>
            Patch: <a moz-do-not-send="true"
href="https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835.patch"
              target="_blank">https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835.patch</a><br>
            <br>
            ---<br>
            <br>
            diff --git a/modules/dmq/notification_peer.c
            b/modules/dmq/notification_peer.c<br>
            index 1d804bd..b493717 100644<br>
            --- a/modules/dmq/notification_peer.c<br>
            +++ b/modules/dmq/notification_peer.c<br>
            @@ -173,6 +173,10 @@ int extract_node_list(dmq_node_list_t*
            update_list, struct sip_msg* msg)<br>
             int run_init_callbacks() {<br>
                    dmq_peer_t* crt;<br>
            <br>
            +       if(peer_list==0) {<br>
            +               LM_WARN("peer list is null\n");<br>
            +               return 0;<br>
            +       }<br>
                    crt = peer_list->peers;<br>
                    while(crt) {<br>
                            if (crt->init_callback) {<br>
            <br>
            <br>
            _______________________________________________<br>
            sr-dev mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a><br>
            <a moz-do-not-send="true"
              href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev"
              target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div class="gmail_signature">
          <div dir="ltr"><font face="arial, helvetica, sans-serif"><b><font>Charles
                  Chance</font></b><br>
              <font>Managing Director</font></font><br>
            <div><font face="arial, helvetica, sans-serif"><font><br>
                </font></font></div>
            <div><font face="arial, helvetica, sans-serif"><font>t. 0121
                  285 4400    m. 07932 063 891</font></font></div>
          </div>
        </div>
      </div>
      <br>
      <font face="Helvetica, Arial, sans-serif"><font size="2"><span
            style="font-size:10pt"><a moz-do-not-send="true"
              href="http://www.sipcentric.com/"
              title="blocked::http://www.sipcentric.com/"
              target="_blank">www.sipcentric.com</a><br>
            <br>
            Follow us on twitter <a moz-do-not-send="true"
              href="http://twitter.com/sipcentric"
              title="blocked::http://twitter.com/sipcentric"
              target="_blank">@sipcentric</a><br>
            <br>
            <font color="gray">Sipcentric Ltd. Company registered in
              England & Wales no. 7365592.</font> <font color="gray">Registered

              office: Faraday Wharf, Innovation Birmingham Campus, Holt
              Street, Birmingham Science Park, Birmingham B7 4BB.</font></span></font></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sr-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a></pre>
  </body>
</html>