-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: 6.22/00
-
Component/s: Cling
-
Labels:None
-
Environment:
Fedora31, gcc9, cxx17
After setting PyROOT experimental to default, we started seeing 3 test failures in the nightlies for fedora30 and fedora31, both cxx17 :
http://cdash.cern.ch/viewTest.php?onlyfailed&buildid=816487
http://cdash.cern.ch/viewTest.php?onlyfailed&buildid=816284
After a joint debugging session with Stefan and Massimiliano, it seems that the three tests are failing because of the same issue: cppyy can't get the list of methods of namespace std.
The issue can be reproduced with the following C++-only code:
root [0] auto c = TClass::GetClass("std"); |
root [1] c->GetListOfMethods()
|
|
*** Break *** segmentation violation
|
|
|
|
===========================================================
|
There was a crash (kSigSegmentationViolation).
|
This is the entire stack trace of all threads:
|
===========================================================
|
#0 0x00007ff27d6d2eda in waitpid () from /lib64/libc.so.6
|
#1 0x00007ff27d64e757 in do_system () from /lib64/libc.so.6
|
#2 0x00007ff27df8bd70 in TUnixSystem::Exec (this=0x1074800, shellcmd=0x3a2f070 "/home/sftnight/etejedor/build_cxx17/etc/gdb-backtrace.sh 3569229 1>&2") at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:2109
|
#3 0x00007ff27df8c5b2 in TUnixSystem::StackTrace (this=0x1074800) at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:2399
|
#4 0x00007ff27df8feba in TUnixSystem::DispatchSignals (this=0x1074800, sig=kSigSegmentationViolation) at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:3635
|
#5 0x00007ff27df87fd0 in SigHandler (sig=kSigSegmentationViolation) at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:403
|
#6 0x00007ff27df8fdd2 in sighandler (sig=11) at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:3608
|
#7 0x00007ff27df81758 in textinput::TerminalConfigUnix::HandleSignal (this=0x7ff27e157160 <textinput::TerminalConfigUnix::Get()::s>, signum=11) at /home/sftnight/etejedor/root/core/textinput/src/textinput/TerminalConfigUnix.cpp:100
|
#8 0x00007ff27df8146c in (anonymous namespace)::TerminalConfigUnix__handleSignal (signum=11) at /home/sftnight/etejedor/root/core/textinput/src/textinput/TerminalConfigUnix.cpp:36
|
#9 <signal handler called>
|
#10 0x00007ff278cae2fe in clang::TypeSourceInfo::getType (this=0x0) at /home/sftnight/etejedor/root/interpreter/llvm/src/tools/clang/include/clang/AST/Decl.h:72
|
#11 0x00007ff278cb060c in clang::TemplateTypeParmDecl::getDefaultArgument (this=0x43c5618) at /home/sftnight/etejedor/root/interpreter/llvm/src/tools/clang/include/clang/AST/DeclTemplate.h:1211
|
#12 0x00007ff278f04d3f in GetOrInstantiateFuncTemplateWithDefaults (FTDecl=0x43c5498, S=..., LH=...) at /home/sftnight/etejedor/root/core/metacling/src/TClingMethodInfo.cxx:295
|
#13 0x00007ff278f057c3 in TClingMethodInfo::InternalNext (this=0x2a0ea40) at /home/sftnight/etejedor/root/core/metacling/src/TClingMethodInfo.cxx:401
|
#14 0x00007ff278f05942 in TClingMethodInfo::Next (this=0x2a0ea40) at /home/sftnight/etejedor/root/core/metacling/src/TClingMethodInfo.cxx:429
|
#15 0x00007ff278e45f30 in TCling::MethodInfo_Next (this=0x10e6670, minfo=0x2a0ea40) at /home/sftnight/etejedor/root/core/metacling/src/TCling.cxx:8816
|
#16 0x00007ff27df48dba in TListOfFunctions::Load (this=0x1f431b0) at /home/sftnight/etejedor/root/core/meta/src/TListOfFunctions.cxx:391
|
#17 0x00007ff27df1c253 in TClass::GetListOfMethods (this=0x20026d0, load=true) at /home/sftnight/etejedor/root/core/meta/src/TClass.cxx:3702
|
#18 0x00007ff27db5108b in ?? ()
|
#19 0x00007ffff35614d0 in ?? ()
|
#20 0x00007ff278e22739 in TCling__ResetInterpreterMutex () at /home/sftnight/etejedor/root/core/metacling/src/TCling.cxx:357
|
#21 0x00007ff278fbb85d in cling::IncrementalExecutor::executeWrapper(llvm::StringRef, cling::Value*) const () from /home/sftnight/etejedor/build_cxx17/lib/libCling.so
|
#22 0x00007ff278f43e9d in cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) () from /home/sftnight/etejedor/build_cxx17/lib/libCling.so
|
#23 0x00007ff278f483a2 in cling::Interpreter::EvaluateInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) () from /home/sftnight/etejedor/build_cxx17/lib/libCling.so
|
#24 0x00007ff278f4c3ac in cling::Interpreter::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::Value*, cling::Transaction**, bool) () from /home/sftnight/etejedor/build_cxx17/lib/libCling.so
|
#25 0x00007ff27900a135 in cling::MetaProcessor::process(llvm::StringRef, cling::Interpreter::CompilationResult&, cling::Value*, bool) () from /home/sftnight/etejedor/build_cxx17/lib/libCling.so
|
#26 0x00007ff278e2cc2d in HandleInterpreterException (metaProcessor=0x19f5ed0, input_line=0x1138be0 "#line 1 \"ROOT_prompt_1\"\nc->GetListOfMethods()", compRes=
|
0x7ffff3561b5c: cling::Interpreter::kSuccess, result=0x7ffff3561b60) at /home/sftnight/etejedor/root/core/metacling/src/TCling.cxx:2296
|
#27 0x00007ff278e2d842 in TCling::ProcessLine (this=0x10e6670, line=0x2777850 "#line 1 \"ROOT_prompt_1\"\nc->GetListOfMethods()", error=0x7ffff3561f1c) at /home/sftnight/etejedor/root/core/metacling/src/TCling.cxx:2454
|
#28 0x00007ff27de115cc in TApplication::ProcessLine (this=0x10c9f70, line=0x2777850 "#line 1 \"ROOT_prompt_1\"\nc->GetListOfMethods()", sync=false, err=0x7ffff3561f1c) at /home/sftnight/etejedor/root/core/base/src/TApplication.cxx:1471
|
#29 0x00007ff27e19315d in TRint::ProcessLineNr (this=0x10c9f70, filestem=0x7ff27e1a36c7 "ROOT_prompt_", line=0x2869a90 "c->GetListOfMethods()", error=0x7ffff3561f1c) at /home/sftnight/etejedor/root/core/rint/src/TRint.cxx:748
|
#30 0x00007ff27e192a59 in TRint::HandleTermInput (this=0x10c9f70) at /home/sftnight/etejedor/root/core/rint/src/TRint.cxx:609
|
#31 0x00007ff27e1905ca in TTermInputHandler::Notify (this=0x2709700) at /home/sftnight/etejedor/root/core/rint/src/TRint.cxx:131
|
#32 0x00007ff27e194935 in TTermInputHandler::ReadNotify (this=0x2709700) at /home/sftnight/etejedor/root/core/rint/src/TRint.cxx:123
|
#33 0x00007ff27df8a23c in TUnixSystem::CheckDescriptors (this=0x1074800) at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:1311
|
#34 0x00007ff27df89662 in TUnixSystem::DispatchOneEvent (this=0x1074800, pendingOnly=false) at /home/sftnight/etejedor/root/core/unix/src/TUnixSystem.cxx:1066
|
#35 0x00007ff27de81be5 in TSystem::InnerLoop (this=0x1074800) at /home/sftnight/etejedor/root/core/base/src/TSystem.cxx:397
|
#36 0x00007ff27de81988 in TSystem::Run (this=0x1074800) at /home/sftnight/etejedor/root/core/base/src/TSystem.cxx:347
|
#37 0x00007ff27de12025 in TApplication::Run (this=0x10c9f70, retrn=false) at /home/sftnight/etejedor/root/core/base/src/TApplication.cxx:1623
|
#38 0x00007ff27e191e04 in TRint::Run (this=0x10c9f70, retrn=false) at /home/sftnight/etejedor/root/core/rint/src/TRint.cxx:462
|
#39 0x00000000004011e8 in main (argc=1, argv=0x7ffff3564418) at /home/sftnight/etejedor/root/main/src/rmain.cxx:30
|
===========================================================
|