01 Sep 2026, Derek Fujimoto, Info, Feature Release: Shift Scheduler  
|
Motivation
Most experimental groups, especially those that take beam, need to coordinate shifts. This addition addresses this need.
Main Features
Main functionality
Assign, or sign up for specific shifts (via drop-down menu)
Indicate
availability for complex scheduling tasks
Force assignments only to available shifters
Write notes for each day
Self-registration: |
17 Aug 2026, Konstantin Olchanski, Info, change in cm_shutdown and the Programs page
|
There was a bit of confusion on the MIDAS Programs page with programs that have
similar names. This confusion relates to the use of bUnique in cm_shutdown() and
cm_exist().
|
14 Aug 2026, Julian Wollrath, Info, mplot.js: viridis colour scheme for 2D plots
|
Dear all,
please do not be surprised if your 2D plots start looking different: The default
|
14 Aug 2026, Stefan Ritt, Info, mplot.js: viridis colour scheme for 2D plots
|
Here is an example how a 2D plot looks like.
Stefan |
07 Jul 2026, Marius Koeppel, Suggestion, Multithreaded PySequencer
|
Dear all,
I was wondering if one can use multiple pysequencers at the same time and if not
|
08 Jul 2026, Konstantin Olchanski, Suggestion, Multithreaded PySequencer
|
> I was wondering if one can use multiple pysequencers at the same time and if not
> if this feature is planned in the future? Our experiment (mu3e) has one frontend
> per detector and each sequencer would only access a subset of ODB entries.
|
03 Aug 2026, Mark Grimes, Suggestion, Multithreaded PySequencer
|
> > I was wondering if one can use multiple pysequencers at the same time and if not
> > if this feature is planned in the future? Our experiment (mu3e) has one frontend
> > per detector and each sequencer would only access a subset of ODB entries.
|
06 Aug 2026, Konstantin Olchanski, Suggestion, Multithreaded PySequencer
|
> > > I was wondering if one can use multiple pysequencers at the same time and if not
> > > if this feature is planned in the future? Our experiment (mu3e) has one frontend
> > > per detector and each sequencer would only access a subset of ODB entries.
|
17 Jul 2026, Konstantin Olchanski, Bug Fix, repair of corrupted ODB free lists
|
I finished debugging the code I wrote to check and repair the ODB key area and data area free lists, this
should fix the famous "ODB is full" error.
|
20 Jul 2026, Konstantin Olchanski, Bug Fix, repair of corrupted ODB free lists
|
> I finished debugging the code I wrote to check and repair the ODB key area and data area free lists, this
> should fix the famous "ODB is full" error.
|
23 Jul 2026, Konstantin Olchanski, Bug Fix, repair of corrupted ODB free lists
|
> > I finished debugging the code I wrote to check and repair the ODB key area and data area free lists, this
> > should fix the famous "ODB is full" error.
>
|
23 Jul 2026, Konstantin Olchanski, Info, ODB links to array elements explained
|
this is a draft message, it will be updated with additional information. K.O.
Back in 2007, Stefan implemented the very useful feature, ODB links to array elements,
|
25 Jun 2026, Konstantin Olchanski, Forum, midas forum elog updated
|
I updated the midas forum elog to the latest version from git: 083448f7
Also investigated elogd failure to start on reboot,
|
20 Jul 2026, Konstantin Olchanski, Forum, midas forum elog crashed, restarted
|
> I updated the midas forum elog to the latest version from git: 083448f7
>
> Also investigated elogd failure to start on reboot,
|
20 Jul 2026, Konstantin Olchanski, Forum, midas forum elog crashed, restarted
|
Also a crash soon after startup:
https://elog.psi.ch/elogs/Forum/69934
|
21 Jul 2026, Konstantin Olchanski, Forum, midas forum elog crashed, restarted
|
crashed again, restarted. gcc address sanitizer disables core dumps by default, to enable, do this:
export ASAN_OPTIONS=abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1
K.O. |
22 Jul 2026, Konstantin Olchanski, Forum, midas forum elog crashed, restarted
|
> crashed again, restarted. gcc address sanitizer disables core dumps by default, to enable, do this:
> export ASAN_OPTIONS=abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1
|
16 Jul 2026, Konstantin Olchanski, Info, c++ exceptions, follow up
|
Bjarne Stroustrup gave a nice talk at CERN, good enough to bring Rene Brun out of retirement to ask a few
questions at the 1:16:50 mark.
|
16 Jul 2026, Konstantin Olchanski, Info, c++ exceptions, follow up
|
> If you did not want to use exceptions before watching this talk, you will after!
Not me. One issue, exceptions are unpredictable, for example, does this code always print "hello, world"?
|
16 Jul 2026, Yiwen Yang, Info, c++ exceptions, follow up
|
Thanks for sharing the videos, Konstantin.
> Unpredictable code can be dangerous:
|
16 Jul 2026, Yiwen Yang, Info, c++ exceptions, follow up
|
| Looks like the code formatting got messed up by the elog... here it is in the attachment instead. |
20 Jul 2026, Konstantin Olchanski, Info, c++ exceptions, follow up
|
> Looks like the code formatting got messed up by the elog... here it is in the attachment instead.
unfortunately, your code does nothing because you do not call "i2c_set_bit(10, 1);".
|
01 Jun 2026, Yiwen Yang, Suggestion, Multithreaded deferred transitions
|
Hi,
On the DAQ system for T2K's ND280 near detector, we use deferred
|
11 Jun 2026, Stefan Ritt, Suggestion, Multithreaded deferred transitions
|
Multithreaded transitions were introduced by KO in 2019. Please ask him to make deferred transitions work
again or simply use non-multithreaded transitions.
|
25 Jun 2026, Konstantin Olchanski, Suggestion, Multithreaded deferred transitions
|
> Multithreaded transitions were introduced by KO in 2019. Please ask him to make deferred transitions work
> again or simply use non-multithreaded transitions.
|
25 Jun 2026, Yiwen Yang, Suggestion, Multithreaded deferred transitions
|
> I recommend against using them. Maybe you can explain what you do and I can suggest a way
> to avoid using the
deferred transition.
|
08 Jul 2026, Konstantin Olchanski, Suggestion, Multithreaded deferred transitions
|
> Deferred transition is registered by the FPN00
FPN00, yes, this rings a bell.
|
16 Jul 2026, Yiwen Yang, Suggestion, Multithreaded deferred transitions
|
> > (main clock) process to make sure the logger has finished logging all events before continuing to stop readout
>
> of other frontends. There is also a timeout, in case sometimes an event goes missing, to proceed with the run
|
06 Jul 2026, Joel Sander, Suggestion, mlogger MySQL improved connection
|
We recently had an instance where mlogger lost its connection to the database resulting in 317 write errors on mysql_insert and (Good) did report connection
errors to the Midas log but (Bad) didn't attempt to restore the connection. With some help from Gemini, I've drafted a potential solution to reheal.
Our copy uses mysql_query_debug line 1903 in our copy that inserts rows, creates tables, etc: |
08 Jul 2026, Konstantin Olchanski, Suggestion, mlogger MySQL improved connection
|
you can also copy the reconnect code from history_schema.cxx.
if I remember right, the test case for correct reconnect is to start the mlogger,
|
07 Jul 2026, Derek Fujimoto, Info, Automated Testing
|
I've been working on updating MIDAS' testing suite. It is yet incomplete, but the basic structure is there. Once the code coverage reaches a
more acceptable level and it is decided that the new tests are good replacements to the existing tests, it will be merged into develop.
Tests are located in $MIDASSYS/tests directory in the automated_testing branch. |
26 Jun 2026, Derek Fujimoto, Info, MySQL Add Column
|
Hello,
The UCN group at TRIUMF has used the history system extensively with a MySQL backend. They see long wait times (up to 20 mins) to add new logged variables |
21 May 2026, Konstantin Olchanski, Bug Report, incompatible ODB XML dumps
|
While testing manalyzer, I found that it dies from an exception on odbxx, error message is "/home/olchansk/packages/midas/include/odbxx.h:1231: No "handle"
attribute found in XML data".
|
09 Jun 2026, Stefan Ritt, Bug Report, incompatible ODB XML dumps
|
I fixed that by not requiring the handle explicitly:
if (mxml_get_attribute(node, "handle") != nullptr)
|
25 Jun 2026, Konstantin Olchanski, Bug Report, incompatible ODB XML dumps
|
> I fixed that by not requiring the handle explicitly ...
>
> [it was...] an uncaught exception. If you do not want the abort, catch the exception.
|
29 May 2026, Zaher Salman, Info, ODBvalue timeout
|
Dear all, I implemented an optional timeout for the wait ODBvalue command. The way it works is similar to the standard wait command:
WAIT ODBvalue, /Equipment/HV/Variables/Measured[3], <, 100, timeout, 60
|
29 May 2026, Stefan Ritt, Info, ODBvalue timeout
|
> Dear all, I implemented an optional timeout for the wait ODBvalue command. The way it works is similar to the standard wait command:
>
> WAIT ODBvalue, /Equipment/HV/Variables/Measured[3], <, 100, timeout, 60
|
29 May 2026, Zaher Salman, Info, ODBvalue timeout
|
>
> How can the MSL code figure out if the wait succeeded or timed out?
>
|
29 May 2026, Stefan Ritt, Info, ODBvalue timeout
|
> >
> > How can the MSL code figure out if the wait succeeded or timed out?
> >
|
29 May 2026, Zaher Salman, Info, ODBvalue timeout
|
> > >
> > > How can the MSL code figure out if the wait succeeded or timed out?
> > >
|
29 May 2026, Stefan Ritt, Info, ODBvalue timeout
|
> > > >
> > > > How can the MSL code figure out if the wait succeeded or timed out?
> > > >
|
21 May 2026, Konstantin Olchanski, Info, manalyzer --save-odb
|
Due my oversight, the code for extracting ODB dumps from MIDAS data files from rootana/old_analyzer/event_dump.cxx was missing in
manalyzer.cxx.
|
06 May 2026, Jonas A. Krieger, Suggestion, numpy version compatibility
|
There seems to be a version dependency with the numpy.bool , e.g. used here
https://bitbucket.org/tmidas/midas/src/c6ef4aff5e7e652df79160141e570bed5f4d6a3b/python/midas/sequencer.py?at=develop#sequencer.py-1714 .
|
06 May 2026, Ben Smith, Bug Fix, numpy version compatibility
|
> There seems to be a version dependency with the numpy.bool
Thanks for reporting this Jonas! I've just updated the code to reference `np.bool_`, which is present in all versions. We use `np.bool_`
|
23 Apr 2026, Pavel Murat, Bug Report, increasing the max number of hot links in ODB
|
Dear MIDAS experts,
when I attempted to increase the max number of hotlinks in ODB , defined as
|
24 Apr 2026, Konstantin Olchanski, Bug Report, increasing the max number of hot links in ODB
|
> when I attempted to increase the max number of hotlinks in ODB , defined as
> #define MAX_OPEN_RECORDS 256 /**< number of open DB records */
> assert(sizeof(DATABASE_CLIENT) == 2112);
|
25 Apr 2026, Pavel Murat, Bug Report, increasing the max number of hot links in ODB
|
I see - thank you for the explanation!
Indeed, updating MIDAS clients on each and every RPI etc in a running experiment may be a real challenge.
|
27 Apr 2026, Konstantin Olchanski, Bug Report, increasing the max number of hot links in ODB
|
> Indeed, updating MIDAS clients on each and every RPI etc in a running experiment may be a real challenge.
actually, only local clients must be rebuilt, remote clients connecting to the mserver do not care about ODB
|
27 Apr 2026, Pavel Murat, Bug Report, increasing the max number of hot links in ODB
|
> > Indeed, updating MIDAS clients on each and every RPI etc in a running experiment may be a real challenge.
>
> actually, only local clients must be rebuilt, remote clients connecting to the mserver do not care about ODB
|
27 Apr 2026, Stefan Ritt, Bug Report, increasing the max number of hot links in ODB
|
I wonder why one needs more than 256 hotlinks at all. Please note that with the odbxx "watch" API, you can hotline a whole subdirectory, and get notified
if ANY of the
underlying values or subdirectories change. In principle, one could have one hotlink to "/" and see all changes in the ODB (although that does not make |
27 Apr 2026, Konstantin Olchanski, Bug Report, increasing the max number of hot links in ODB
|
> I wonder why one needs more than 256 hotlinks at all.
I confirm that ALPHA is running with MAX_OPEN_RECORDS changed from 256 to 2048,
|
27 Apr 2026, Nick Hastings, Bug Report, increasing the max number of hot links in ODB
|
For the record, the ND280 (T2K near detector) MIDAS GSC was initially set up
with MAX_OPEN_RECORDS = 2560 and MAX_CLIENTS = 128.
|
27 Apr 2026, Pavel Murat, Bug Report, increasing the max number of hot links in ODB
|
> > I wonder why one needs more than 256 hotlinks at all.
>
> I confirm that ALPHA is running with MAX_OPEN_RECORDS changed from 256 to 2048,
|
27 Apr 2026, Pavel Murat, Bug Report, increasing the max number of hot links in ODB
|
> I wonder why one needs more than 256 hotlinks at all. Please note that with the odbxx "watch" API, you can hotline a whole subdirectory, and get notified
if ANY of the
> underlying values or subdirectories change. In principle, one could have one hotlink to "/" and see all changes in the ODB (although that does not make |
16 Apr 2026, Konstantin Olchanski, Suggestion, mhttpd user permissions
|
We had our periodic discussion on MIDAS web page user permissions. (I cannot
find the link to the previous discussions, ouch!)
|
09 Apr 2026, David Perez Loureiro, Forum, Migrate Legacy code to current Midas version
|
I am an applied physicist at Canadian Nuclear Laboratories and am in the process
of migrating the full experiment configuration—including the front-end interface—
of the CRIPT muon tomography detector from a legacy version of MIDAS (SVN Rev.
|
09 Apr 2026, Nick Hastings, Forum, Migrate Legacy code to current Midas version
|
> I am an applied physicist at Canadian Nuclear Laboratories and am in the process
> of migrating the full experiment configuration—including the front-end interface—
> of the CRIPT muon tomography detector from a legacy version of MIDAS (SVN Rev.
|
16 Apr 2026, Konstantin Olchanski, Forum, Migrate Legacy code to current Midas version
|
> I am migrating the full CRIPT muon tomography detector from MIDAS (SVN Rev.
> 5238, circa 2012) to a more modern release.
> The current system runs on Scientific Linux 6 and very old hardware.
|
05 Feb 2026, Konstantin Olchanski, Bug Report, omnibus bugs from running DarkLight
|
We finished running the DarkLight experiment and I am reporting accumulated bugs that we have run into.
1) history plots on 12 hrs, 24 hrs tend to hang with "page not responsive". most plots have 16-20 variables,
|
06 Feb 2026, Stefan Ritt, Bug Report, omnibus bugs from running DarkLight
|
Thanks for the detailed report. Let me reply one-by-one.
> 1) history plots on 12 hrs, 24 hrs tend to hang with "page not responsive". most plots have 16-20 variables,
|
12 Feb 2026, Stefan Ritt, Bug Report, omnibus bugs from running DarkLight
|
Now I had a similar case that the browser froze when showing 24h of data. Tuned out that 80k points are a bit much. I changed the code so that it starts
binning when showing 8h or more. This is not a perfect solution. The code should check at which interval data is written, then
automatically start binning when approaching 4000 points or more. That would however require more complicated code, so I leave it as it is right now. Feedback |
06 Feb 2026, Stefan Ritt, Bug Report, omnibus bugs from running DarkLight
|
> 3) ODB editor clicking on hex number versus decimal number no longer allows editing in hex, Stefan implemented
> this useful feature and it worked for a while, but now seems broken.
|
06 Feb 2026, Stefan Ritt, Bug Report, omnibus bugs from running DarkLight
|
> 4) ODB editor "right click" to "delete" or "rename" key does not work, the right-click menu disappears
> immediately before I can use it (dl-server-2), click on item (it is now blue), right-click menu disappears
> before I can use it (daq17). it looks like a timing or race condition.
|
06 Feb 2026, Stefan Ritt, Bug Report, omnibus bugs from running DarkLight
|
> 5) ODB editor "create link" link target name is limited to 32 bytes, links cannot be created (dl-server-2), ok
> on daq17 with current MIDAS.
|