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);".
|
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.
|
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
|
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.
|
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.
|
23 Jan 2026, Mathieu Guigue, Info, Homebrew support for midas
|
Dear all,
For my personal convenience, I started to add an homebrew formula
|
23 Jan 2026, Stefan Ritt, Info, Homebrew support for midas
|
Hi Mathieu,
thanks for your contribution. Have you looked at the install.sh script I developed last week:
|
23 Jan 2026, Mathieu Guigue, Info, Homebrew support for midas
|
Thanks Stefan!
Actually, these two approaches are slightly different I guess:
- the installation script you are linking manages the
|
26 Jan 2026, Stefan Ritt, Info, Homebrew support for midas
|
> Actually, these two approaches are slightly different I guess:
> - the installation script you are linking manages the
> installation and the subsequent steps, but doesn't manage the dependencies: for instance on my machine, it didn't find root and so manalyzer
|
20 Jan 2026, Stefan Ritt, Info, New tabbed custom pages
|
Tabbed custom pages have been implemented in MIDAS. Below you see and example. The documentation
is here:
|
14 Jan 2026, Derek Fujimoto, Bug Report, DEBUG messages not showing and related
|
I have an application where I want to (optionally) send my own debugging messages to the midas.log file, but am having some problems with this:
* Messages with type MT_DEBUG don't show up in midas.log or on the messages page (calling cm_msg from python)
|
14 Jan 2026, Stefan Ritt, Bug Report, DEBUG messages not showing and related
|
MT_DEBUG messages are there for debugging, not logging. They only go into the SYSMSG buffer and NOT to the log file. If you want anything logged, just use
MT_INFO.
|
14 Jan 2026, Derek Fujimoto, Bug Report, DEBUG messages not showing and related
|
Ok thanks for the quick and clear response!
Derek
|
09 Jan 2026, Stefan Ritt, Forum, MIDAS installation
|
Since we have no many RaspberryPi based control systems running at our lab with midas, I want to
streamline the midas installation, such that a non-expert can install it on these devices.
|
10 Jan 2026, Marius Koeppel, Forum, MIDAS installation
|
Dear Stefan,
That’s a great idea. For a private home automation project using a Raspberry Pi Zero, I used the
|
13 Jan 2026, Stefan Ritt, Forum, MIDAS installation
|
Thanks for your feedback. I reworked the installation script, and now also called it "install.sh" since it includes also the git clone. I modeled it after
homebrew a mit (https://brew.sh). This means you can now run the script on a prison linux system with:
|
13 Jan 2026, Stefan Ritt, Forum, MIDAS installation
|
I put the documentation under
https://daq00.triumf.ca/MidasWiki/index.php/Install_Script
|