Hadd seg faults

Hello experts,

This may be the ten thousandth time I have used hadd to merge root files from CRAB jobs, but the first time to encounter a seg fault. Each .root file is healthy, and one can browse the contents without a problem.

However, the command
hadd -f Ditau_test.root Ditau_lightweightPATuple_001.root Ditau_lightweightPATuple_002.root
spits out:

Target file: Ditau_test.root
Source file 1: Ditau_lightweightPATuple_001.root
Warning in <TClass::TClass>: no dictionary for class edm::FileFormatVersion is available
Warning in <TClass::TClass>: no dictionary for class edm::FileID is available
Warning in <TClass::TClass>: no dictionary for class edm::IndexIntoFile is available
[...]
Source file 2: Ditau_lightweightPATuple_002.root
Sources and Target have different compression levels
Merging will be slower
Target path: Ditau_test.root:/
Warning in <TBufferFile::WriteObjectAny>: since gen::PdfInfo has no public constructor
    which can be called without argument, objects of this class
    can not be read with the current library. You will need to
    add a default constructor before attempting to read it.
Warning in <TBufferFile::WriteObjectAny>: since HepMC::GenEvent has no public constructor
    which can be called without argument, objects of this class
    can not be read with the current library. You will need to
    add a default constructor before attempting to read it.
[...]
Segmentation fault

You may find these example files and the full output log here:
/afs/cern.ch/user/n/nvallsve/public/hadd_problems/

Many thanks in advance,

– Nil

Hi,

I can not reproduce the problem with the trunk nor with v5.28/00b. It is plausible that the problem is linked to a partial automatic loaded of libraries which would be registered via the existence of rootmap file in directories listed on your LD_LIBRARY_PATH and thus it is possible that you can work around the problem by restricting LD_LIBRARY_PATH to the strict minimum ($ROOTSYS/lib) before calling hadd.

Cheers,
Philippe.