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.
|
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.
|
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.
>
|
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.
|
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.
|
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.
|
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 |
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:
|
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,
|
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 |
12 May 2020, Stefan Ritt, Info, New ODB++ API
|
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 |
20 May 2020, Konstantin Olchanski, Info, New ODB++ API
|
> midas::odb o;
> o["foo"] = 1;
|
20 May 2020, Stefan Ritt, Info, New ODB++ API
|
In meanwhile, there have been minor changes and improvements to the API:
Previously, we had:
|
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) ... |
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) ...
|
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 |
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 |
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
|
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 |
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
|
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"
|
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 |
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 |
01 Apr 2025, Konstantin Olchanski, Suggestion, Sequencer ODBSET feature requests
|
> ODBSET "/Path/value[1,3,5]"
> ODBSET "/Path/value[1-5,7-9]"
|
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.
|
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
|
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
|
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]
|
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.
|
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 -
|
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
|
01 Feb 2025, Pavel Murat, Bug Report, MIDAS history system not using the event timestamps ? 
|
> 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.
|
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,
|
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].
|
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,
|
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,
|
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().
|
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.
|
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
|
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.
|
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
|
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
|
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.
|
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
|
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
|
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
>
|
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
> >
|
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.
|
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. |
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
|
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.
|
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).
|
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
|
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
|
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.
|
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
|
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.
|
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.
|
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.
|
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:
|
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 |
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 */
|
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.
|
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:
|
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:
|
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.
|
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.
|
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!
|
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 |
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
|