Hi Daniel,<br><br>Thaks for your quick help. It works like a charm now, and round robin is robust now. I tested against many servers, and it really balances doing its best.<br><br>By the way, you mentioned new features for dispatcher. Is there any way I can learn and test them?
<br><br>Thanks again and regards,<br><br>Borislav Ivandic<br><br><br>007/8/21, Daniel-Constantin Mierla &lt;<a href="mailto:daniel@voice-system.ro">daniel@voice-system.ro</a>&gt;:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>the bug was related to some new features added in dispatcher. Hopefully<br>I fixed that, please take the latest svn trunk and try again. Thank you,<br><br>Daniel<br><br><br>On 08/21/07 19:49, Borislav Ivandic wrote:
<br>&gt; Hi Daniel,<br>&gt;<br>&gt; Please see the backtrace:<br>&gt;<br>&gt; Core was generated by `openser&#39;.<br>&gt; Program terminated with signal 11, Segmentation fault.<br>&gt; #0&nbsp;&nbsp;0x00000000 in ?? ()<br>&gt; (gdb) bt
<br>&gt; #0&nbsp;&nbsp;0x00000000 in ?? ()<br>&gt; #1&nbsp;&nbsp;0xb7d154b5 in ds_connect_db () at dispatch.c:353<br>&gt; #2&nbsp;&nbsp;0xb7d1e3d7 in mi_child_init () at dispatcher.c:312<br>&gt; #3&nbsp;&nbsp;0x080e355d in init_mi_child () at mi/mi.c:88<br>&gt; #4&nbsp;&nbsp;0xb7cf6b96 in fifo_process (rank=0) at mi_fifo.c:197
<br>&gt; #5&nbsp;&nbsp;0x0809f49c in start_module_procs () at sr_module.c:561<br>&gt; #6&nbsp;&nbsp;0x080736b9 in main (argc=1, argv=0x0) at main.c:695<br>&gt;<br>&gt;<br>&gt; Let me know if you need any other thing. By the way, originally I
<br>&gt; tested Dispatcher round robin in 1.2.1 version.<br>&gt;<br>&gt; Thanks and regards,<br>&gt;<br>&gt; Borislav<br>&gt;<br>&gt;<br>&gt; 2007/8/21, Daniel-Constantin Mierla &lt;<a href="mailto:daniel@voice-system.ro">
daniel@voice-system.ro</a><br>&gt; &lt;mailto:<a href="mailto:daniel@voice-system.ro">daniel@voice-system.ro</a>&gt;&gt;:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Hello,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; On 08/20/07 22:09, Borislav Ivandic wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Hi Daniel,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Apologize me for the delay, but it wasn&#39;t easy setting-up the lab<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; environment. Anyway, downloaded the devel version, and, after<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; installing, found a &quot;Segmentation fault (core dumped)&quot; log message.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Maybe it&#39;s my short experience working with devel versions, but<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; wasn&#39;t<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; able to run openser. Please see below the last part of log:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; please send the backtrace, you got a coredump.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; gdb /path/to/openser /path/to/corefile<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; bt<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Thanks,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Daniel<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Thanks in advance,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Borislav Ivandic
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Log:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; DEBUG:db_free_rows: Freeing 0 rows<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; DEBUG:init_mod_child: CHILD , rank=1, module=registrar<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; DEBUG:init_mod_child: CHILD , rank=1, module=nathelper
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; DEBUG:init_mod_child: CHILD , rank=1, module=uri_db<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; db_init: Connection &#39;mysql://root:.acantoflextel@localhost/openser&#39;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; found in pool<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; DEBUG:init_mod_child: CHILD , rank=1, module=dispatcher
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Aug 20 17:40:11 [3897] DBG:dispatcher:child_init:&nbsp;&nbsp;#1 / pid &lt;3897&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Segmentation fault (core dumped)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; 2007/8/15, Daniel-Constantin Mierla &lt;
<a href="mailto:daniel@voice-system.ro">daniel@voice-system.ro</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:daniel@voice-system.ro">daniel@voice-system.ro</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &lt;mailto: <a href="mailto:daniel@voice-system.ro">
daniel@voice-system.ro</a> &lt;mailto:<a href="mailto:daniel@voice-system.ro">daniel@voice-system.ro</a>&gt;&gt;&gt;:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Hello,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; can you get latest devel version (trunk) and give it a try?
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I did some<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; fix, hopefully. Please report the results.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Cheers,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Daniel<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; On 08/14/07 23:32, Francisco Ivandic wrote:
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Hi All,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I&#39;m using dispatcher succesfully, with round robin alg (option<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; 4), and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; also use ds_mark_dst and ds_next_dst to select other proxy in
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; case of<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; failure. It balances great when all servers are active,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; but when<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; there<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; are inactive servers, round robin alg selects the next in
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; the round,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; even if it&#39;s marked as inactive. This results in going through<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; ds_next_dst, and overloads the first active server in the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; dispatcher
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; file until completing the round. Then, other active<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; servers are<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; called, and when passing to a group of inactive servers,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; starts<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; going
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; through the first active (as much times as inactive<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; servers there<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; are), and again completing the round.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Does anyone know a way to implement a round robin aware of
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; inactive<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; servers?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Thanks in advance,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Borislav Ivandic
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; _______________________________________________
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Users mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <a href="mailto:Users@openser.org">Users@openser.org</a> &lt;mailto:<a href="mailto:Users@openser.org">Users@openser.org</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:
<a href="mailto:Users@openser.org">Users@openser.org</a> &lt;mailto:<a href="mailto:Users@openser.org">Users@openser.org</a>&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <a href="http://openser.org/cgi-bin/mailman/listinfo/users">http://openser.org/cgi-bin/mailman/listinfo/users
</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<a href="http://openser.org/cgi-bin/mailman/listinfo/users">http://openser.org/cgi-bin/mailman/listinfo/users</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------
<br>&gt;<br>&gt; _______________________________________________<br>&gt; Users mailing list<br>&gt; <a href="mailto:Users@openser.org">Users@openser.org</a><br>&gt; <a href="http://openser.org/cgi-bin/mailman/listinfo/users">
http://openser.org/cgi-bin/mailman/listinfo/users</a><br>&gt;<br></blockquote></div><br>