How to deal with the dynamic-database-related crash on ROOT? (something wrong with .so files)

Please provide the following information:


ROOT Version (root_v5.34.36):
MacOS high Sierra 10.13.3 (newest); Xcode Version 8.3.3 (8E3004b)


I’m just a senior undergraduate student (don’t know very much about computer science), working on a high energy physics graduate thesis.
I’ve kind of come to a dead end.
This is the error report:

root [0] .x hist1.C %(just try to draw a basic gauss distribution)
Warning: Automatic variable i is allocated hist1.C:3:
dlopen error: dlopen(/Applications/root_v5.34.36/lib/libRIO.so, 9): can't resolve symbol __ZTVN10__cxxabiv117__class_type_infoE in /Applications/root_v5.34.36/lib/libThread.so because dependent dylib #3 could not be loaded in /Applications/root_v5.34.36/lib/libThread.so
Load Error: Failed to load Dynamic link library /Applications/root_v5.34.36/lib/libRIO.so
Error in <TCint::AutoLoadCallback>: failure loading dependent library libGraf.so for class TCanvas
dlopen error: dlopen(/Applications/root_v5.34.36/lib/libGraf.so, 9): can't resolve symbol __ZTVN10__cxxabiv117__class_type_infoE in /Applications/root_v5.34.36/lib/libThread.so because dependent dylib #3 could not be loaded in /Applications/root_v5.34.36/lib/libThread.so
Load Error: Failed to load Dynamic link library /Applications/root_v5.34.36/lib/libGraf.so
Error in <TCint::AutoLoadCallback>: failure loading library libGpad.so for class TCanvas
dlopen error: dlopen(/Applications/root_v5.34.36/lib/libGpad.so, 9): can't resolve symbol __ZTVN10__cxxabiv117__class_type_infoE in /Applications/root_v5.34.36/lib/libThread.so because dependent dylib #3 could not be loaded in /Applications/root_v5.34.36/lib/libThread.so
Load Error: Failed to load Dynamic link library /Applications/root_v5.34.36/lib/libGpad.so
Error in <TCint::AutoLoadCallback>: failure loading library libGpad.so for class TCanvas
Error: Function MakeDefCanvas() is not defined in current scope  (tmpfile):1:
*** Interpreter error recovered ***

 *** Break *** segmentation violation
 Generating stack trace...
 0x000000010bfe4ca0 in G__G__Base2_11_0_15(G__value*, char const*, G__param*, int) (in libCore.so) + 48
 0x000000010c3dac9f in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in libCint.so) + 63
 0x000000010c475e7b in G__execute_call (in libCint.so) + 75
 0x000000010c4762ca in G__call_cppfunc (in libCint.so) + 826
 0x000000010c44ab8f in G__interpret_func (in libCint.so) + 5759
 0x000000010c438dd9 in G__getfunction (in libCint.so) + 5705
 0x000000010c54079d in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) (in libCint.so) + 4237
 0x000000010c536f8d in G__getvariable (in libCint.so) + 8093
Failed to start process notifications for pid 1288 (19)
 0x000000010c42cd63 in G__getitem (in libCint.so) + 483
Failed to start process notifications for pid 1288 (19)
 0x000000010c428739 in G__getexpr (in libCint.so) + 31033
Failed to start process notifications for pid 1288 (19)
 0x000000010c4a59ab in G__exec_statement (in libCint.so) + 16827
Failed to start process notifications for pid 1288 (19)
 0x000000010c40f26d in G__exec_tempfile_core(char const*, __sFILE*) (in libCint.so) + 1133
Failed to start process notifications for pid 1288 (19)
 0x000000010c40f490 in G__exec_tempfile (in libCint.so) + 16
Failed to start process notifications for pid 1288 (19)
 0x000000010c4b727a in G__process_cmd (in libCint.so) + 26858
Failed to start process notifications for pid 1288 (19)
 0x000000010bcf3589 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in libCore.so) + 873
Failed to start process notifications for pid 1288 (19)
 0x000000010bcf3919 in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (in libCore.so) + 121
Failed to start process notifications for pid 1288 (19)
 0x000000010bd40c89 in TApplication::ExecuteFile(char const*, int*, bool) (in libCore.so) + 2329
Failed to start process notifications for pid 1288 (19)
 0x000000010bc844a6 in TRint::HandleTermInput() (in libRint.so) + 678
Failed to start process notifications for pid 1288 (19)
 0x000000010bd2c218 in TUnixSystem::CheckDescriptors() (in libCore.so) + 328
Failed to start process notifications for pid 1288 (19)
 0x000000010bd351dd in TMacOSXSystem::DispatchOneEvent(bool) (in libCore.so) + 429
Failed to start process notifications for pid 1288 (19)
 0x000000010bd9e54a in TSystem::InnerLoop() (in libCore.so) + 26
Failed to start process notifications for pid 1288 (19)
 0x000000010bd9e39b in TSystem::Run() (in libCore.so) + 203
Failed to start process notifications for pid 1288 (19)
 0x000000010bd40ea4 in TApplication::Run(bool) (in libCore.so) + 36
Failed to start process notifications for pid 1288 (19)
 0x000000010bc83df5 in TRint::Run(bool) (in libRint.so) + 1429
Failed to start process notifications for pid 1288 (19)
 0x000000010ba19e8f in main (in root.exe) + 79
Failed to start process notifications for pid 1288 (19)
 0x00007fff6272c115 in start (in libdyld.dylib) + 1
Root > 

Just as you’ve guessed, no code previously written could be run.
I used ROOT before quite smoothly (last summer holiday) and I have never been engaged in it ever since. When this problem showed up, since no physics classmates know how to do it, and my professors do not how to do it either. I just used basic variable control: either my something wrong with my ROOT, or my Xcode, or my MacOS.
However, I’ve reinstalled all of them three and failed after all. So I think maybe someone in this forum is kind enough to help me, or at least tries to point out the issue here.

Thank you in advance, sincerely. (Or you can directly e-mail me 2788459110@qq.com)

Hi,

the first step I propose is to move to ROOT 6: https://root.cern.ch/content/release-61302

Cheers,
Danilo

Hi,

your version of Xcode seems to be rather old, the latest version should be 9.2. Have you tried updating this?

Yeah, I’ve tried. Actually, I changed from 9.2 to this one, since this is the one I used last summer. I don’t know what’s wrong. When it’s the first time I tried to install ROOT. Only ROOT and an Xcode is sufficient. And now I’m doubting that I need to install something else.
Anyway, the redundant and confusing error report gives me zero clue.
So far I still don’t know it’s because I’m in lack of something or I destroyed some critical systematic files.

Hi, Can you tell me what’s your versions of Xcode, ROOT, (and macOS version), if you are a Mac user ?
So that I don’t need to worry about the incompatibility of the newest versions.

Actually, I’ve tried both versions, this is what happens when I use ROOT6, but I think it’s just the same reason behind.

Last login: Mon Mar 26 18:02:01 on ttys000
renyuanjies-MacBook-Air:~ renyuanjie$ cd root
renyuanjies-MacBook-Air:root renyuanjie$ cd learn/
renyuanjies-MacBook-Air:learn renyuanjie$ root
   ------------------------------------------------------------
  | Welcome to ROOT 6.13/02                http://root.cern.ch |
  |                               (c) 1995-2017, The ROOT Team |
  | Built for macosx64                                         |
  | From tag v6-13-02, 20 March 2018                           |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

root [0] .x hist1.C
/Users/renyuanjie/root/learn/./hist1.C:5:6: error: member reference type 'TH1D' is not a pointer; did you mean to use '.'?
    h->Fill(gRandom->Gaus(2.5,1));}
    ~^~
     .
/Users/renyuanjie/root/learn/./hist1.C:6:4: error: member reference type 'TH1D' is not a pointer; did you mean to use '.'?
  h->SetTitle("lalala;X;counts");
  ~^~
   .
/Users/renyuanjie/root/learn/./hist1.C:7:4: error: member reference type 'TH1D' is not a pointer; did you mean to use '.'?
  h->SetMinimum(0);
  ~^~
   .
/Users/renyuanjie/root/learn/./hist1.C:8:4: error: member reference type 'TH1D' is not a pointer; did you mean to use '.'?
  h->SetFillColor(kBlue-7);
  ~^~
   .
/Users/renyuanjie/root/learn/./hist1.C:11:4: error: member reference type 'TH1D' is not a pointer; did you mean to use '.'?
  h->Draw();
  ~^~
   .
root [1] 

Hi,

I think you should access a reference with “.” rather than “->”: the interpreter is trying to tell you that.

Cheers,
D

Eh… And now it’s like this. I always feels that I cannot circumvent this thing.

root [0] .x hist1.C

 *** Break *** segmentation violation
[/usr/lib/system/libsystem_platform.dylib] _sigtramp (no debug info)
[<unknown binary>] (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenFunction::EmitScalarConversion(llvm::Value*, clang::QualType, clang::QualType, clang::SourceLocation) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenFunction::EmitForStmt(clang::ForStmt const&, llvm::ArrayRef<clang::Attr const*>) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::CodeGen::FunctionArgList&, clang::Stmt const*) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] clang::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] cling::DeclCollector::HandleTopLevelDecl(clang::DeclGroupRef) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] cling::IncrementalParser::ParseInternal(llvm::StringRef) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] cling::Interpreter::EvaluateInternal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] cling::Interpreter::process(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cling::Value*, cling::Transaction**, bool) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] cling::MetaProcessor::readInputFromFile(llvm::StringRef, cling::Value*, unsigned long, bool) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) (no debug info)
[/Applications/root_v6.13.02/lib/libCling.so] TCling::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (no debug info)
[/Applications/root_v6.13.02/lib/libCore.so] TApplication::ExecuteFile(char const*, int*, bool) (no debug info)
[/Applications/root_v6.13.02/lib/libRint.so] TRint::ProcessLineNr(char const*, char const*, int*) (no debug info)
[/Applications/root_v6.13.02/lib/libRint.so] TRint::HandleTermInput() (no debug info)
[/Applications/root_v6.13.02/lib/libCore.so] TUnixSystem::CheckDescriptors() (no debug info)
[/Applications/root_v6.13.02/lib/libCore.so] TMacOSXSystem::DispatchOneEvent(bool) (no debug info)
[/Applications/root_v6.13.02/lib/libCore.so] TSystem::InnerLoop() (no debug info)
[/Applications/root_v6.13.02/lib/libCore.so] TSystem::Run() (no debug info)
[/Applications/root_v6.13.02/lib/libCore.so] TApplication::Run(bool) (no debug info)
[/Applications/root_v6.13.02/lib/libRint.so] TRint::Run(bool) (no debug info)
[/Applications/root_v6.13.02/bin/root.exe] main (no debug info)
[/usr/lib/system/libdyld.dylib] start (no debug info)
Root > 

Hope you can help me with more insight on this. Does this mean I need to install something???

Did you follow the suggestion of @suhl ?
In addition, what is the line that crashes? Can you reduce your macro to something minimal that works?

D

1 Like
{
  h=TH1D("h","test",50,0,5);//D means double.
  for(i=0;i<1e4;i++){
    h.Fill(gRandom->Gaus(2.5,1));}
  h.SetTitle("lalala;X;counts");
  h.SetMinimum(0);
  h.SetFillColor(kBlue-7);
  //h->SetStats(0);
  gStyle->SetOptStat(111111);
  h.Draw();

}

This is the basic macro. The easiest kind. But, as I mentioned, no matter what I put what macro in this, they always fail. And, actually I just switched from the latest Xcode to this old one. Thus I, ah… I don’t think the actual problem is that sir.

Hi,
that code is not valid C++. This macro works:

  TH1D h("h","test",50,0,5);
  for(auto i=0;i<1e4;i++) h.Fill(gRandom->Gaus(2.5,1));
  h.SetTitle("lalala;X;counts");
  h.SetMinimum(0);
  h.SetFillColor(kBlue-7);
  gStyle->SetOptStat(111111);
  h.Draw();

Cheers,
D

Oh, wow~ That’s a huge step for me, sir, at least.
I feel that this problem is about to come to an end.
But still, one more question:

  1. why my friend can successfully execute my previous little test, the one before you modified, with his ROOT5 on high Sierra.
    And why all my previously written macros all suddenly cannot run even though they were perfectly executable on my ROOT5 half year ago? For example, this one: (ROOT6 said there are so many errors, that it does not bother give any hint. It’s a little bit long, but very repetitive, you can give a very quick glance)
{
  gROOT->Reset();
  printf("\n\n\n");
  TCanvas c("c","c",250,10,1500,500);
  c->Divide(3,1);
  double Pi=TMath::Pi();

  FILE *fp1=fopen("jet_data_PbPb.txt","r");
  FILE *fp2=fopen("jet_data_pp.txt","r");
  int weird=0;
  int nEvent1,nEvent2,njet1,njet2;
  fscanf(fp1,"%d",&nEvent1);fscanf(fp2,"%d",&nEvent2);
  Double_t ListPhi[100];
  Double_t ListPT[100];
  Double_t ListEta[100];
  Double_t ljet=0;Double_t subjet=0;
  
  TH1D Eta1("Eta1","Eta1",50,-3.0,3.5);
  Eta1->SetMarkerStyle(4);
  Eta1->SetLineWidth(9);
  Eta1->SetLineColor(kBlue);
  Eta1->SetMarkerColor(kGreen-5);
  TH1D Pt1("pt1","Pt1",50,25,400);
  Pt1->SetMarkerStyle(4);
  Pt1->SetLineWidth(9);
  Pt1->SetLineColor(kBlue);
  Pt1->SetMarkerColor(kSpring-5);
  TH1D Phi1("phi1","phi1",50,-Pi,Pi);
  Phi1->SetMarkerStyle(25);
  Phi1->SetLineWidth(9);
  Phi1->SetLineColor(kBlue);
  Phi1->SetMarkerColor(kSpring-5);
  Phi1->SetMinimum(0);
  //------------------------------------------------------------
  TH1D Eta2("Eta2","Eta2",50,-3.0,3.5);
  Eta2->SetMarkerStyle(20);
  Eta2->SetLineWidth(9);
  Eta2->SetLineColor(kRed);
  Eta2->SetMarkerColor(kGreen-3);
  TH1D Pt2("Pt2","Pt2",50,25,400);
  Pt2->SetMarkerStyle(20);
  Pt2->SetLineWidth(9);
  Pt2->SetLineColor(kRed);
  Pt2->SetMarkerColor(kGreen-3);
  TH1D Phi2("phi2","phi2",50,-Pi,Pi);
  Phi2->SetMarkerStyle(21);
  Phi2->SetLineWidth(9);
  Phi2->SetLineColor(kRed);
  Phi2->SetMarkerColor(kGreen-3);
  Phi2->SetMinimum(0);
  ///////
  TH1D Monojet("Monojet","Monojet",50,25,400);
  
  /////-----------------------------/Pb+Pb
  printf("nEvent1=%d\n",nEvent1);
  for(int ii=0;ii<nEvent1;ii++)
    {
      fscanf(fp1,"%d",&njet1);
	for(int j=0;j<njet1;j++)
	  {int lcount,subcount;
 	  fscanf(fp1,"%lf %lf %lf",&ListEta[j],&ListPT[j],&ListPhi[j]);
	  if(fabs(ListEta[j]<2.4))
	    { Eta1->Fill(ListEta[j]);
	    Pt1->Fill(ListPT[j]);
	    Phi1->Fill(ListPhi[j]);}
	  }
    }
	  
  //---------------------- pp
  printf("nEvent2=%d\n",nEvent2);
  for(int ii=0;ii<nEvent2;ii++)
    {
      fscanf(fp2,"%d",&njet1);
	for(int j=0;j<njet1;j++)
	  {
	fscanf(fp2,"%lf %lf %lf",&ListEta[j],&ListPT[j],&ListPhi[j]);
	if(fabs(ListEta[j]<2.4))
	 {Eta2->Fill(ListEta[j]);Pt2->Fill(ListPT[j]);Phi2->Fill(ListPhi[j]);}
      }
    }

  
  c->cd(1);
  Eta1->Draw("elp");Eta2->Draw("elp,SAME");
  c->cd(2);
  Pt2->SetMinimum(0);
  Pt1->Draw("elp");Pt2->Draw("elp,SAME");
  c->cd(3);
  Phi1->Draw("elp");Phi2->Draw("elp,SAME");

}
  1. Is this because the ROOT5 permits me using -> and . rather arbitrarily, but ROOT6 is more rigorous?

I believe that’s my final question, Mr. D. And it’s really my luck to meet you. I’ve already been stuck for a whole week.

Sincerely.

Hi,

yes, ROOT6 relies on cling which is an interpreter based on a compiler, clang, which is accepting only correct C++ code unlike cint, which was the interpreter of ROOT5.

Cheers,
D

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.