Re: Change in Reflex dictionaries and vector<>'s from v5.18.00 to v5.22.00a

From: Brett Viren <bv_at_bnl.gov>
Date: Fri, 24 Apr 2009 16:04:30 -0400


Hi Axel,

Axel Naumann <Axel.Naumann_at_cern.ch> writes:

> this has nothing to do with ROOT or Reflex. But GCCXML changed the way
> it instantiates templates because GCC's parser changed, and 5.18 was
> commonly used with the old GCCXML (0.7) while 5.22 is commonly used
> with the new one (0.9). Your workaround is the only one I am aware
> of. Other changes are in the area of automatic, compiler-provided
> default constructor, destructor, and op=, which are now part of
> GCCXML's output.

Okay. Thanks for the explanation.

> Either way none of this should not lead to a SegV, so it's maybe ROOT
> or your code that is missing a protection. Can you give me a bit more
> details where it crashes so we can get that fixed?

I'd be happy to.

The SegV was triggered by trying to plot data members by clicking on them via a TBrowser in a root session after I had loaded the libraries with this macro:

$ cat load.C
{

    gSystem->Load("libCintex");
    Cintex::Enable();

    gSystem->Load("libPerBaseEventDict");
    gSystem->Load("libPerBaseEvent");
    gSystem->Load("libPerRandomStateDict");
    gSystem->Load("libPerRandomState");
    gSystem->Load("libPerGenEventDict");
    gSystem->Load("libPerGenEvent");
    gSystem->Load("libPerElecEvent");
    gSystem->Load("libPerElecEventDict");
    gSystem->Load("libPerSimTrigEvent");
    gSystem->Load("libPerSimTrigEventDict");
    gSystem->Load("libPerSimEventDict");
    gSystem->Load("libPerSimEvent");
    gSystem->Load("libPerReadoutEventDict");
    gSystem->Load("libPerReadoutEvent");
    gSystem->Load("libCLHEPRflx");

}

The "libPer*" libraries hold our data classes and their dictionaries. The classes are generated using GaudiObjDesc with some small amount of hand written implementation code. libCLHEPRflx is from the Relax project and holds CLHEP dictionaries.

The missing <class> entries were in our most basic event classes in the libPerBaseEvent*. If you want to browse that code it is here:

http://dayabay.bnl.gov/~bviren/dayabay/offline/nuwa-git/dybgaudi/RootIO/PerBaseEvent/

If you want additional details I'm happy to give them.

-Brett. Received on Fri Apr 24 2009 - 22:04:35 CEST

This archive was generated by hypermail 2.2.0 : Mon Apr 27 2009 - 17:50:02 CEST