Bug #12247
segfault on missing wrapper of Assns partner type
Description
We are getting a segfault when attempting to run dune tests with larsoft built with art v1_18_05.
cd /scratch/garren/larsoft/v06_00_00_rc1/p/build_slf6.x86_64/dunetpc/test/OpDet/optical_reco_dune35t.d gdb --args lar -c test_optical_reco_dune35t.fcl
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff2b573ec in art::AssnsGroup::resolveProductIfAvailable (this=0x2032fd80, fillOnDemand=false, wanted_wrapper_type=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Principal/AssnsGroup.cc:131 131 /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Principal/AssnsGroup.cc: No such file or directory.
(gdb) bt #0 0x00007ffff2b573ec in art::AssnsGroup::resolveProductIfAvailable (this=0x2032fd80, fillOnDemand=false, wanted_wrapper_type=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Principal/AssnsGroup.cc:131 #1 0x00007ffff2b69a26 in art::Principal::getResolvedGroup (this=this@entry=0x1f4cc370, bid=..., resolveProd=<optimized out>, fillOnDemand=fillOnDemand@entry=false) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Principal/Principal.cc:427 #2 0x00007ffff2b69bac in art::Principal::getForOutput (this=this@entry=0x1f4cc370, bid=..., resolveProd=<optimized out>) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Principal/Principal.cc:383 #3 0x00007ffff50ca626 in art::RootOutputFile::fillBranches (this=this@entry=0x1e8c7950, bt=bt@entry=@0x7fffffff1970: art::InEvent, principal=..., vpp=0x1e8c7a10) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/IO/Root/RootOutputFile.cc:700 #4 0x00007ffff50cab12 in art::RootOutputFile::writeOne (this=0x1e8c7950, e=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/IO/Root/RootOutputFile.cc:298 #5 0x00007fffe08eddec in art::RootOutput::write (this=0x4b4ef30, ep=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/IO/Root/RootOutput_module.cc:365 #6 0x00007ffff347e4bd in art::OutputModule::doEvent (this=0x4b4ef30, ep=..., cpc=<optimized out>) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Core/OutputModule.cc:207 #7 0x00007ffff3f922a1 in art::Worker::doWork<art::OccurrenceTraits<art::EventPrincipal, (art::BranchActionType)0> > (this=0x4b52a00, ep=..., cpc=cpc@entry=0x7fffffff1f90) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Principal/Worker.h:221 #8 0x00007ffff3f93273 in art::WorkerInPath::runWorker<art::OccurrenceTraits<art::EventPrincipal, (art::BranchActionType)0> > (cpc=0x7fffffff1f90, ep=..., this=0x4af3450) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Core/WorkerInPath.h:80 #9 art::Path::processOneOccurrence<art::OccurrenceTraits<art::EventPrincipal, (art::BranchActionType)0> > ( this=0x4b51c60, ep=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Core/Path.h:167 #10 0x00007ffff3f9355b in art::EndPathExecutor::processOneOccurrence<art::OccurrenceTraits<art::EventPrincipal, (art::BranchActionType)0> > (this=0x4b4c700, ep=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/prof/build/art/v1_18_05/src/art/Framework/Core/EndPathExecutor.h:115
Related issues
Associated revisions
Currently-failing test for issue #12247 - segfault on missing wrapper of Assns partner type.
History
#1 Updated by Lynn Garren almost 5 years ago
Attempting to use valgrind:
valgrind --log-file=valgrind.out --leak-check=no --track-origins=yes --num-callers=50 --suppressions=/products/root/v6_04_06/Linux64bit+2.6-2.12-e9-nu-prof/etc/root. lar -c ./test_optical_reco_dune35t.fcl
#2 Updated by Lynn Garren almost 5 years ago
valgrind log file available on woof at /home/garren/valgrind-12247.out
#3 Updated by Christopher Green almost 5 years ago
If 'twere me, I'd stop at Principal::getResolvedGroup()
(Principal.cc:423) and step from there in a debugger. Something really hinky looks to be going on with the group search.
#4 Updated by Lynn Garren almost 5 years ago
- Related to Bug #12261: WireGeo has no default constructor added
#5 Updated by Gianluca Petrillo almost 5 years ago
This may or may not help you -- if not, please ignore.
It is a backtrace in debug mode. It seems to point to the same direction, but a bit deeper.
%MSG-i PhotonLibrary: LArG4:largeant 12-Apr-2016 16:31:32 CDT run: 1 subRun: 0 event: 1
Photon lookup table size : 1000000 voxels, 8 channels
%MSG
Thread 1 "lar" received signal SIGSEGV, Segmentation fault.
0x00007ffff7d22af8 in std::type_info::operator== (this=0x7fffccf82820 <typeinfo for art::Wrapper<art::Assns<recob::OpFlash, recob::OpHit, void> >>, __arg=...)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/gcc/v4_9_3/Linux64bit+2.6-2.12/include/c++/4.9.3/typeinfo:122
122 /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/gcc/v4_9_3/Linux64bit+2.6-2.12/include/c++/4.9.3/typeinfo: No such file or directory.
(gdb) bt
#0 0x00007ffff7d22af8 in std::type_info::operator== (this=0x7fffccf82820 <typeinfo for art::Wrapper<art::Assns<recob::OpFlash, recob::OpHit, void> >>, __arg=...)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/gcc/v4_9_3/Linux64bit+2.6-2.12/include/c++/4.9.3/typeinfo:122
#1 0x00007ffff19942e1 in art::TypeID::operator== (this=0x20847468, rhs=...) at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Utilities/TypeID.h:121
#2 0x00007ffff1993f2f in art::AssnsGroup::uniqueProduct (this=0x20847460, wanted_wrapper_type=...)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/Principal/AssnsGroup.cc:90
#3 0x00007ffff1993f94 in art::AssnsGroup::resolveProductIfAvailable (this=0x20847460, fillOnDemand=false, wanted_wrapper_type=...)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/Principal/AssnsGroup.cc:131
#4 0x00007ffff19b0d1f in art::Principal::getResolvedGroup (this=0x6683d80, bid=..., resolveProd=true, fillOnDemand=false)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/Principal/Principal.cc:427
#5 0x00007ffff19b081d in art::Principal::getForOutput (this=0x6683d80, bid=..., resolveProd=true)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/Principal/Principal.cc:383
#6 0x00007ffff482a8f9 in art::RootOutputFile::fillBranches (this=0x1ee02c60, bt=@0x7ffffffec09c: art::InEvent, principal=..., vpp=0x1ee02d20)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/IO/Root/RootOutputFile.cc:700
#7 0x00007ffff48285b9 in art::RootOutputFile::writeOne (this=0x1ee02c60, e=...)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/IO/Root/RootOutputFile.cc:298
#8 0x00007fffde2dcdc4 in art::RootOutput::write (this=0x4a86670, ep=...)
at /scratch/workspace/nu-release-build/v1_25_00/s31-e9/debug/build/art/v1_18_05/src/art/Framework/IO/Root/RootOutput_module.cc:365
#6 Updated by Christopher Green almost 5 years ago
- Category set to I/O
- Status changed from New to Feedback
- Assignee set to Paul Russo
- Target version set to 2.01.00
- % Done changed from 0 to 50
- Experiment LArSoft added
- Experiment deleted (
-) - SSI Package art added
- SSI Package deleted (
)
Upon investigation, it appears that the primary problem is that there are several missing dictionaries: notably those for the following art::Assns
, and wrappers and sub-components (e.g. pair
, vector<pair>
) thereof in lardata
:
art::Assns<recob::Cluster, recob::OpFlash, void>
art::Assns<recob::OpHit, recob::OpFlash, void>
art::Assns<recob::Track, recob::OpFlash, void>
art::Assns<recob::Track, recob::Shower, void>
art::Assns<recob::Hit, recob::Track, recob::TrackHitMeta>
We apologize that the first warning of a problem was a segfault: the upcoming 1.19.00 should rectify this deficiency. In the meantime, putting in selections and instantiations for the above-mentioned classes should solve the problem.
Please let us know if adding in the missing dictionaries solves the problem for you.
#7 Updated by Christopher Green almost 5 years ago
For posterity: command used to ascertain missing partner dictionary selections:
sort -u lardata/lardata/RecoBase/classes_def.xml | \ grep -e 'Wrapper.*Assns' | \ perl -wane 'BEGIN { @h = (); } m&.*Wrapper.*Assns\s*<(\S+?),\s*(\S+?)(?:,\s*(\S+?))?\s*>& and push @h, [ ${1}, ${2}, ${3} || "void" ]; END { foreach my $f (@h) { grep { $_->[0] eq $f->[1] and $_->[1] eq $f->[0] and $_->[2] eq $f->[2]; } @h or print "Missing selections for art::Assns<$f->[1], $f->[0], $f->[2]>\n"; }; }'
#8 Updated by Lynn Garren almost 5 years ago
At this time the dune test passes, but production.sh still fails, but in a different place. Investigating.
#9 Updated by Lynn Garren almost 5 years ago
There were more missing enums in the dictionaries. Once those were resolved, all tests pass.
#10 Updated by Kyle Knoepfel almost 5 years ago
- Status changed from Feedback to Resolved
- % Done changed from 50 to 100
Relevant xml files have been appropriately adjusted per Lynn.
#11 Updated by Kyle Knoepfel almost 5 years ago
- Related to Feature #12346: Diagnose missing Assns dictionary at build time added
#12 Updated by Kyle Knoepfel almost 5 years ago
- Related to Feature #12347: Check for missing Assns dictionary at run-time added
#13 Updated by Christopher Green over 4 years ago
- Subject changed from problem using art v1_18_05 with larsoft to segfault on missing wrapper of Assns partner type
#14 Updated by Kyle Knoepfel over 4 years ago
- Target version changed from 2.01.00 to 2.00.01
#15 Updated by Kyle Knoepfel over 4 years ago
- Status changed from Resolved to Closed
Currently-failing test for issue #12247 - segfault on missing wrapper of Assns partner type.