Project

General

Profile

Bug #6652

problem with root 5.34.19

Added by Lynn Garren over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Third Party
Target version:
Start date:
07/21/2014
Due date:
% Done:

100%

Estimated time:
16.00 h
Spent time:
Occurs In:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

Every attempt to build art with root 5.34.19, both with and without extra patches, fails. There is an actual crash while building the dictionary in art/test/TestObjects. We suspect a root bug.

History

#1 Updated by Christopher Green over 5 years ago

  • Category set to Third Party
  • Status changed from New to Assigned
  • Assignee set to Lynn Garren
  • Target version changed from 1.11.00 to 1.13.00
  • Estimated time set to 16.00 h
  • SSI Package art added
  • SSI Package deleted ()

#2 Updated by Lynn Garren over 5 years ago

For some reason, the helpful root stack trace does not echo to the screen when building in debug mode. This stack trace is from the prof build.

  • Break *** segmentation violation

===========================================================
There was a crash.
This is the entire stack trace of all threads: ===========================================================
#0 0x0000003e61eac8ce in waitpid () from /lib64/libc.so.6
#1 0x0000003e61e3e909 in do_system () from /lib64/libc.so.6
#2 0x00007f2096db528c in TUnixSystem::StackTrace() () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so
#3 0x00007f2096db6ebc in TUnixSystem::DispatchSignals(ESignals) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so
#4 <signal handler called>
#5 0x00007f2096d8b25a in TClass::GetCheckSum(TClass::ECheckSum) const () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so
#6 0x00007f2096d8b47b in TClass::GetCheckSum(TClass::ECheckSum) const () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so
#7 0x00007f2097101cbc in G__G__Meta_6_0_50(G__value*, char const*, G__param*, int) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so
#8 0x00007f2096258c2b in Cint::G__CallFunc::Execute(void*) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCint.so
#9 0x00007f2097ed83eb in PyROOT::TULongExecutor::Execute(Cint::G__CallFunc*, void*, bool) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libPyROOT.so
#10 0x00007f2097edee80 in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::CallSafe(void*, bool) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libPyROOT.so
#11 0x00007f2097edf027 in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::Execute(void*, bool) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libPyROOT.so
#12 0x00007f2097eddeff in PyROOT::TMethodHolder<PyROOT::TScopeAdapter, PyROOT::TMemberAdapter>::operator()(PyROOT::ObjectProxy*, _object*, _object*, long, bool) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libPyROOT.so
#13 0x00007f2097ee2aba in PyROOT::(anonymous namespace)::mp_call(PyROOT::MethodProxy*, _object*, _object*) () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libPyROOT.so
#14 0x00007f209ee299a3 in PyObject_Call (func=0xd64990, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2529
#15 0x00007f209eed84cd in do_call (nk=<optimized out>, na=<optimized out>, pp_stack=0x7fff50b73ac8, func=0xd64990) at Python/ceval.c:4239
#16 call_function (oparg=<optimized out>, pp_stack=0x7fff50b73ac8) at Python/ceval.c:4044
#17 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2666
#18 0x00007f209eed9a7e in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fff50b73c18, func=0x778230) at Python/ceval.c:4107
#19 call_function (oparg=<optimized out>, pp_stack=0x7fff50b73c18) at Python/ceval.c:4042
#20 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2666
#21 0x00007f209eed9a7e in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fff50b73d68, func=0xd5c410) at Python/ceval.c:4107
#22 call_function (oparg=<optimized out>, pp_stack=0x7fff50b73d68) at Python/ceval.c:4042
#23 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2666
#24 0x00007f209eedab7e in PyEval_EvalCodeEx (co=0x7f209ec9f3b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#25 0x00007f209eedac92 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at Python/ceval.c:667
#26 0x00007f209eefa880 in run_mod (arena=0x6ad520, flags=0x7fff50b74060, locals=0x661690, globals=0x661690, filename=<optimized out>, mod=0x718ac8) at Python/pythonrun.c:1370
#27 PyRun_FileExFlags (fp=0x665800, filename=<optimized out>, start=<optimized out>, globals=0x661690, locals=0x661690, closeit=1, flags=0x7fff50b74060) at Python/pythonrun.c:1356
#28 0x00007f209eefaa5f in PyRun_SimpleFileExFlags (fp=0x665800, filename=0x7fff50b74b9b "/home/garren/devel/art/tools/checkClassVersion", closeit=1, flags=0x7fff50b74060) at Python/pythonrun.c:948
#29 0x00007f209ef105d4 in Py_Main (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:640
#30 0x0000003e61e1ed1d in __libc_start_main () from /lib64/libc.so.6
#31 0x0000000000400649 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 0x00007f2096d8b25a in TClass::GetCheckSum(TClass::ECheckSum) const () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so
#6 0x00007f2096d8b47b in TClass::GetCheckSum(TClass::ECheckSum) const () from /products/root/v5_34_19/Linux64bit+2.6-2.12-e5-prof/lib/libCore.so ===========================================================

make2: * [test/TestObjects/CMakeFiles/test_TestObjects_check] Error 1
make1: *
[test/TestObjects/CMakeFiles/test_TestObjects_check.dir/all] Error 2

#3 Updated by Lynn Garren over 5 years ago

The segmentation fault occurs when running art/tools/checkClassVersion on test/TestObjects/classes_def.xml.

#4 Updated by Lynn Garren over 5 years ago

The art checkClassVersion was forked from CMS some time ago. Their release does not appear to have changed.

Of possible interest, it appears that some, but not all, thread safe modifications requested by CMS were incorporated into 5.19. CMS is waiting for 5.20.

#5 Updated by Lynn Garren over 5 years ago

The following change to test/TestObjects/classes_def.xml resolves the problem.

- <class name="arttest::Prodigal" ClassVersion="10">
- <version ClassVersion="10" checksum="518009779"/>
- </class>
+ <class name="arttest::Prodigal"/>

With this change in place, the tests build and run with root 5.34.19.

Lynn

#6 Updated by Lynn Garren over 5 years ago

  • Status changed from Assigned to Resolved

arttest::Prodigal inherits from art::DoNotRecordParents, which is an empty struct.

Adding art_Persistency_Common_dict to the art_dictionary link list solves the problem.
This change is committed to develop.

#7 Updated by Lynn Garren over 5 years ago

More from Philippe:

There is indeed a missing protection in GetCheckSum but the change in behavior
(requiring base class) is expected.

One of the change in checksum calculation is to include the base class' checksum
in the derived class calculation. This was necessary because in some circumstances
(when the derived class is streamed member-wise) the derived class StreamerInfo
embedded the base class version number.

#8 Updated by Christopher Green over 5 years ago

  • Status changed from Resolved to Closed

#9 Updated by Christopher Green over 5 years ago

  • Target version changed from 1.13.00 to 1.11.00
  • % Done changed from 0 to 100


Also available in: Atom PDF