Back Midas Rome Roody Rootana
  Root Analyzer Framework, Page 3 of 3  Not logged in ELOG logo
New entries since:Wed Dec 31 16:00:00 1969
IDup Date Author Topic Subject
  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
  44   29 Apr 2021 Konstantin OlchanskiInfomanalyzer split into a git submodule
In preparation to including the manalyzer into MIDAS, I split it into a separate 
repository and included it into ROOTANA as a git submodule.

https://bitbucket.org/tmidas/manalyzer/src/master/

This will cause a minor difficulty and require a manual adjustment next time you 
do a "git pull":
- check that (a) manalyzer directory is empty or (b) it only has .o and .exe 
files, in both cases delete it
- run "git submodule init; git submodule update", you should see it clone the 
manalyzer repository

K.O.
  45   25 Apr 2022 Marius KoeppelSuggestionSupport for THttpServer Options
Dear all,

I would like to have the possibility to add different options when I create a THttpServer. At the moment the manalyzer.cxx only adds the port:

2840: sprintf(str, "http:127.0.0.1:%d?cors", httpPort);

But there are more options which one can use https://github.com/root-project/jsroot/blob/master/docs/HttpServer.md.

Best regards,
Marius
  46   27 Apr 2022 Konstantin OlchanskiSuggestionSupport for THttpServer Options
> I would like to have the possibility to add different options when I create a THttpServer.

I would like to know your "use case". What different options do you want to use in addition to what's already there?

I must ask because some options are insecure (i.e. exposing the webserver to external connections) and
while I have no problem with others shooting themselves in the foot, I think they should be warned
before they do it and I do not want to read it in the news that they did it using a gun I built.

TLDR follows:

> At the moment the manalyzer.cxx only adds the port:
> 2840: sprintf(str, "http:127.0.0.1:%d?cors", httpPort);

this is by design. it is only safe to bind thttpserver to localhost, exposing to external connections is not safe. (until somebody
can review the security situation with the version of civetweb, an antique clone of mongoose, inside ROOT).

same situation with mhttpd, it is not safe to expose it to external connections, it should always live
behind a password protected https proxy.

> But there are more options which one can use https://github.com/root-project/jsroot/blob/master/docs/HttpServer.md.

yes, I see there is more options now that there used to be before.

which ones do you want to use? and which ones you think are generally useful in what we do?

- threads - I am not sure what the latest thread-safe situation is on ROOT. is it useful to increase number of threads beyond 10?
- top=name - yes, useful, but I think jsroot overrides that.
- auth_file, auth_domain - digest authentication .htdigest file stores passwords effectively as plain text, if you steal the .htdigest file, you 
can login into the web server (as opposed to stealing /etc/passwd, you cannot login anywhere with it, not until you crack the hashes).
- loopback - this is what I want to enforce
- debug - could be useful, but is it?
- websocket - does this do anything useful for us?
- cors=domain - same as in midas mhttpd, I think we respond with CORS "*", is some other reponse useful?
- readonly - (is the default?)
- readwrite - I think should be *our* default
- global - (is the default, I agree)
- noglobal - any use case where we may want this?
- anything else?

For general use, I want maximum security configuration: bind to localhost, cors enabled, user can specify tcp port number, plus anything else from 
the list above?

For maximum flexibility we should probably have "--insecure-thttpd" to specify
the complete THttpServer() constructor argument. But it would be silly to force everybody
to use that just to set the "debug" option.

K.O.
ELOG V3.1.4-2e1708b5