Back Midas Rome Roody Rootana
  Root Analyzer Framework, Page 3 of 4  Not logged in ELOG logo
ID Date Author Topicdown Subject
  32   21 Jan 2021 Thomas LindnerForumWarning: the time for this bank is more than 10 sec older than current time.
> Hi all,
> 
> I get this warning when I run anaDisplay.exe (analyzer display mode) of the old 
> Rootana analyzer. It seems to be because the analyzer cannot keep up with the data 
> gathered by my frontend. The same issue seems to happen when I run the newer 
> "manalyzer_example_root_graphic.exe" in graphical mode (-g). Is my computer cpu 
> just not powerful enough to run both the data acquisition and the graphical 
> analyzer simultaneously? Both the frontend and analyzer run on the same PC.
> 
> As always, thanks for the help!
> 
> Isaac the intern

Hi Isaac,

It is certainly possible that your analyzer cannot keep up with the data taking.  It will depend (at least partly) on what you are trying to do in your analyzer.  Suppose you are taking 1000Hz of events from some waveform digitizer.  If you are trying to do something simple (like count how many bytes are in each data packet) then your analyzer will probably be able to keep up with the data taking.  But if you are trying to do some very complicated maximum likelihood fit to each waveform, then it is possible that your computer (or any computer) would not be able to keep up with the data taking.  In that case maybe your analyzer is only able to process 100Hz of data or 10% of the events (for example).

But it is not always a problem if your analyzer can't keep up.  The goal of the online analyzer is to allow you to check data in real time.  If you wanted to calculate the pulse height distribution of hits in your waveforms, then it is probably fine that you are only able to process 10% of the events online.  It might take you a little longer to accumulate your statistics for your online plots, but your online analyzer data is still useful.

On the other hand, there is other types of online analysis where it is important to process every event.  For instance, suppose you are trying to calculate online the rate of a certain type of event that involves making cuts in your online analysig. In that case you will want to be analyzing every event; missing 10% or 90% of events will bias your online analysis.

So that message is a warning; if you are doing an online analysis where it is critical that you process every event, then you have a problem if you see that message.  In that case you need to figure out how to speed up your online analysis.  You will need to use a profiler or some other tool to optimize your code.

It should be noted that the display itself can often be a limiting part of the online analyzer.  You might be able to process 1000Hz of waveform data, but you certainly can't update your plots at 1000Hz; so you need to take care with the updating and display of your plots if you really care about speed.
  33   21 Jan 2021 Isaac Labrie BoulayForumWarning: the time for this bank is more than 10 sec older than current time.
> > Hi all,
> > 
> > I get this warning when I run anaDisplay.exe (analyzer display mode) of the old 
> > Rootana analyzer. It seems to be because the analyzer cannot keep up with the data 
> > gathered by my frontend. The same issue seems to happen when I run the newer 
> > "manalyzer_example_root_graphic.exe" in graphical mode (-g). Is my computer cpu 
> > just not powerful enough to run both the data acquisition and the graphical 
> > analyzer simultaneously? Both the frontend and analyzer run on the same PC.
> > 
> > As always, thanks for the help!
> > 
> > Isaac the intern
> 
> Hi Isaac,
> 
> It is certainly possible that your analyzer cannot keep up with the data taking.  It will depend (at least partly) on what you are trying to do in your analyzer.  Suppose you are taking 1000Hz of events from some waveform digitizer.  If you are trying to do something simple (like count how many bytes are in each data packet) then your analyzer will probably be able to keep up with the data taking.  But if you are trying to do some very complicated maximum likelihood fit to each waveform, then it is possible that your computer (or any computer) would not be able to keep up with the data taking.  In that case maybe your analyzer is only able to process 100Hz of data or 10% of the events (for example).
> 
> But it is not always a problem if your analyzer can't keep up.  The goal of the online analyzer is to allow you to check data in real time.  If you wanted to calculate the pulse height distribution of hits in your waveforms, then it is probably fine that you are only able to process 10% of the events online.  It might take you a little longer to accumulate your statistics for your online plots, but your online analyzer data is still useful.
> 
> On the other hand, there is other types of online analysis where it is important to process every event.  For instance, suppose you are trying to calculate online the rate of a certain type of event that involves making cuts in your online analysig. In that case you will want to be analyzing every event; missing 10% or 90% of events will bias your online analysis.
> 
> So that message is a warning; if you are doing an online analysis where it is critical that you process every event, then you have a problem if you see that message.  In that case you need to figure out how to speed up your online analysis.  You will need to use a profiler or some other tool to optimize your code.
> 
> It should be noted that the display itself can often be a limiting part of the online analyzer.  You might be able to process 1000Hz of waveform data, but you certainly can't update your plots at 1000Hz; so you need to take care with the updating and display of your plots if you really care about speed.

Hi Thomas,

Thank you for the thorough answer. I can now see how this feature is important. Also, I was getting turtle speeds for my analysis rate. 
I found out that it was because I was 'drawing/updating' my histograms for every event. I'm new to ROOT and I didn't realize how badly these 
functions slow down your system.

Cheers.

Isaac
  34   05 Feb 2021 Frederik WautersForumana or manalyzer?
reworking our old (MuCap inherited) mana.cpp

To have a good start, what is advised:

a) following the Rootana Analyzer Framework as advertised in https://midas.triumf.ca/MidasWiki/index.php/Rootana_Analyzer_Framework with the TRootanaEventLoop

b) The manalyzer advertised in https://bitbucket.org/tmidas/rootana/src/master/manalyzer/

Option b) with it's module support?
  35   05 Feb 2021 Konstantin OlchanskiForumana or manalyzer?
> reworking our old (MuCap inherited) mana.cpp
> To have a good start, what is advised:
> a) following the Rootana Analyzer Framework as advertised in https://midas.triumf.ca/MidasWiki/index.php/Rootana_Analyzer_Framework with the TRootanaEventLoop
> b) The manalyzer advertised in https://bitbucket.org/tmidas/rootana/src/master/manalyzer/
> Option b) with it's module support?

It depends on your experiment and your data. If your data is just a few numbers,
either analyzer would do (even the old midas mana.c analyzer would do).

But if you have complicated data, especially streaming data, where midas events
and physics events do not have a 1-to-1 connection, the old analyzers will
not cut the mustard. I have done this kind of processing in the old analyzers,
came up with a generalized structure, the "m" analyzer is the result.

Historical note: I developed rootana maybe 15 years ago to process data
from the ALPHA experiment at CERN (anti-hydrogen trap), more recently, I developed
manalyzer to process more complicated data from the ALPHA-g experiment at CERN (vertical
anti-hydrogen trap, to study gravity effects). Joseph McKenna from CERN contributed
the automatic by-module multithreading and benchmarking.

To compare:

- both rootana and manalyzer use the same TMidasOnline class for connecting to live MIDAS data
- both use the same midasio classes to read and write MIDAS files
- rootana uses the older TMidasEvent class to access MIDAS banks
- manalyzer uses the newer TMEvent class. the main improvement is that TMEvent is
a well-behaved C++ class with a usable assignment and copy-constructor operators.
- graphics and web interface uses the same ROOT graphics, ROOT web server (a derivative
of mongoose web server library) and the same JS-ROOT.
- the manalyzer has better defined control flow and C++ object lifetime rules
wrt run start and run end (this corrects problems with life time of C++ objects
in the old rootana).
- manalyzer has automatic per-module multithreading "for free" (thanks, Joseph!),
I typically see the alphag analyzer use 8-10 CPU threads without having to use
any threading or mutex gunk in the analysis code.

The current plan is to include manalyzer into MIDAS as a git submodule, with luck
it will happen for the next midas release, the hold up is with the midasio class that needs
to be updated, git-submoduled and added to midas. Also the old TMidasOnline class needs
updating.

To conclude, we use manalyzer for ALPHA-2 and ALPHA-g, people who use it seem to be
generally happy (especially with the automatic per-module multithreading), we use
it for a couple of simpler experiments at TRIUMF.

I hope this answers your questions?

K.O.
  36   05 Feb 2021 Frederik WautersForumana or manalyzer?
yes, thanks! 

" manalyzer has automatic per-module multithreading "for free"  "

does that mean that if one needs modules to run sequentially (think first clustering, then making higher level physics objects), the user needs to enforce that?

> > reworking our old (MuCap inherited) mana.cpp
> > To have a good start, what is advised:
> > a) following the Rootana Analyzer Framework as advertised in https://midas.triumf.ca/MidasWiki/index.php/Rootana_Analyzer_Framework with the TRootanaEventLoop
> > b) The manalyzer advertised in https://bitbucket.org/tmidas/rootana/src/master/manalyzer/
> > Option b) with it's module support?
> 
> It depends on your experiment and your data. If your data is just a few numbers,
> either analyzer would do (even the old midas mana.c analyzer would do).
> 
> But if you have complicated data, especially streaming data, where midas events
> and physics events do not have a 1-to-1 connection, the old analyzers will
> not cut the mustard. I have done this kind of processing in the old analyzers,
> came up with a generalized structure, the "m" analyzer is the result.
> 
> Historical note: I developed rootana maybe 15 years ago to process data
> from the ALPHA experiment at CERN (anti-hydrogen trap), more recently, I developed
> manalyzer to process more complicated data from the ALPHA-g experiment at CERN (vertical
> anti-hydrogen trap, to study gravity effects). Joseph McKenna from CERN contributed
> the automatic by-module multithreading and benchmarking.
> 
> To compare:
> 
> - both rootana and manalyzer use the same TMidasOnline class for connecting to live MIDAS data
> - both use the same midasio classes to read and write MIDAS files
> - rootana uses the older TMidasEvent class to access MIDAS banks
> - manalyzer uses the newer TMEvent class. the main improvement is that TMEvent is
> a well-behaved C++ class with a usable assignment and copy-constructor operators.
> - graphics and web interface uses the same ROOT graphics, ROOT web server (a derivative
> of mongoose web server library) and the same JS-ROOT.
> - the manalyzer has better defined control flow and C++ object lifetime rules
> wrt run start and run end (this corrects problems with life time of C++ objects
> in the old rootana).
> - manalyzer has automatic per-module multithreading "for free" (thanks, Joseph!),
> I typically see the alphag analyzer use 8-10 CPU threads without having to use
> any threading or mutex gunk in the analysis code.
> 
> The current plan is to include manalyzer into MIDAS as a git submodule, with luck
> it will happen for the next midas release, the hold up is with the midasio class that needs
> to be updated, git-submoduled and added to midas. Also the old TMidasOnline class needs
> updating.
> 
> To conclude, we use manalyzer for ALPHA-2 and ALPHA-g, people who use it seem to be
> generally happy (especially with the automatic per-module multithreading), we use
> it for a couple of simpler experiments at TRIUMF.
> 
> I hope this answers your questions?
> 
> K.O.
  37   06 Feb 2021 Frederik WautersForumana or manalyzer?
ok, nevermind, it's in the help

" -mt: Enable multithreaded mode. Extra multithread config settings: "
  38   22 Mar 2021 Isaac Labrie BoulayForumManalyzer - Preventing BeginRun() from getting called when I stop the run.
Hi all,

I am running an analyzer using an manalyzer templates and the analysis seems to 
lag behind the events getting stored in the buffer by my frontend. This is because 
the live histogram (-g) is very slow to update and draw. The slight delay causes a 
run object to be created after I 'stop' the acquisition. I'm guessing that this is 
because there are still MIDAS events in the ring buffer. This causes the 
BeginRun() methods of all my modules to get called again.

What is the best way to prevent this? From what I understand, PreEndRun() methods 
should only be used to clear buffered flow events. Is there maybe a way to speed 
up the histogram drawing so that I don't get this lag in the analysis?

Any help will be greatly appreciated.

Thanks so much for your time.

Isaac
  40   12 Apr 2021 Gennaro TortoneForumrootana and TAnaManager
Hi,

I'm facing with a strange problem with rootana:
I fetched and built rootana (master branch) as usual (make / make install);

If I build 'examples' and launch:

./root_server.exe -v

I got a lot of this messages:

Info in <TCling::LoadPCM>: In-memory ROOT PCM candidate /opt/root/lib/.....

and at the end:


 *** Break *** segmentation violation
 Generating stack trace...
 0x00007f9a876a7df1 in ROOT::AddClassAlternate(char const*, char const*) + 0x31 
from /opt/root/lib/root/libCore.so
 0x0000557debfea956 in <unknown> from ./root_server.exe
 0x0000557debfead72 in <unknown> from ./root_server.exe
 0x0000557debfead9b in <unknown> from ./root_server.exe
 0x0000557dec034605 in __libc_csu_init + 0x45 from ./root_server.exe
 0x00007f9a856e802a in __libc_start_main + 0x7a from /lib/x86_64-linux-
gnu/libc.so.6
 0x0000557debf759fa in _start + 0x2a from ./root_server.exe


I'm using ROOT 6.22/06 compiled from source files on Debian 10 on a virtual
machine...

The problem seems to be less critical if I connect with SSH with -XC option
or if I set DISPLAY variable. In these case I got only TCling messages with
this warning:

Error in <TGClient::TGClient>: can't open display "0:0", switching to batch 
mode...
 In case you run from a remote ssh session, reconnect with ssh -Y

If I build manalyzer everything goes fine and it seems that problem is
related to TAnaManager in some ways...

Regards,
Gennaro
  41   15 Apr 2021 Thomas LindnerForumrootana and TAnaManager
Hi,

Hmm, unfortunately I cannot produce your seg fault.  I run the command 

./root_server.exe 

and it runs without a seg-fault.  I can run it with the following combinations:

1) Centos-7.7 with ROOT 6.18
2) Ubuntu 20.04.2 with ROOT 6.22/02

Note that I don't think 'root_server.exe -v' is a valid option.

I will try to make a ROOT 6.22/06 version sometime, but it seems surprising that that is the problem.  This ROOT 
application stuff is annoying and I will try to remove it soon.

I do get the same annoying Cling errors as you.  They are annoying, but seem to be benign.

Cheers,
Thomas



> Hi,
> 
> I'm facing with a strange problem with rootana:
> I fetched and built rootana (master branch) as usual (make / make install);
> 
> If I build 'examples' and launch:
> 
> ./root_server.exe -v
> 
> I got a lot of this messages:
> 
> Info in <TCling::LoadPCM>: In-memory ROOT PCM candidate /opt/root/lib/.....
> 
> and at the end:
> 
> 
>  *** Break *** segmentation violation
>  Generating stack trace...
>  0x00007f9a876a7df1 in ROOT::AddClassAlternate(char const*, char const*) + 0x31 
> from /opt/root/lib/root/libCore.so
>  0x0000557debfea956 in <unknown> from ./root_server.exe
>  0x0000557debfead72 in <unknown> from ./root_server.exe
>  0x0000557debfead9b in <unknown> from ./root_server.exe
>  0x0000557dec034605 in __libc_csu_init + 0x45 from ./root_server.exe
>  0x00007f9a856e802a in __libc_start_main + 0x7a from /lib/x86_64-linux-
> gnu/libc.so.6
>  0x0000557debf759fa in _start + 0x2a from ./root_server.exe
> 
> 
> I'm using ROOT 6.22/06 compiled from source files on Debian 10 on a virtual
> machine...
> 
> The problem seems to be less critical if I connect with SSH with -XC option
> or if I set DISPLAY variable. In these case I got only TCling messages with
> this warning:
> 
> Error in <TGClient::TGClient>: can't open display "0:0", switching to batch 
> mode...
>  In case you run from a remote ssh session, reconnect with ssh -Y
> 
> If I build manalyzer everything goes fine and it seems that problem is
> related to TAnaManager in some ways...
> 
> Regards,
> Gennaro
  42   15 Apr 2021 Gennaro TortoneForumrootana and TAnaManager
Hi,

thanks for your support,

I realized that this issue is related to GCC/G++ version...
it seems that GCC 8.3 has this "segmentation violation" problem;

I have replaced default Debian GCC (8.3) with testing GCC 10 and
everything works !

Now I'm using a Xubuntu 20.04 LTS (GCC 9) and also here the problem
is not present...

Regards,
Gennaro

> Hi,
> 
> Hmm, unfortunately I cannot produce your seg fault.  I run the command 
> 
> ./root_server.exe 
> 
> and it runs without a seg-fault.  I can run it with the following combinations:
> 
> 1) Centos-7.7 with ROOT 6.18
> 2) Ubuntu 20.04.2 with ROOT 6.22/02
> 
> Note that I don't think 'root_server.exe -v' is a valid option.
> 
> I will try to make a ROOT 6.22/06 version sometime, but it seems surprising that that is the problem.  This ROOT 
> application stuff is annoying and I will try to remove it soon.
> 
> I do get the same annoying Cling errors as you.  They are annoying, but seem to be benign.
> 
> Cheers,
> Thomas
> 
> 
> 
> > Hi,
> > 
> > I'm facing with a strange problem with rootana:
> > I fetched and built rootana (master branch) as usual (make / make install);
> > 
> > If I build 'examples' and launch:
> > 
> > ./root_server.exe -v
> > 
> > I got a lot of this messages:
> > 
> > Info in <TCling::LoadPCM>: In-memory ROOT PCM candidate /opt/root/lib/.....
> > 
> > and at the end:
> > 
> > 
> >  *** Break *** segmentation violation
> >  Generating stack trace...
> >  0x00007f9a876a7df1 in ROOT::AddClassAlternate(char const*, char const*) + 0x31 
> > from /opt/root/lib/root/libCore.so
> >  0x0000557debfea956 in <unknown> from ./root_server.exe
> >  0x0000557debfead72 in <unknown> from ./root_server.exe
> >  0x0000557debfead9b in <unknown> from ./root_server.exe
> >  0x0000557dec034605 in __libc_csu_init + 0x45 from ./root_server.exe
> >  0x00007f9a856e802a in __libc_start_main + 0x7a from /lib/x86_64-linux-
> > gnu/libc.so.6
> >  0x0000557debf759fa in _start + 0x2a from ./root_server.exe
> > 
> > 
> > I'm using ROOT 6.22/06 compiled from source files on Debian 10 on a virtual
> > machine...
> > 
> > The problem seems to be less critical if I connect with SSH with -XC option
> > or if I set DISPLAY variable. In these case I got only TCling messages with
> > this warning:
> > 
> > Error in <TGClient::TGClient>: can't open display "0:0", switching to batch 
> > mode...
> >  In case you run from a remote ssh session, reconnect with ssh -Y
> > 
> > If I build manalyzer everything goes fine and it seems that problem is
> > related to TAnaManager in some ways...
> > 
> > Regards,
> > Gennaro
  43   20 Apr 2021 Thomas LindnerForumrootana and TAnaManager
Hi Gennaro,

Thanks for the update.  Good that you got it working, but not so good that it doesn't work on some compilers.

I will still try to remove the TApplication stuff which isn't needed for this particular program.

Cheers,
Thomas

 
> Hi,
> 
> thanks for your support,
> 
> I realized that this issue is related to GCC/G++ version...
> it seems that GCC 8.3 has this "segmentation violation" problem;
> 
> I have replaced default Debian GCC (8.3) with testing GCC 10 and
> everything works !
> 
> Now I'm using a Xubuntu 20.04 LTS (GCC 9) and also here the problem
> is not present...
> 
> Regards,
> Gennaro
> 
> > Hi,
> > 
> > Hmm, unfortunately I cannot produce your seg fault.  I run the command 
> > 
> > ./root_server.exe 
> > 
> > and it runs without a seg-fault.  I can run it with the following combinations:
> > 
> > 1) Centos-7.7 with ROOT 6.18
> > 2) Ubuntu 20.04.2 with ROOT 6.22/02
> > 
> > Note that I don't think 'root_server.exe -v' is a valid option.
> > 
> > I will try to make a ROOT 6.22/06 version sometime, but it seems surprising that that is the problem.  This ROOT 
> > application stuff is annoying and I will try to remove it soon.
> > 
> > I do get the same annoying Cling errors as you.  They are annoying, but seem to be benign.
> > 
> > Cheers,
> > Thomas
> > 
> > 
> > 
> > > Hi,
> > > 
> > > I'm facing with a strange problem with rootana:
> > > I fetched and built rootana (master branch) as usual (make / make install);
> > > 
> > > If I build 'examples' and launch:
> > > 
> > > ./root_server.exe -v
> > > 
> > > I got a lot of this messages:
> > > 
> > > Info in <TCling::LoadPCM>: In-memory ROOT PCM candidate /opt/root/lib/.....
> > > 
> > > and at the end:
> > > 
> > > 
> > >  *** Break *** segmentation violation
> > >  Generating stack trace...
> > >  0x00007f9a876a7df1 in ROOT::AddClassAlternate(char const*, char const*) + 0x31 
> > > from /opt/root/lib/root/libCore.so
> > >  0x0000557debfea956 in <unknown> from ./root_server.exe
> > >  0x0000557debfead72 in <unknown> from ./root_server.exe
> > >  0x0000557debfead9b in <unknown> from ./root_server.exe
> > >  0x0000557dec034605 in __libc_csu_init + 0x45 from ./root_server.exe
> > >  0x00007f9a856e802a in __libc_start_main + 0x7a from /lib/x86_64-linux-
> > > gnu/libc.so.6
> > >  0x0000557debf759fa in _start + 0x2a from ./root_server.exe
> > > 
> > > 
> > > I'm using ROOT 6.22/06 compiled from source files on Debian 10 on a virtual
> > > machine...
> > > 
> > > The problem seems to be less critical if I connect with SSH with -XC option
> > > or if I set DISPLAY variable. In these case I got only TCling messages with
> > > this warning:
> > > 
> > > Error in <TGClient::TGClient>: can't open display "0:0", switching to batch 
> > > mode...
> > >  In case you run from a remote ssh session, reconnect with ssh -Y
> > > 
> > > If I build manalyzer everything goes fine and it seems that problem is
> > > related to TAnaManager in some ways...
> > > 
> > > Regards,
> > > Gennaro
  10   16 Jul 2019 HassanBug ReportCannot find dictionary modules
Hello,

We've been attempting to make and run the executables in the
/packages/rootana/examples directory and have come across the same/similar
errors for each of them regarding missing dictionary modules:

[lm17773@it038146 examples]$ ./ana.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Using THttpServer in read/write mode
================================================================================
[lm17773@it038146 examples]$ ./anaDisplay.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
TDT724Waveform done init...... 
Create Histos
Create Histos
Adding new canvas in tab named 'V1720 Waveforms'
Adding new canvas in tab named 'V1720 Correlations'
Adding new canvas in tab named 'DT724 Waveforms'
Adding new canvas in tab named 'TRB3 Histograms'
Adding new canvas in tab named 'TRB3 Fine Histograms'
Adding new canvas in tab named 'TRB3 Diff Histograms'
===============================================================================
[lm17773@it038146 examples]$ ./midas2root.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Create main window!
==============================================================================
[lm17773@it038146 examples]$ ./root_server.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Using THttpServer in read/write mode

Please can you help us locate these modules?

Thanks!
  11   16 Jul 2019 Konstantin OlchanskiBug ReportCannot find dictionary modules
> [lm17773@it038146 examples]$ ./ana.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm

It is a problem inside ROOT. The pcm files replaced the dict.h files during the switch from CINT in 
ROOTv5 to LLVM in ROOTv6. But they have a mistake and use the wrong path for finding these files. 
I.e. search for "cannot find dictionary module" on the ROOT forum https://root-forum.cern.ch

K.O.
  12   16 Jul 2019 Thomas LindnerBug ReportCannot find dictionary modules
Hi,

I just wanted to be certain about how serious this problem is.  These error message always happens for me when I 
run on macos machine as well.  But the errors don't seem to have any real effect; my programs still run fine.

Is that the case for you too?  You get the error messages, but everything still works?

If so, then I agree that it would be nice to fix, but it is less critical; I will try to get to it.

Cheers,
Thomas

> Hello,
> 
> We've been attempting to make and run the executables in the
> /packages/rootana/examples directory and have come across the same/similar
> errors for each of them regarding missing dictionary modules:
> 
> [lm17773@it038146 examples]$ ./ana.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Using THttpServer in read/write mode
> ================================================================================
> [lm17773@it038146 examples]$ ./anaDisplay.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> TDT724Waveform done init...... 
> Create Histos
> Create Histos
> Adding new canvas in tab named 'V1720 Waveforms'
> Adding new canvas in tab named 'V1720 Correlations'
> Adding new canvas in tab named 'DT724 Waveforms'
> Adding new canvas in tab named 'TRB3 Histograms'
> Adding new canvas in tab named 'TRB3 Fine Histograms'
> Adding new canvas in tab named 'TRB3 Diff Histograms'
> ===============================================================================
> [lm17773@it038146 examples]$ ./midas2root.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Create main window!
> ==============================================================================
> [lm17773@it038146 examples]$ ./root_server.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Using THttpServer in read/write mode
> 
> Please can you help us locate these modules?
> 
> Thanks!
  13   18 Jul 2019 HassanBug ReportCannot find dictionary modules
Hi,
We are getting these warning of dictionary modules missing and nothing happens. I would have expected some graphical
interface to load up. I have tried copying these .pcm files from the packages/rootana/obj folder to
packages/rootana/examples, now the missing dictionary module complaint goes away but no graphical interface loads up.
Could you please assist with this?

Kind regards,
Hassan

> Hi,
> 
> I just wanted to be certain about how serious this problem is.  These error message always happens for me when I 
> run on macos machine as well.  But the errors don't seem to have any real effect; my programs still run fine.
> 
> Is that the case for you too?  You get the error messages, but everything still works?
> 
> If so, then I agree that it would be nice to fix, but it is less critical; I will try to get to it.
> 
> Cheers,
> Thomas
> 
> > Hello,
> > 
> > We've been attempting to make and run the executables in the
> > /packages/rootana/examples directory and have come across the same/similar
> > errors for each of them regarding missing dictionary modules:
> > 
> > [lm17773@it038146 examples]$ ./ana.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Using THttpServer in read/write mode
> > ================================================================================
> > [lm17773@it038146 examples]$ ./anaDisplay.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > TDT724Waveform done init...... 
> > Create Histos
> > Create Histos
> > Adding new canvas in tab named 'V1720 Waveforms'
> > Adding new canvas in tab named 'V1720 Correlations'
> > Adding new canvas in tab named 'DT724 Waveforms'
> > Adding new canvas in tab named 'TRB3 Histograms'
> > Adding new canvas in tab named 'TRB3 Fine Histograms'
> > Adding new canvas in tab named 'TRB3 Diff Histograms'
> > ===============================================================================
> > [lm17773@it038146 examples]$ ./midas2root.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Create main window!
> > ==============================================================================
> > [lm17773@it038146 examples]$ ./root_server.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Using THttpServer in read/write mode
> > 
> > Please can you help us locate these modules?
> > 
> > Thanks!
  14   24 Jul 2019 Paolo BaessoBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)

Good afternoon, I am following the instructions provided here to install ROOTANA (and MIDAS, more in general). When I try to make I get the following error

libMidasInterface/TMidasOnline.cxx: In member function ‘bool TMidasOnline::sleep(int)’: libMidasInterface/TMidasOnline.cxx:194:3: error: ‘ss_suspend_set_dispatch_ipc’ was not declared in this scope
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libMidasInterface/TMidasOnline.cxx:194:3: note: suggested alternative: ‘ss_suspend_set_rpc_thread’
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ss_suspend_set_rpc_thread
Makefile:339: recipe for target 'obj/TMidasOnline.o' failed make: *** [obj/TMidasOnline.o] Error 1

 

And the compilation stops. Is this a known issue?
My system is Ubuntu 18 and I am running ROOT 6.18.00

  15   08 Aug 2019 Lauren MantonBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)

Hi,

Thank you, commenting out the line worked and we can now compile the code. However, when we try to run ana.exe or anaDisplay.exe, we get the following errors:

Error in <TCling::RegisterModule>: cannot find dictionary module TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TRootanaDisplayDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TFancyHistogramCanvasDict_rdict.pcm

 

We see that the files are in /rootana/obj but we cannot find a way to point the compiler to them.

Could you please advise how to proceed,

Many thanks

Paolo Baesso wrote:

Good afternoon, I am following the instructions provided here to install ROOTANA (and MIDAS, more in general). When I try to make I get the following error

libMidasInterface/TMidasOnline.cxx: In member function ‘bool TMidasOnline::sleep(int)’: libMidasInterface/TMidasOnline.cxx:194:3: error: ‘ss_suspend_set_dispatch_ipc’ was not declared in this scope
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libMidasInterface/TMidasOnline.cxx:194:3: note: suggested alternative: ‘ss_suspend_set_rpc_thread’
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ss_suspend_set_rpc_thread
Makefile:339: recipe for target 'obj/TMidasOnline.o' failed make: *** [obj/TMidasOnline.o] Error 1

 

And the compilation stops. Is this a known issue?
My system is Ubuntu 18 and I am running ROOT 6.18.00

 

  16   08 Aug 2019 Thomas LindnerBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)

Hi Lauren,

Do you see an actual problem that results from those error messages?  As I mentioned before [1] I get that error message, but it doesn't seem to actually cause a problem.  

Thomas

[1] https://midas.triumf.ca/elog/Rootana/12

Lauren Manton wrote:

Hi,

Thank you, commenting out the line worked and we can now compile the code. However, when we try to run ana.exe or anaDisplay.exe, we get the following errors:

Error in <TCling::RegisterModule>: cannot find dictionary module TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TRootanaDisplayDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TFancyHistogramCanvasDict_rdict.pcm

 

We see that the files are in /rootana/obj but we cannot find a way to point the compiler to them.

Could you please advise how to proceed,

Many thanks

Paolo Baesso wrote:

Good afternoon, I am following the instructions provided here to install ROOTANA (and MIDAS, more in general). When I try to make I get the following error

libMidasInterface/TMidasOnline.cxx: In member function ‘bool TMidasOnline::sleep(int)’: libMidasInterface/TMidasOnline.cxx:194:3: error: ‘ss_suspend_set_dispatch_ipc’ was not declared in this scope
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libMidasInterface/TMidasOnline.cxx:194:3: note: suggested alternative: ‘ss_suspend_set_rpc_thread’
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ss_suspend_set_rpc_thread
Makefile:339: recipe for target 'obj/TMidasOnline.o' failed make: *** [obj/TMidasOnline.o] Error 1

 

And the compilation stops. Is this a known issue?
My system is Ubuntu 18 and I am running ROOT 6.18.00

 

 

  17   14 Aug 2019 Konstantin OlchanskiBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)
(please send elog messages in "plain text" mode, otherwise I cannot quote your text)

The problem with missing ss_suspend_set_dispatch_ipc() is now fixed, rootana commit 
https://bitbucket.org/tmidas/rootana/commits/52fdedb5745fa9b6739a16a6faab8b9d40108045

If you run rootana online in graphical mode (or call TMidasOnline::sleep() yourself), you may re-encounter
the problem of recursive calls to the event handler, depending on which version of MIDAS you use. The
probability of this problem happening is probably reduced to zero in all 2019 MIDAS releases and it is
definitely fixed in the most recent commits to MIDAS (this will be the midas-2019-09 release, most likely).

Read more here:
https://midas.triumf.ca/elog/Midas/1663

K.O.
  18   14 Aug 2019 Konstantin OlchanskiBug Reportcannot find dictionary module TMainDisplayWindowDict_rdict.pcm
> cannot find dictionary module TMainDisplayWindowDict_rdict.pcm

this problem is not unique to ROOTANA and ROODY, take a search for this problem (and solutions) on the ROOT forum...

K.O.
ELOG V3.1.4-2e1708b5