bendavid / GBRLikelihood

1 stars 12 forks source link

TLS problem running on CMSSW_7_X_X #7

Open shervin86 opened 9 years ago

shervin86 commented 9 years ago

Running ECALELF (that includes GBRLikelihood) we got:

Exception Message: unable to load /afs/cern.ch/work/l/lbrianza/PHD/ECALELF_EP/CMSSW_7_2_0_pre7/lib/slc6_amd64_gcc481/pluginCalibrationEleNewEnergiesProducer.so because dlopen: cannot load any more object with static TLS

The EleNewEnergiesProducer plugin calles the GRBLikelihoodEGTools to calculate retrieve energy corrections from regression for electrons.

We are wondering if this error is related to the -fopenmp option in the BuildFile.xml

Any idea?

bendavid commented 9 years ago

Can you try removing -fopenmp from the compile flags? (This is only needed for the training step and has no effect or benefit for applying the regression)

shervin86 commented 9 years ago

I tried and it does not compile

Shervin Da: Josh Bendavid Inviato: giovedì 23 ottobre 2014 12:56 A: bendavid/GBRLikelihood Rispondi a: bendavid/GBRLikelihood Cc: Shervin Nourbakhsh Oggetto: Re: [GBRLikelihood] TLS problem running on CMSSW_7_X_X (#7)

Can you try removing -fopenmp from the compile flags? (This is only needed for the training step and has no effect or benefit for applying the regression)

— Reply to this email directly or view it on GitHubhttps://github.com/bendavid/GBRLikelihood/issues/7#issuecomment-60222339.

bendavid commented 9 years ago

You get the same error or a different error?

shervin86 commented 9 years ago

undefined reference to something. @lbrianza can reproduce the error.

Shervin Da: Josh Bendavid Inviato: giovedì 23 ottobre 2014 13:01 A: bendavid/GBRLikelihood Rispondi a: bendavid/GBRLikelihood Cc: Shervin Nourbakhsh Oggetto: Re: [GBRLikelihood] TLS problem running on CMSSW_7_X_X (#7)

You get the same error or a different error?

— Reply to this email directly or view it on GitHubhttps://github.com/bendavid/GBRLikelihood/issues/7#issuecomment-60222833.

lbrianza commented 9 years ago

Hi, this is the output of the compilation:

Building shared library tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/libHiggsAnalysisGBRLikelihood.so tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/RooHybridBDTAutoPdf.o: In function RooHybridBDTAutoPdf::UpdateTargets(int, int)': RooHybridBDTAutoPdf.cc:(.text+0x2491): undefined reference toomp_get_thread_num' tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/RooHybridBDTAutoPdf.o: In function RooHybridBDTAutoPdf::UpdateCurrentNodes(std::vector<HybridGBREvent*, std::allocator<HybridGBREvent*> > const&, HybridGBRTreeD&, int)': RooHybridBDTAutoPdf.cc:(.text+0x2f01): undefined reference toomp_get_thread_num' tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/RooHybridBDTAutoPdf.o: In function RooHybridBDTAutoPdf::EvalLossRooFit()': RooHybridBDTAutoPdf.cc:(.text+0x3442): undefined reference toomp_get_thread_num' tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/RooHybridBDTAutoPdf.o: In function RooHybridBDTAutoPdf::EvalLoss(double, TVectorT<double> const&, int)': RooHybridBDTAutoPdf.cc:(.text+0x3d01): undefined reference toomp_get_thread_num' tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/RooHybridBDTAutoPdf.o: In function RooHybridBDTAutoPdf::RecomputeTargets()': RooHybridBDTAutoPdf.cc:(.text+0x59ba): undefined reference toomp_get_thread_num' tmp/slc6_amd64_gcc481/src/HiggsAnalysis/GBRLikelihood/src/HiggsAnalysisGBRLikelihood/RooHybridBDTAutoPdf.o: In function RooHybridBDTAutoPdf::RooHybridBDTAutoPdf(char const*, char const*, RooArgList const&, RooAbsReal&, RooRealVar&, std::vector<RooAbsData*, std::allocator<RooAbsData*> > const&, std::vector<RooAbsReal*, std::allocator<RooAbsReal*> > const&)': RooHybridBDTAutoPdf.cc:(.text+0xee62): undefined reference toomp_get_max_threads'

bendavid commented 9 years ago

Ok, this can be fixed with #ifndefs.

On the other hand the regression for 73x will probably avoid the GBRLikelihood dependency (we will do the training in GBRLikelihood but then copy the output into a CMSSW condformat)

Since the existing 5x regression is not very meaningful on 7x reconstruction, maybe one can simply comment out the GBRLikelihood dependency for now?