Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-6272

Two cling issues of cling Fastjet may be stressing

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Done
    • 6.00.beta3
    • 6.02.00
    • Cling
    • None
    • ubuntu 12 clang35

    Description

      Triggered by question 16 here
      http://fastjet.fr/FAQ.html
      (mentioning Cint7), I wanted to check how fastjet was doing with ROOT6.
      I am rather impressed by what ROOT6 can do there, but still there are at least two issues.
      I therefore followed the installation instructions:

        curl -O http://fastjet.fr/repo/fastjet-3.0.6.tar.gz
        tar zxvf fastjet-3.0.6.tar.gz
        cd fastjet-3.0.6/
        ./configure --prefix=$PWD/../fastjet-install
        make
        make check
        make install
        cd ..

      and then I tried to load libFastjet. If you do that once, it's ok, if you do that twice, you have a seg-fault which has only jitted symbols usually, but sometimes llvm::JIT::getPointerToFunction appears:

      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/fastjet-install/lib/ root -b -I fastjet-install/include/
      root
      root [0] gSystem->Load("libfastjet.so")
      (int) 0
      root [1] gSystem->Load("libfastjet.so")
       
       *** Break *** illegal instruction
       
       
       
      ===========================================================
      There was a crash (#5 0x00007ff3247e95a4 in SigHandler(ESignals) () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:394).
      This is the entire stack trace of all threads:
      ===========================================================
      #0  0x00007ff323bfbc8e in __libc_waitpid (pid=<optimized out>, stat_loc=0x7fffa88ef3d0, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:32
      #1  0x00007ff323b8129e in do_system (warning: (Internal error: pc 0x7ff3247ee6f8 in read in psymtab, but not in symtab.)
      #2  0x00007ff3247ee6f9 in TUnixSystem::Exec(char const*) () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:2067
      #3  0x00007ff3247ef2d5 in TUnixSystem::StackTrace() () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:2295
      #4  0x00007ff3247f4dcc in TUnixSystem::DispatchSignals(ESignals) () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:3521
      #5  0x00007ff3247e95a4 in SigHandler(ESignals) () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:394
      #6  0x00007ff3247f4f97 in sighandler(int) () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:3498
      #7  0x00007ff324834b86 in textinput::TerminalConfigUnix::HandleSignal(int) () at /home/dpiparo/RootDevel/Root6/root/core/textinput/src/textinput/TerminalConfigUnix.cpp:96
      #8  0x00007ff32483497b in (anonymous namespace)::TerminalConfigUnix__handleSignal(int) () at /home/dpiparo/RootDevel/Root6/root/core/textinput/src/textinput/TerminalConfigUnix.cpp:36
      #9  <signal handler called>
      #10 0x00007ff324b24599 in ?? ()
      #11 0x00007ff324a42070 in ?? ()
      #12 0x00007ff324b242c4 in ?? ()
      #13 0x0000000001bcffe0 in ?? ()
      #14 0x00007ff322054426 in llvm::JIT::getPointerToFunction(llvm::Function*) () from /home/dpiparo/RootDevel/Root6/root/lib/libCling.so
      #15 0x00007ff3213cd12c in cling::IncrementalExecutor::executeFunction(llvm::StringRef, cling::Value*) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp:276
      #16 0x00007ff3213e12bc in cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/Interpreter.cpp:686
      #17 0x00007ff3213e044f in cling::Interpreter::EvaluateInternal(std::string const&, cling::CompilationOptions const&, cling::Value*, cling::Transaction**) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/Interpreter.cpp:928
      #18 0x00007ff3213dfc3f in cling::Interpreter::process(std::string const&, cling::Value*, cling::Transaction**) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/Interpreter.cpp:478
      #19 0x00007ff321469e0f in cling::MetaProcessor::process(char const*, cling::Interpreter::CompilationResult&, cling::Value*) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/MetaProcessor/MetaProcessor.cpp:161
      #20 0x00007ff32119abf7 in TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) () at /home/dpiparo/RootDevel/Root6/root/core/meta/src/TCling.cxx:1396
      #21 0x00007ff3246b402c in TApplication::ProcessLine(char const*, bool, int*) () at /home/dpiparo/RootDevel/Root6/root/core/base/src/TApplication.cxx:937
      #22 0x00007ff324be3dac in TRint::HandleTermInput() () at /home/dpiparo/RootDevel/Root6/root/core/rint/src/TRint.cxx:586
      #23 0x00007ff324be123a in TTermInputHandler::Notify() () at /home/dpiparo/RootDevel/Root6/root/core/rint/src/TRint.cxx:118
      #24 0x00007ff324be55b9 in TTermInputHandler::ReadNotify() () at /home/dpiparo/RootDevel/Root6/root/core/rint/src/TRint.cxx:110
      #25 0x00007ff3247eb56e in TUnixSystem::CheckDescriptors() () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:1296
      #26 0x00007ff3247eaf66 in TUnixSystem::DispatchOneEvent(bool) () at /home/dpiparo/RootDevel/Root6/root/core/unix/src/TUnixSystem.cxx:1051
      #27 0x00007ff324739223 in TSystem::InnerLoop() () at /home/dpiparo/RootDevel/Root6/root/core/base/src/TSystem.cxx:408
      #28 0x00007ff324738f0a in TSystem::Run() () at /home/dpiparo/RootDevel/Root6/root/core/base/src/TSystem.cxx:358
      #29 0x00007ff3246b4e64 in TApplication::Run(bool) () at /home/dpiparo/RootDevel/Root6/root/core/base/src/TApplication.cxx:1085
      #30 0x00007ff324be34cd in TRint::Run(bool) () at /home/dpiparo/RootDevel/Root6/root/core/rint/src/TRint.cxx:453
      #31 0x00000000004012c7 in main () at /home/dpiparo/RootDevel/Root6/root/main/src/rmain.cxx:29
      ===========================================================
       
       
      The lines below might hint at the cause of the crash.
      If they do not help you then please submit a bug report at
      http://root.cern.ch/bugs. Please post the ENTIRE stack trace
      from above as an attachment in addition to anything else
      that might help us fixing this issue.
      ===========================================================
      #10 0x00007ff324b24599 in ?? ()
      #11 0x00007ff324a42070 in ?? ()
      #12 0x00007ff324b242c4 in ?? ()
      #13 0x0000000001bcffe0 in ?? ()
      #14 0x00007ff322054426 in llvm::JIT::getPointerToFunction(llvm::Function*) () from /home/dpiparo/RootDevel/Root6/root/lib/libCling.so
      #15 0x00007ff3213cd12c in cling::IncrementalExecutor::executeFunction(llvm::StringRef, cling::Value*) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp:276
      #16 0x00007ff3213e12bc in cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/Interpreter.cpp:686
      #17 0x00007ff3213e044f in cling::Interpreter::EvaluateInternal(std::string const&, cling::CompilationOptions const&, cling::Value*, cling::Transaction**) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/Interpreter.cpp:928
      #18 0x00007ff3213dfc3f in cling::Interpreter::process(std::string const&, cling::Value*, cling::Transaction**) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/Interpreter/Interpreter.cpp:478
      #19 0x00007ff321469e0f in cling::MetaProcessor::process(char const*, cling::Interpreter::CompilationResult&, cling::Value*) () at /home/dpiparo/RootDevel/Root6/root/interpreter/cling/lib/MetaProcessor/MetaProcessor.cpp:161
      ===========================================================
       

      Supposing you load only once, if you follow the example, everything works fine up to a simple printout:

      gSystem->Load("libfastjet.so")
      #include "fastjet/ClusterSequence.hh"
      #include <iostream>
      using namespace fastjet;
      using namespace std;
      vector<PseudoJet> particles;
        // an event with three particles:   px    py  pz      E
        particles.push_back( PseudoJet(   99.0,  0.1,  0, 100.0) ); 
        particles.push_back( PseudoJet(    4.0, -0.1,  0,   5.0) ); 
        particles.push_back( PseudoJet(  -99.0,    0,  0,  99.0) );
       
        // choose a jet definition
        double R = 0.7;
        JetDefinition jet_def(antikt_algorithm, R);
       
        // run the clustering, extract the jets
        ClusterSequence cs(particles, jet_def);
        vector<PseudoJet> jets = sorted_by_pt(cs.inclusive_jets());
       
        // print out some infos
        cout << "Clustering with " << jet_def.description() << endl;
      In file included from /home/dpiparo/RootDevel/Root6/root/./include/allHeaders.h:56:
      In file included from /home/dpiparo/RootDevel/Root6/root/include/TDirectory.h:28:
      In file included from /home/dpiparo/RootDevel/Root6/root/include/TList.h:32:
      In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/iterator:64:
      In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ostream:38:
      In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ios:44:
      In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/basic_ios.h:475:
      /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/basic_ios.tcc:178:25: error: base class 'std::ios_base' has private copy constructor
        extern template class basic_ios<char>;
                              ^
      fatal error: cannot open file '/home/dpiparo/RootDevel/Root6/root/./etc/allDictedd76c318f_dictUmbrella.h': No such file or directory

      I put critical for 2 reasons: these may be 2 real issues of cling which fastjet by chance triggers and because once working this can be one of the prime examples showing the superior functionality of cling wrt cint.

      Attachments

        Activity

          People

            vvasilev Vassil Vasilev
            dpiparo Danilo Piparo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: