Back Midas Rome Roody Rootana
  Midas DAQ System, Page 1 of 49  Not logged in ELOG logo
Entry  16 May 2025, Marius Koeppel, Bug Report, history_schema.cxx fails to build 
Hi all,

we have a CI setup which fails since 06.05.2025 to build the history_schema.cxx. There was a major change in this code in the commits fe7f6a6 and 159d8d3.
    Reply  16 May 2025, Konstantin Olchanski, Bug Report, history_schema.cxx fails to build 
> we have a CI setup which fails since 06.05.2025 to build the history_schema.cxx.
> There was a major change in this code in the commits fe7f6a6 and 159d8d3.
       Reply  16 May 2025, Konstantin Olchanski, Bug Report, history_schema.cxx fails to build 
> > we have a CI setup which fails since 06.05.2025 to build the history_schema.cxx.
> > There was a major change in this code in the commits fe7f6a6 and 159d8d3.
Entry  05 May 2025, Konstantin Olchanski, Info, db_delete_key(TRUE) 
I was working on an odb corruption crash inside db_delete_key() and I noticed 
that I did not test db_delete_key() with follow_links set to TRUE. Then I noticed 
that nobody nowhere seems to use db_delete_key() with follow_links set to TRUE. 
    Reply  05 May 2025, Stefan Ritt, Info, db_delete_key(TRUE) 
I would handle this actually like symbolic links are handled under linux. If you delete a symbolic link, the link gets 
detected and NOT the file the link is pointing to.
Entry  05 May 2025, Konstantin Olchanski, Bug Report, abort and core dump in cm_disconnect_experiment() 
I noticed that some programs like mhist, if they take too long, there is an abort and core dump at the very end. This is because they forgot to 
set/disable the watchdog timeout, and they got remove from odb and from the SYSMSG event buffer.
    Reply  05 May 2025, Stefan Ritt, Bug Report, abort and core dump in cm_disconnect_experiment() 
I would be in favor of not curing the symptoms, but fixing the cause of the problem. I guess you put the watchdog disable into mhist, right? Usually mhist
is called locally, so no mserver should be 
involved. If not, I would prefer to propagate the watchdog disable to the mserver side as well, if that's not been done already. Actually I never would
Entry  05 May 2025, Konstantin Olchanski, Bug Fix, Bug fix in SQL history 
A bug was introduced to the SQL history in 2022 that made renaming of variable names not work. This is now fixed.

break commit:
Entry  29 Apr 2025, Pavel Murat, Bug Report, ODBXX : ODB links in the path names ? 
Dear MIDAS experts,

does the ODBXX interface to ODB currently ODB links in the path names? - From what I see so far, it currently fails to do so,
    Reply  30 Apr 2025, Stefan Ritt, Bug Report, ODBXX : ODB links in the path names ? 
Indeed this was missing from the very beginning. I added it, please report back if it's not working.

Stefan
Entry  12 May 2020, Stefan Ritt, Info, New ODB++ API odbxx_test.cxx
Since the beginning of the lockdown I have been working hard on a new object-oriented interface to the online database ODB. I have the code now in an initial
state where it is ready for 
testing and commenting. The basic idea is that there is an object midas::odb, which represents a value or a sub-tree in the ODB. Reading, writing and watching
    Reply  20 May 2020, Konstantin Olchanski, Info, New ODB++ API 
>    midas::odb o;
>    o["foo"] = 1;
    Reply  20 May 2020, Stefan Ritt, Info, New ODB++ API odbxx_test.cxx
In meanwhile, there have been minor changes and improvements to the API:

Previously, we had:
    Reply  20 May 2020, Pintaudi Giorgio, Info, New ODB++ API 
All this is very good news. I really wish this were available some months ago: it would have helped me immensely. The old C API was clunky at best.
I really like the idea and looking forward to using it (even if at the moment I do not have the need to) ...
       Reply  20 May 2020, Konstantin Olchanski, Info, New ODB++ API 
> All this is very good news. I really wish this were available some months ago: it would have helped me immensely. The old C API was clunky at best.
> I really like the idea and looking forward to using it (even if at the moment I do not have the need to) ...
    Reply  30 Apr 2025, Stefan Ritt, Info, New ODB++ API 
I had to change the ODBXX API: https://bitbucket.org/tmidas/midas/commits/273c4e434795453c0c6bceb46bac9a0d2d27db18

The old C API is case-insensitive, meaning db_find_key("name") returns a key "name" or "Name" or "NAME". We can discuss if this is good or bad, but that's
       Reply  30 Apr 2025, Pavel Murat, Info, New ODB++ API 
it is a very convenient interface! Does it support the ODB links in the path names ? -- thanks, regards, Pasha
Entry  16 Apr 2025, Thomas Lindner, Info, MIDAS workshop (online) Sept 22-23, 2025 
Dear MIDAS enthusiasts,

We are planning a fifth MIDAS workshop, following on from previous successful 
Entry  08 Apr 2025, Lukas Mandokk, Info, MSL Syntax Highlighting Extension for VSCode (Release) 
Hello everyone, 

I just wanted to let you know, that I published a MSL Syntax Highlighting Extension for VSCode.
It is still in a quite early stage, so there might be some missing keywords and edge cases which are not fully handled. So in case you find any
Entry  01 Apr 2025, Lukas Gerritzen, Suggestion, Sequencer ODBSET feature requests 
I would like to request the following sequencer features if you find the ideas as sensible as I do:
[LIST]
[*] A "Reload File" button
    Reply  01 Apr 2025, Lukas Gerritzen, Suggestion, Sequencer ODBSET feature requests 
While trying to simplify the existing spaghetti code, I encountered problems with type safety. Compare the following:
[CODE]SET v, "54"
SET file, "MPPCHV_$v.odb"
       Reply  01 Apr 2025, Stefan Ritt, Suggestion, Sequencer ODBSET feature requests 
A new sequencer which understands Python is in the works. There you can use all features from that language.

Stefan
    Reply  01 Apr 2025, Stefan Ritt, Suggestion, Sequencer ODBSET feature requests 
The extended ODBSET[x,y1-y2,z] could make sense to be implemented, since it then will match the alarm system which uses the same syntax.

The $GOODCHANNELS/$BADCHANNELS is however a very strange syntax which I haven't seen in any other computer language. It would take me probably several
    Reply  01 Apr 2025, Konstantin Olchanski, Suggestion, Sequencer ODBSET feature requests 
> ODBSET "/Path/value[1,3,5]"
> ODBSET "/Path/value[1-5,7-9]"
       Reply  01 Apr 2025, Pavel Murat, Suggestion, Sequencer ODBSET feature requests 
 I once looked at using LUA for this,
> but I think basing off an full featured programming language like python
> is better.
          Reply  02 Apr 2025, Konstantin Olchanski, Suggestion, Sequencer ODBSET feature requests 
> I once looked at using LUA for this
>
> > but I think basing off an full featured programming language like python
             Reply  02 Apr 2025, Stefan Ritt, Suggestion, Sequencer ODBSET feature requests 
And there is one more argument: 

We have a Python expert in our development team who wrote already the Python-to-C bindings. That means when running a Python 
    Reply  07 Apr 2025, Zaher Salman, Suggestion, Sequencer ODBSET feature requests 
[quote="Lukas Gerritzen"]
I also encountered a small annoyance in the current workflow of editing sequencer files in the browser:
[LIST]
       Reply  07 Apr 2025, Stefan Ritt, Suggestion, Sequencer ODBSET feature requests 
If people are simultaneously editing scripts this is indeed an issue, which probably never can be resolved by technical means. It need communication between
the users.
Entry  30 Jan 2025, Pavel Murat, Forum, converting non-MIDAS slow control data into MIDAS history format ? 
Dear MIDAS experts,

I have a time series of slow control measurements in an ASCII format - 
    Reply  31 Jan 2025, Pavel Murat, Forum, converting non-MIDAS slow control data into MIDAS history format ? 
I think I found an answer to my question: a user-controlled event header does have a time stamp: 

https://daq00.triumf.ca/MidasWiki/index.php/Event_Structure#Event_Header
    Reply  01 Feb 2025, Pavel Murat, Bug Report, MIDAS history system not using the event timestamps ? test_frontend.pyval_nightly.csv
> I have a time series of slow control measurements in an ASCII format - 
> data records in a format (run_number, time, temperature, voltage1, ..., voltageN), 
> and, if possible, would like to convert them into a MIDAS history format. 
       Reply  01 Apr 2025, Pavel Murat, Bug Report, MIDAS history system not using the event timestamps ? 
Dear MIDAS experts, 

I confirm that when writing out history files corresponding to the slow control event data, 
          Reply  01 Apr 2025, Konstantin Olchanski, Bug Report, MIDAS history system not using the event timestamps ? 
> I confirm that when writing out history files corresponding to the slow control event data, 
> MIDAS history system timestamps the data not with the event time coming from the event data, 
> but with the current time determined by [mlogger].
             Reply  02 Apr 2025, Pavel Murat, Bug Report, MIDAS history system not using the event timestamps ? 
> You can always include your "true" data timestamp as the first value in your data.

Are you saying that if the first data word of a history event were a timestamp, 
                Reply  02 Apr 2025, Konstantin Olchanski, Bug Report, MIDAS history system not using the event timestamps ? 
> > You can always include your "true" data timestamp as the first value in your data.

> Are you saying that if the first data word of a history event were a timestamp, 
Entry  01 Apr 2025, Konstantin Olchanski, Bug Report, ODB corruption 
We see ODB corruption crashes in the DS20k vertical slice MIDAS instance.

Crash is memset() called by db_delete_key1() called by cm_connect_experiment().
Entry  01 Apr 2025, Konstantin Olchanski, Bug Fix, ODB and event buffer - release semaphore before abort() and core dump 
There is a long standing problem with ODB and event buffers. If they detect an 
internal data inconsistency and cannot continue running, they call abort() to 
dump core and stop.
Entry  30 Mar 2025, Konstantin Olchanski, Bug Fix, manalyzer improvements 
updated manalyzer:

- similar to --jsroot switch, in online mode, the ROOT output file remains open after run is stopped. Previously, after run was 
Entry  28 Mar 2025, Konstantin Olchanski, Bug Fix, manalyzer -R8082 --jsroot 
When processing MIDAS files offline, JSROOT did not work, -Rxxx worked, http 
connection would open, but would not serve any histograms. This should now be 
fixed.
Entry  06 Jan 2025, Alexandr Kozlinskiy, Suggestion, improved find_package behaviour for Midas 
currently to link Midas to project one has to do several steps in cmake script:
- do `find_package`
- get Midas location from MIDASSYS, or from MIDAS_LIBRARY_DIRS
    Reply  09 Jan 2025, Stefan Ritt, Suggestion, improved find_package behaviour for Midas 
After some iterations, we merged the branch with the new build scheme. Now you can compile any midas program as described at

  https://bitbucket.org/tmidas/midas/pull-requests/48?link_source=email
       Reply  20 Mar 2025, Konstantin Olchanski, Suggestion, improved find_package behaviour for Midas 
> After some iterations, we merged the branch with the new build scheme.

the commit to implement this change in the manalyzer was not pushed, for reasons unknown.
    Reply  20 Mar 2025, Konstantin Olchanski, Suggestion, improved find_package behaviour for Midas 
> currently to link Midas to project one has to do several steps ...

this information is incorrect. please read https://daq00.triumf.ca/elog-midas/Midas/2258
       Reply  21 Mar 2025, Alex Kozlinski, Suggestion, improved find_package behaviour for Midas 
> > currently to link Midas to project one has to do several steps ...

> this information is incorrect. please read https://daq00.triumf.ca/elog-midas/Midas/2258
          Reply  21 Mar 2025, Konstantin Olchanski, Suggestion, improved find_package behaviour for Midas 
> > > currently to link Midas to project one has to do several steps ...
> > this information is incorrect. please read https://daq00.triumf.ca/elog-midas/Midas/2258
             Reply  23 Mar 2025, Alexandr Kozlinskiy, Suggestion, improved find_package behaviour for Midas 
> > > > currently to link Midas to project one has to do several steps ...
> > > this information is incorrect. please read https://daq00.triumf.ca/elog-midas/Midas/2258
> > 
                Reply  25 Mar 2025, Konstantin Olchanski, Suggestion, improved find_package behaviour for Midas 
> https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html#guide:Using%20Dependencies%20Guide

thank you for providing a link to latest cmake find_package() guide.
                   Reply  28 Mar 2025, Konstantin Olchanski, Suggestion, improved find_package behaviour for Midas 
I figured out the breakage, added a git tag to identify where the cmake incompatible change was made (roughly) 
and posted a note on how to fix it. Please reimburse me for the 2 hours I had to spend on this instead of doing 
useful work. K.O.
Entry  11 Jul 2021, Konstantin Olchanski, Info, midas cmake update 
I reworked the midas cmake files:
- install via CMAKE_INSTALL_PREFIX should work correctly now:
- installed are bin, lib and include - everything needed to build against the midas library
    Reply  28 Mar 2025, Konstantin Olchanski, Bug Fix, midas cmake update 
MIDAS git tag midas-2025-01-a introduced an incompatible change to "include midas-targets.cmake". Instead of "midas" one now has to 
say "midas::midas", as updated below. K.O.
Entry  28 Mar 2025, Konstantin Olchanski, Info, mjsroot added 
I need to look at histograms inside a ROOT file, but all the old ways for doing this no longer work. (in theory I can scp the ROOT file to 
the computer I am sitting in front of, but this assumes I have a working ROOT there. anyhow it is pointless to fight this, all modern 
packages are written to only work on the developer's laptop).
Entry  12 Feb 2025, Mark Grimes, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
Hi,
I have a manalyzer that uses a derived class of TMFeRpcHandlerInterface to communicate information to 
Midas during online running.  At the end of each run it saves out custom data in the 
    Reply  26 Feb 2025, Thomas Lindner, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
Hi,

Sorry, we have been slammed with a couple projects on the TRIUMF side in the past weeks and haven't found time for a 
    Reply  20 Mar 2025, Konstantin Olchanski, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
> I have a manalyzer that uses a derived class of TMFeRpcHandlerInterface to communicate information to 
> Midas during online running.  At the end of each run it saves out custom data in the 
> TMFeRpcHandlerInterface::HandleEndRun override. This works really well.
       Reply  25 Mar 2025, Mark Grimes, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
Hi,
The question was about the TMFeRpcHandlerInterface, not the TARunObject interface.  Derived classes of TARunObject do indeed work as expected in our 
environment.  We have worked around the issue by using an implementation of TARunObject as well as the (separate) implementation of 
          Reply  25 Mar 2025, Konstantin Olchanski, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
> The question was about the TMFeRpcHandlerInterface, not the TARunObject interface.  Derived classes of TARunObject do indeed work as expected in our 
> environment.  We have worked around the issue by using an implementation of TARunObject as well as the (separate) implementation of 
> TMFeRpcHandlerInterface.
             Reply  26 Mar 2025, Mark Grimes, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
This was exactly the question, should I expect it to run?  There's no point in the HandleBinaryRpc method offline, but there's an argument that the HandleBeginRun/HandleEndRun
methods have a use.
I have the answer and we have a workaround, thanks.
                Reply  28 Mar 2025, Konstantin Olchanski, Forum, TMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file 
I do not understand what you are doing. If you are offline, there is no TMFE singleton instance,
there is nothing TMFeRpcHandlerInterface to attach to, there is nobody to call TMFeRpcHandlerInterface methods.
Entry  19 Feb 2025, Lukas Gerritzen, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
We have a frontend for slow control with a lot of legacy code. I wanted to add a new equipment using the 
mdev_mscb class. It seems like the default write cache size is 1000000B now, which produces error 
messages like this:
    Reply  24 Feb 2025, Stefan Ritt, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
The commit that introduced the write cache size check is https://bitbucket.org/tmidas/midas/commits/3619ecc6ba1d29d74c16aa6571e40920018184c0

Unfortunately K.O. added the write cache size to the equipment list, but there is currently no way to change this programmatically from the user frontend
       Reply  20 Mar 2025, Konstantin Olchanski, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
I think I added the cache size correctly:

  {"Trigger",               /* equipment name */
          Reply  20 Mar 2025, Konstantin Olchanski, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
the main purpose of the event buffer write cache is to prevent high contention for the 
event buffer shared memory semaphore in the pathological case of very high rate of very 
small events.
             Reply  20 Mar 2025, Konstantin Olchanski, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
> the main purpose of the event buffer write cache

how to control the write cache size:
                Reply  20 Mar 2025, Konstantin Olchanski, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
> > the main purpose of the event buffer write cache
> how to control the write cache size:
                Reply  21 Mar 2025, Stefan Ritt, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
 > All this is kind of reasonable, as only two settings of write cache size are useful: 0 to 
> disable it, and 10 Mbytes to limit semaphore locking rate to reasonable value for all event 
> rate and size values practical on current computers.
                   Reply  25 Mar 2025, Konstantin Olchanski, Bug Report, Default write cache size for new equipments breaks compatibility with older equipments 
>  > All this is kind of reasonable, as only two settings of write cache size are useful: 0 to 
> > disable it, and 10 Mbytes to limit semaphore locking rate to reasonable value for all event 
> > rate and size values practical on current computers.
Entry  20 Mar 2025, Konstantin Olchanski, Bug Report, please fix mscb compiler warning 
I am getting a scary compiler warning from MSCB code. I generally avoid touching MSCB code because I have no MSCB hardware to test it, so I am 
asking the persons unnamed who wrote this code to fix it. Stock g++ on Ubuntu LTS 24.04. Thanks in advance!
    Reply  21 Mar 2025, Stefan Ritt, Bug Report, please fix mscb compiler warning 
I hopefully fixed the waring (narrowing down from size_t to int). Please double check with your compiler.

Stefan
       Reply  25 Mar 2025, Konstantin Olchanski, Bug Report, please fix mscb compiler warning 
> I hopefully fixed the waring (narrowing down from size_t to int). Please double check with your compiler.

Nope, it turns out complain is about the read() size argument, they really really really want it to be 
ELOG V3.1.4-2e1708b5