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

TPDF causes a segfault when given a specific title for a set of PDFs

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • High
    • 6.04.00, 5.34/25, 6.02/08
    • 5.34/25
    • PyROOT
    • None
    • Also affects: 5.34.14 on SLC6 and SLC5 with gcc47 / gcc43.
      Does not affect 5.34.01-x86_64-slc5-gcc43-opt

    Description

      Please do not ask how I stumbled upon this, totally random.

      I've discovered that the following short code reproduces a segfault

      import ROOT
      c = ROOT.TCanvas()
      c.Print("output.pdf[")
      c.Print("output.pdf", "Title:Vertex")
      c.Print("output.pdf]")

      while the following code does not

      import ROOT
      c = ROOT.TCanvas()
      c.Print("output.pdf[")
      c.Print("output.pdf", "Title:AnythingElseApparently")
      c.Print("output.pdf]")

      I notice that once the "Title" is set to "Vertex" (case-insensitive), the following warning spits out

      TPDF::Open:0: RuntimeWarning: PDF file already open

      The first code block is the PyROOT exception handler

      --------------------
      An exception was caught!
      Traceback (most recent call last):
        File "/export/home/kratsg/xAODAnalysis/RootCoreBin/bin/x86_64-slc6-gcc48-opt/dumpSG.py", line 549, in <module>
          make_report(t, filtered_xAOD_Objects, directory=args.output_directory, merge_report=args.merge_report)
        File "/export/home/kratsg/xAODAnalysis/RootCoreBin/bin/x86_64-slc6-gcc48-opt/dumpSG.py", line 115, in wrapped
          return fn(*v, **k)
        File "/export/home/kratsg/xAODAnalysis/RootCoreBin/bin/x86_64-slc6-gcc48-opt/dumpSG.py", line 311, in make_report
          save_plot(pathToImage, item, container)
        File "/export/home/kratsg/xAODAnalysis/RootCoreBin/bin/x86_64-slc6-gcc48-opt/dumpSG.py", line 115, in wrapped
          return fn(*v, **k)
        File "/export/home/kratsg/xAODAnalysis/RootCoreBin/bin/x86_64-slc6-gcc48-opt/dumpSG.py", line 249, in save_plot
          c.Print(pathToImage, 'Title:{0}'.format(item['name']))
      TypeError: none of the 2 overloaded methods succeeded. Full details:
        void TPad::Print(const char* filename = "") =>
          takes at most 1 arguments (2 given)
        problem in C++; program state has been reset

      This code block is the ROOT debug output

      TPDF::Open:0: RuntimeWarning: PDF file already open
       *** Break *** segmentation violation
       
       
       
      ===========================================================
      There was a crash.
      This is the entire stack trace of all threads:
      ===========================================================
      #0  0x00000033546ac61e in waitpid () from /lib64/libc.so.6
      #1  0x000000335463e609 in do_system () from /lib64/libc.so.6
      #2  0x00007f19f775ef1f in TUnixSystem::StackTrace() () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #3  0x00007f19f7760a8c in TUnixSystem::DispatchSignals(ESignals) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #4  <signal handler called>
      #5  0x0000003354990088 in main_arena () from /lib64/libc.so.6
      #6  0x00007f19f7700ab1 in TList::FindObject(char const*) const () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #7  0x00007f19f8b7a49b in TPad::Print(char const*, char const*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libGpad.so
      #8  0x00007f19f7581af1 in G__G__Base1_309_0_118(G__value*, char const*, G__param*, int) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #9  0x00007f19f6841feb in Cint::G__CallFunc::Execute(void*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCint.so
      #10 0x00007f19fa4b7e36 in PyROOT::TVoidExecutor::Execute(Cint::G__CallFunc*, void*, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #11 0x00007f19fa4bf1f0 in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::CallSafe(void*, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #12 0x00007f19fa4bf362 in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::Execute(void*, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #13 0x00007f19fa4be7ab in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::operator()(PyROOT::ObjectProxy*, _object*, _object*, long, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #14 0x00007f19fa4a3266 in PyROOT::(anonymous namespace)::mp_call(PyROOT::MethodProxy*, _object*, _object*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #15 0x00007f1a02cee703 in PyObject_Call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #16 0x00007f1a02da12a1 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4239
      #17 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #18 0x00007f1a02d201b5 in function_call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #19 0x00007f1a02cee703 in PyObject_Call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #20 0x00007f1a02da0976 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4334
      #21 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #22 0x00007f1a02da4ad5 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4117
      #23 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #24 0x00007f1a02d201b5 in function_call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #25 0x00007f1a02cee703 in PyObject_Call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #26 0x00007f1a02da0976 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4334
      #27 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #28 0x00007f1a02da4ad5 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4117
      #29 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #30 0x00007f1a02da5722 in PyEval_EvalCode () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:667
      #31 0x00007f1a02dcfec2 in PyRun_FileExFlags () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #32 0x00007f1a02dd1409 in PyRun_SimpleFileExFlags () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #33 0x00007f1a02de6cfd in Py_Main () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #34 0x000000335461ed5d in __libc_start_main () from /lib64/libc.so.6
      #35 0x00000000004006d9 in _start ()
      ===========================================================
       
       
      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.
      ===========================================================
      #5  0x0000003354990088 in main_arena () from /lib64/libc.so.6
      #6  0x00007f19f7700ab1 in TList::FindObject(char const*) const () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #7  0x00007f19f8b7a49b in TPad::Print(char const*, char const*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libGpad.so
      ===========================================================
       
       
       
       *** Break *** segmentation violation
       
       
       
      ===========================================================
      There was a crash.
      This is the entire stack trace of all threads:
      ===========================================================
      #0  0x00000033546ac61e in waitpid () from /lib64/libc.so.6
      #1  0x000000335463e609 in do_system () from /lib64/libc.so.6
      #2  0x00007f19f775ef1f in TUnixSystem::StackTrace() () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #3  0x00007f19f7760a8c in TUnixSystem::DispatchSignals(ESignals) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #4  <signal handler called>
      #5  0x0000003354990088 in main_arena () from /lib64/libc.so.6
      #6  0x00007f19f7700ab1 in TList::FindObject(char const*) const () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #7  0x00007f19f8b7a49b in TPad::Print(char const*, char const*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libGpad.so
      #8  0x00007f19f7581af1 in G__G__Base1_309_0_118(G__value*, char const*, G__param*, int) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #9  0x00007f19f6841feb in Cint::G__CallFunc::Execute(void*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCint.so
      #10 0x00007f19fa4b7e36 in PyROOT::TVoidExecutor::Execute(Cint::G__CallFunc*, void*, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #11 0x00007f19fa4bf1f0 in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::CallSafe(void*, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #12 0x00007f19fa4bf362 in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::Execute(void*, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #13 0x00007f19fa4be7ab in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::operator()(PyROOT::ObjectProxy*, _object*, _object*, long, bool) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #14 0x00007f19fa4a341a in PyROOT::(anonymous namespace)::mp_call(PyROOT::MethodProxy*, _object*, _object*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libPyROOT.so
      #15 0x00007f1a02cee703 in PyObject_Call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #16 0x00007f1a02da12a1 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4239
      #17 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #18 0x00007f1a02d201b5 in function_call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #19 0x00007f1a02cee703 in PyObject_Call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #20 0x00007f1a02da0976 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4334
      #21 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #22 0x00007f1a02da4ad5 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4117
      #23 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #24 0x00007f1a02d201b5 in function_call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #25 0x00007f1a02cee703 in PyObject_Call () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #26 0x00007f1a02da0976 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4334
      #27 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #28 0x00007f1a02da4ad5 in PyEval_EvalFrameEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:4117
      #29 0x00007f1a02da55ed in PyEval_EvalCodeEx () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:3253
      #30 0x00007f1a02da5722 in PyEval_EvalCode () at /build/hegner/afs_build/lcgcmake-build/externals/Python/src/Python/2.7.4/Python/ceval.c:667
      #31 0x00007f1a02dcfec2 in PyRun_FileExFlags () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #32 0x00007f1a02dd1409 in PyRun_SimpleFileExFlags () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #33 0x00007f1a02de6cfd in Py_Main () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/bin/../lib/libpython2.7.so.1.0
      #34 0x000000335461ed5d in __libc_start_main () from /lib64/libc.so.6
      #35 0x00000000004006d9 in _start ()
      ===========================================================
       
       
      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.
      ===========================================================
      #5  0x0000003354990088 in main_arena () from /lib64/libc.so.6
      #6  0x00007f19f7700ab1 in TList::FindObject(char const*) const () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libCore.so
      #7  0x00007f19f8b7a49b in TPad::Print(char const*, char const*) () from /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.25-x86_64-slc6-gcc48-opt/lib/libGpad.so
      ===========================================================

      Attachments

        Activity

          People

            couet Olivier Couet
            gstark Giordon Holtsberg Stark
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: