<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>