25 Nov 2025, Konstantin Olchanski, Bug Report, Cannot edit values in a subtree containing only a single array of BOOLs using the ODB web interface
|
> Thanks --- it looks like this commit resolves the issue for us ...
> Thanks to Ben Smith for pointing us at exactly the right commit
I would like to take the opportunity to encourage all to report bug fixes like this one to this mailing list.
This looks like a serious bug, many midas users would like to know when it was introduced, when found, when fixed
and who takes the credit.
K.O. |
26 Nov 2025, Lars Martin, Bug Report, Error(?) in custom page documentation
|
https://daq00.triumf.ca/MidasWiki/index.php/Custom_Page#modb
says that
If the ODB path does not point to an individual value but to a subdirectory, the
whole subdirectory is mapped to this.value as a JavaSctipt object such as
<div class="modb" data-odb-path="/Runinfo" onchange="func(this.value)">
<script>function func(value) { console.log(value["run number"]); }</script>
In fact, it seems to return the JSON string of said object, so you'd have to write
console.log(JSON.parse(value)["run number"]) |
27 Nov 2025, Stefan Ritt, Bug Report, Error(?) in custom page documentation
|
Indeed a bug. Fixed in commit
https://bitbucket.org/tmidas/midas/commits/5c1133df073f493d74d1fc4c03fbcfe80a3edae4
Stefan |
27 Nov 2025, Zaher Salman, Bug Report, Error(?) in custom page documentation
|
This commit breaks the sequencer pages...
> Indeed a bug. Fixed in commit
>
> https://bitbucket.org/tmidas/midas/commits/5c1133df073f493d74d1fc4c03fbcfe80a3edae4
>
> Stefan |
27 Nov 2025, Konstantin Olchanski, Bug Report, Error(?) in custom page documentation
|
the double-decode bug strikes again!
> This commit breaks the sequencer pages...
>
> > Indeed a bug. Fixed in commit
> >
> > https://bitbucket.org/tmidas/midas/commits/5c1133df073f493d74d1fc4c03fbcfe80a3edae4
> >
> > Stefan |
08 Dec 2025, Zaher Salman, Bug Report, Error(?) in custom page documentation
|
The sequencer pages were adjusted to the work with this bug fix.
> This commit breaks the sequencer pages...
>
> > Indeed a bug. Fixed in commit
> >
> > https://bitbucket.org/tmidas/midas/commits/5c1133df073f493d74d1fc4c03fbcfe80a3edae4
> >
> > Stefan |
08 Dec 2025, Konstantin Olchanski, Bug Report, odbxx memory leak with JSON ODB dump
|
I was testing odbxx with manalyzer, decided to print an odb value in every event,
and it worked fine in online mode, but bombed out when running from a data file
(JSON ODB dump). The following code has a memory leak. No idea if XML ODB dump
has the same problem.
int memory_leak()
{
midas::odb::set_odb_source(midas::odb::STRING, std::string(run.fRunInfo-
>fBorOdbDump.data(), run.fRunInfo->fBorOdbDump.size()));
while (1) {
int time = midas::odb("/Runinfo/Start time binary");
printf("time %d\n", time);
}
}
K.O. |
09 Dec 2025, Stefan Ritt, Bug Report, odbxx memory leak with JSON ODB dump
|
Thanks for reporting this. It was caused by a
MJsonNode* node = MJsonNode::Parse(str.c_str());
not followed by a
delete node;
I added that now in odb::odb_from_json_string(). Can you try again?
Stefan |
09 Dec 2025, Mark Grimes, Bug Report, manalyzer fails to compile on some systems because of missing #include <cmath>
|
Hi,
We're getting errors in our build system like:
/code/midas/manalyzer/manalyzer.cxx: In member function ‘void Profiler::Begin(TARunInfo*,
std::vector<TARunObject*>)’:
/code/midas/manalyzer/manalyzer.cxx:799:27: error: ‘pow’ was not declared in this scope
799 | bins[i] = TimeRange*pow(1.1,i)/pow(1.1,Nbins);
The solution is to add "#include <cmath>" at the top of manalyzer.cxx; I guess on a lot of systems the
include is implicit from some other include so doesn't cause errors. I don't have the permissions to push
branches, could this be added please?
Thanks,
Mark. |
09 Dec 2025, Konstantin Olchanski, Bug Report, manalyzer fails to compile on some systems because of missing #include <cmath>
|
> /code/midas/manalyzer/manalyzer.cxx:799:27: error: ‘pow’ was not declared in this scope
> 799 | bins[i] = TimeRange*pow(1.1,i)/pow(1.1,Nbins);
math.h added, pushed. nice catch.
implicit include of math.h came through TFile.h (ROOT v6.34.02), perhaps you have a newer ROOT
and they jiggled the include files somehow.
TFile.h -> TDirectoryFile.h -> TDirectory.h -> TNamed.h -> TString.h -> TMathBase.h -> cmath -> math.h
K.O. |
09 Dec 2025, Konstantin Olchanski, Bug Report, odbxx memory leak with JSON ODB dump
|
> Thanks for reporting this. It was caused by a
>
> MJsonNode* node = MJsonNode::Parse(str.c_str());
>
> not followed by a
>
> delete node;
>
> I added that now in odb::odb_from_json_string(). Can you try again?
>
> Stefan
Close, but no cigar, node you delete is not the node you got from Parse(), see "node = subnode;".
If I delete the node returned by Parse(), I confirm the memory leak is gone.
BTW, it looks like we are parsing the whole JSON ODB dump (200k+) on every odbxx access. Can you parse it just once?
K.O. |
10 Dec 2025, Stefan Ritt, Bug Report, odbxx memory leak with JSON ODB dump
|
> BTW, it looks like we are parsing the whole JSON ODB dump (200k+) on every odbxx access. Can you parse it just once?
You are right. I changed the code so that the dump is only parsed once. Please give it a try.
Stefan |
11 Dec 2025, Mark Grimes, Bug Report, manalyzer fails to compile on some systems because of missing #include <cmath>
|
Thanks. Are you happy for me to update the submodule commit in Midas to use this fix? I should have sufficient permission if you agree.
> > /code/midas/manalyzer/manalyzer.cxx:799:27: error: ‘pow’ was not declared in this scope
> > 799 | bins[i] = TimeRange*pow(1.1,i)/pow(1.1,Nbins);
>
> math.h added, pushed. nice catch.
>
> implicit include of math.h came through TFile.h (ROOT v6.34.02), perhaps you have a newer ROOT
> and they jiggled the include files somehow.
>
> TFile.h -> TDirectoryFile.h -> TDirectory.h -> TNamed.h -> TString.h -> TMathBase.h -> cmath -> math.h
>
> K.O. |
11 Dec 2025, Konstantin Olchanski, Bug Report, odbxx memory leak with JSON ODB dump
|
> > BTW, it looks like we are parsing the whole JSON ODB dump (200k+) on every odbxx access. Can you parse it just once?
> You are right. I changed the code so that the dump is only parsed once. Please give it a try.
Confirmed fixed, thanks! There are 2 small changes I made in odbxx.h, please pull.
K.O. |
11 Dec 2025, Konstantin Olchanski, Bug Report, manalyzer fails to compile on some systems because of missing #include <cmath>
|
> TFile.h -> TDirectoryFile.h -> TDirectory.h -> TNamed.h -> TString.h -> TMathBase.h -> cmath -> math.h
reading ROOT release notes, 6.38 removed TMathBase.h from TString.h, with a warning "This change may cause errors during compilation of
ROOT-based code". Upright citizens, nice guys!
> Thanks. Are you happy for me to update the submodule commit in Midas to use this fix? I should have sufficient permission if you agree.
I am doing some last minute tests, will pull it into midas and rootana later today.
K.O. |
11 Dec 2025, Stefan Ritt, Bug Report, odbxx memory leak with JSON ODB dump
|
> Confirmed fixed, thanks! There are 2 small changes I made in odbxx.h, please pull.
There was one missing enable_jsroot in manalyzer, please pull yourself.
Stefan |
12 Dec 2025, Konstantin Olchanski, Bug Report, odbxx memory leak with JSON ODB dump
|
> > Confirmed fixed, thanks! There are 2 small changes I made in odbxx.h, please pull.
> There was one missing enable_jsroot in manalyzer, please pull yourself.
pulled, pushed to rootana, thanks for fixing it!
K.O. |
22 Oct 2004, Konstantin Olchanski, Bug Fix, mhttpd message colouring
|
I commited a fix to mhttpd logic that decides which messages should be shown in
"red" colour- before, any message with square brackets and colons would be
highlighted in red. Now only messages matching the pattern [...:...] are
highlighted. The decision logic was moved into a function message_red(). K.O. |
09 Nov 2004, Pierre-Andre Amaudruz, Bug Fix, New transition scheme
|
Problem:
If cm_set_transition_sequence() is used for changing the sequence number, the
command odbedit> start/stop/resume/pause -v report the propre sequence but the
action on the client side is actually not performed!
Fix:
Local transition table updated in midas.c (1.226)
Note:
The transition number under /system/clients/<pid>/transition...
is used internally. Changing it won't have any effect on the client action
if sequence number is not registered. |
25 Feb 2005, Konstantin Olchanski, Bug Fix, fixed: double free in FORMAT_MIDAS ybos.c causing lazylogger crashes
|
We stumbled upon and fixed a "double free" bug in src/ybos.c causing crashes in
lazylogger writing .mid files in the FORMAT_MIDAS format (why does it use
ybos.c? Pierre says- for generic file i/o). Why this code had ever worked before
remains a mystery. K.O. |