<div dir="ltr">Hi Daniel,<div><br></div><div>Thanks for your reply.</div><div><br></div><div>On 8 January 2015 at 15:15, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span> wrote:<br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div 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></div></blockquote><div><br></div><div>Will try to investigate further.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    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></div></blockquote><div> </div><div>Agreed - should be done anyway, regardless of whether it is related or not to the reported issue.</div><div><br></div><div>Best,</div><div>Charles</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div><div><br>
    <br>
    <div>On 08/01/15 16:02, Charles Chance
      wrote:<br>
    </div>
    </div></div><blockquote type="cite"><div><div>
      <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 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 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 href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>><br>
            Committer: Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">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 href="https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835.diff" target="_blank">https://github.com/kamailio/kamailio/commit/cc5f96f9c847d285085b0b9809ff0db76ea0a835.diff</a><br>
            Patch: <a 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 href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
            <a 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></div>
      </div></div><font face="Helvetica, Arial, sans-serif"><font><span style="font-size:10pt"><a href="http://www.sipcentric.com/" title="blocked::http://www.sipcentric.com/" target="_blank">www.sipcentric.com</a><br>
            <br>
            Follow us on twitter <a 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><span>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
sr-dev mailing list
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a>
<a 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>
</pre>
    </span></blockquote><span><font color="#888888">
    <br>
    <pre cols="72">-- 
Daniel-Constantin Mierla
<a href="http://twitter.com/#!/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
  </font></span></div>

<br>_______________________________________________<br>
sr-dev mailing list<br>
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
<a 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>
<br></blockquote></div><div><br></div>
</div></div>

<br>
<font face="Helvetica, Arial, sans-serif"><font size="2"><span style="font-size:10pt"><a href="http://www.sipcentric.com/" title="blocked::http://www.sipcentric.com/" target="_blank">www.sipcentric.com</a><br>
            <br>
            Follow us on twitter <a 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>