<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:14pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 14pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p>Dear all,</p>
<p><br>
</p>
<p>I now found in an old folder from Bastian something helpful that I modified a bit:</p>
<p><br>
</p>
<p></p>
<div><span style="font-size:10pt">name=2024_Na22</span><br>
<span style="font-size:10pt">rio=rio4l-1</span><br>
<span style="font-size:10pt">EXP_NAME=2023_na22</span><br>
<span style="font-size:10pt">EXP_PATH=/LynxOS/mbsusr/mbsdaq/daq/${EXP_NAME}</span><br>
<span style="font-size:10pt">MAIN_STREAM_PORT=8010</span><br>
<span style="font-size:10pt">EB_TRANS_PORT=8011</span><br>
<span style="font-size:10pt">EB_STREAM_PORT=8012</span><br>
<span style="font-size:10pt">SERV_PORT=8013</span><br>
<span style="font-size:10pt">EB_DRASI_PORT=7010</span><br>
<span style="font-size:10pt">EB_MAIN=${rio}</span></div>
<br>
<p></p>
<p>Starting DRASI now looks like this:</p>
<p><br>
</p>
<p></p>
<div><span style="font-size:10pt">../r3bfuser/build_cc_ppc-linux_4.2.2_debug/m_read_meb.drasi \</span><br>
<span style="font-size:10pt">    --triva=master,@0x02,fctime=10,ctime=300 \</span><br>
<span style="font-size:10pt">    --log-no-rate-limit \</span><br>
<span style="font-size:10pt">    --server=stream:${SERV_PORT} \</span><br>
<span style="font-size:10pt">    --server=drasi,dest=lyserv:${EB_DRASI_PORT} \</span><br>
<span style="font-size:10pt">    --buf=size=200Mi \</span><br>
<span style="font-size:10pt">    --max-ev-size=0x100000 \</span><br>
<span style="font-size:10pt">    --eb=lyserv:${EB_DRASI_PORT} \</span><br>
<span style="font-size:10pt">    --subev=crate=0,type=88,subtype=8800,control=0,procid=12 \</span><br>
<span style="font-size:10pt">    "$@"</span></div>
<br>
<p></p>
<p>The EVENT BUILDER:</p>
<p><br>
</p>
<p></p>
<div><span style="font-size:10pt">../drasi/bin/lwrocmerge \</span><br>
<span style="font-size:10pt">    --label=EB \</span><br>
<span style="font-size:10pt">    --port=${EB_DRASI_PORT} \</span><br>
<span style="font-size:10pt">    --merge-mode=event \</span><br>
<span style="font-size:10pt">    --server=trans:${EB_TRANS_PORT} \</span><br>
<span style="font-size:10pt">    --server=stream:${EB_STREAM_PORT},flush=1 \</span><br>
<span style="font-size:10pt">    --buf=size=500Mi \</span><br>
<span style="font-size:10pt">    --max-ev-size=1Mi \</span><br>
<span style="font-size:10pt">    --eb-master=${EB_MAIN} \</span><br>
<span style="font-size:10pt">    --drasi=${EB_MAIN} \</span><br>
<span style="font-size:10pt">    --file-writer \</span><br>
<span style="font-size:10pt">    "$@"</span></div>
<br>
<p></p>
<p>The LOGGING:</p>
<p><br>
</p>
<p><span><span style="font-size:10pt">$EXP_PATH/drasi/bin/lwrocmon <span id="ms-rterangepaste-start">
</span><span style="font-size:10pt">${EB_MAIN}</span><span id="ms-rterangepaste-end"></span> localhost:</span><span style="font-size:10pt">${EB_DRASI_PORT}</span><span style="font-size:10pt"> --log</span></span><br>
</p>
<p><br>
</p>
<p>The SERVER:</p>
<p><br>
</p>
<p></p>
<div><span style="font-size:10pt">while : ; do</span><br>
<span style="font-size:10pt">../ucesb/empty/empty \</span><br>
<span style="font-size:10pt">    stream://localhost:${EB_STREAM_PORT} \</span><br>
<span style="font-size:10pt">           --server=stream:${SERV_PORT},flush=1</span><br>
<span style="font-size:10pt">sleep 5</span><br>
<span style="font-size:10pt">done</span></div>
<br>
<p></p>
<p>It looks like the DAQ is running now. However, unfortunately, I still do not fully understand what I am doing here. Fore example, the
<span>MAIN_STREAM_PORT defined above is not used. And why is DRASI using the <span>
SERV_PORT as well as the UCESB SERVER?</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>Sorry for all the question. And thank you so much!</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>Best greetings</span></span></p>
<p><span><span>Günter<br>
</span></span></p>
<p><br>
</p>
<p><br>
</p>
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> subexp-daq <subexp-daq-bounces@lists.chalmers.se> im Auftrag von Weber, Guenter Dr. <g.weber@hi-jena.gsi.de><br>
<b>Gesendet:</b> Dienstag, 14. Mai 2024 12:13:01<br>
<b>An:</b> Discuss use of Nurdlib, TRLO II, drasi and UCESB.<br>
<b>Betreff:</b> Re: [subexp-daq] problem when running two DAQs in parallel on one server</font>
<div> </div>
</div>
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 14pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p><br>
</p>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:14pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,"EmojiFont","Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<meta content="text/html; charset=UTF-8">
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:14pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,"EmojiFont","Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<p>Dear <span>Hċkan</span>,</p>
<p><br>
</p>
<p>thank you very much for the reply. The explanation makes sense.</p>
<p><br>
</p>
<p>This is the EB command for the DAQ already running:</p>
<p><br>
</p>
<p></p>
<div><span style="font-size:10pt">../drasi/bin/lwrocmerge \</span><br>
<span style="font-size:10pt">    --label=EB \</span><br>
<span style="font-size:10pt">    --port=7000 \</span><br>
<span style="font-size:10pt">    --merge-mode=event \</span><br>
<span style="font-size:10pt">    --server=trans \</span><br>
<span style="font-size:10pt">    --server=stream,flush=1 \</span><br>
<span style="font-size:10pt">    --buf=size=500Mi \</span><br>
<span style="font-size:10pt">    --max-ev-size=1Mi \</span><br>
<span style="font-size:10pt">    --eb-master=rio4l-2 \</span><br>
<span style="font-size:10pt">    --drasi=rio4l-2 \</span><br>
<span style="font-size:10pt">    --file-writer \</span><br>
<span style="font-size:10pt">    "$@"</span></div>
<br>
<p></p>
<p>So, the only difference is the name "rio4l-2" in the old system vs. "rio4l-1" in the new system. And the port number "7000" vs. "8000". If "--server=trans" implicitly assumes a standard port, then this will be the same for both commands.<br>
</p>
<p><br>
</p>
Is there somewhere an illustration/explanation how exactly LWROCMERGE and M_READ_MEB work together? This would help a lot.<br>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>Best greetings</p>
<p>Günter<br>
</p>
<p><br>
</p>
<p><br>
</p>
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> subexp-daq <subexp-daq-bounces@lists.chalmers.se> im Auftrag von Hċkan T Johansson <f96hajo@chalmers.se><br>
<b>Gesendet:</b> Montag, 13. Mai 2024 17:24:19<br>
<b>An:</b> Discuss use of Nurdlib, TRLO II, drasi and UCESB.<br>
<b>Betreff:</b> Re: [subexp-daq] problem when running two DAQs in parallel on one server</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt">
<div class="PlainText"><br>
Possily, your second EB has not started if the first is already running, <br>
the<br>
<br>
--server=trans  and  --server=stream,...<br>
<br>
lines below use the default ports.  And if already in use by the first <br>
process, it cannot start.  Try to add port=...<br>
<br>
> ../drasi/bin/lwrocmerge \<br>
>     --label=EB \<br>
>     --port=8000 \<br>
>     --merge-mode=event \<br>
>     --server=trans \<br>
>     --server=stream,flush=1 \<br>
>     --buf=size=500Mi \<br>
>     --max-ev-size=1Mi \<br>
>     --eb-master=rio4l-1 \<br>
>     --drasi=rio4l-1 \<br>
>     --file-writer \<br>
>     "$@"<br>
<br>
Cheers,<br>
Hċkan<br>
<br>
> <br>
> However, it seems that something is missing because the DAQ fails at startup:<br>
> <br>
> <br>
> Executing 'main'.<br>
> CPUS: 1<br>
> delay: 1<br>
> 10: lwroc_hostname_util.c:109: Host 'lyserv' known as 192.168.1.1 (port: 8000).<br>
> Message not logged - thread has no error buffer yet...<br>
> CPUS: 1<br>
> delay: 1<br>
> 10: lwroc_hostname_util.c:109: Host 'lyserv' known as 192.168.1.1 (port: 8000).<br>
> Message not logged - thread has no error buffer yet...<br>
> HOST: RIO4L-1<br>
> Token: 21301afe (21301afe:21301afe) [/mbsusr/mbsdaq/.drasi_tokens/blub]<br>
> 10: lwroc_hostname_util.c:460: Own address: 192.168.1.71/255.255.255.0 (eth1).<br>
> cfg: 'master,@0x02,fctime=10,ctime=300' => 33554432<br>
> 10: lwroc_data_pipe.c:146: Data buffer READOUT_PIPE, fmt LMD, size 209715200 = 0x0c800000, 3 consumers.<br>
> 10: lwroc_triva_readout.c:66: Silence TRIVA  (HALT)<br>
> 10: lwroc_net_io.c:169: Started server on port 56583 (data port 34116).<br>
> 10: lwroc_net_trans.c:1808: [stream:9003] Started stream server on port 9003, data 56265.<br>
> client union size: 244 240 188 508 640 204 204  => 640<br>
> 10: lwroc_udp_awaken_hints.c:159: UDP awaken hints file: /tmp/drasi.u1001/drasi.hints.u1001.RIO4L-1:56583<br>
> 10: lwroc_main.c:706: Log message rate limit not in effect.<br>
> 10: lwroc_readout.c:112: call readout_init...<br>
> 10: lwroc_thread_util.c:118: This is the triva control thread!<br>
> 10: lwroc_thread_util.c:118: This is the net io thread!<br>
> 10: lwroc_thread_util.c:118: This is the slow_async thread!<br>
> 10: lwroc_thread_util.c:118: This is the data server thread!<br>
> 8: lwroc_message_wait.c:86: Waited 1 seconds for msg client.<br>
> 8: lwroc_triva_state.c:414: Waited 1 seconds for initial slave and EB connection(s):<br>
> 8: lwroc_triva_state.c:422: [EB lyserv:8000] (state 0)<br>
> 10: lwroc_message_internal.c:485: Message client connected!<br>
> 8: lwroc_triva_state.c:414: Waited 5 seconds for initial slave and EB connection(s):<br>
> 8: lwroc_triva_state.c:422: [EB lyserv:8000] (state 0)<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 8: lwroc_triva_state.c:414: Waited 10 seconds for initial slave and EB connection(s):<br>
> 8: lwroc_triva_state.c:422: [EB lyserv:8000] (state 0)<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 8: lwroc_triva_state.c:414: Waited 20 seconds for initial slave and EB connection(s):<br>
> 8: lwroc_triva_state.c:422: [EB lyserv:8000] (state 0)<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 8: lwroc_triva_state.c:414: Waited 40 seconds for initial slave and EB connection(s):<br>
> 8: lwroc_triva_state.c:422: [EB lyserv:8000] (state 0)<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> 10: lwroc_net_outgoing.c:383: [revlink: lyserv:8000] Timeout waiting for outgoing link establishment.<br>
> ^C8: lwroc_main.c:105: SIGINT received.<br>
> 10: lwroc_thread_util.c:62: Set terminate first!  (main)<br>
> 10: lwroc_thread_util.c:82: main thread done!  (Next term: data server)<br>
> 10: lwroc_thread_util.c:82: data server thread done!  (Next term: slow_async)<br>
> 10: lwroc_thread_util.c:82: slow_async thread done!  (Next term: net io)<br>
> 10: lwroc_thread_util.c:82: net io thread done!  (Next term: triva control)<br>
> Performing hardware cleanup (TRIVA HALT, RESET)...<br>
> <br>
> I would really appreciate if you could give me a hint what is going on. Many thanks!<br>
> <br>
> <br>
> <br>
> <br>
> <br>
> Best greetings<br>
> <br>
> Günter<br>
> <br>
> <br>
> <br>
> <br>
> <br>
> <br>
></div>
</span></font></div>
</div>
</div>
</div>
</body>
</html>