Segfault when running dune reconstruction
lar -c standard_reco_dune10kt_nu_1x2x6_5pcbadchans.fcl /pnfs/dune/tape_backed/dunepro/mcc10/small/mc/detector-simulated/02/13/08/20/prodgenie_nue_dune10kt_1x2x6_96_20171222T042457_detsim2_b72f7f6b-4273-4fe4-a334-32aafb21e19f.root
This is in v06_64_00.
#1 Updated by Tingjun Yang about 2 years ago
- Status changed from New to Resolved
- Assignee set to Tingjun Yang
- % Done changed from 0 to 100
The problem is if we define a reference tj and update the trajectory vector later, tj will be undefined. I think we saw this problem before. The solution is to access the vector element by index.
Here are some details. In SplitTrajCrossingVertices we loop over all trajectories and define a reference:
auto& tj = tjs.allTraj[itj];
Later the function calls SplitTraj and a new trajectory is created and added to the trajectory list:
After this, the reference tj defined early becomes junk and causes problems.
I pushed my fix larreco:75ab9a178ba68f1c3ca00a11021595a1f2222a36. Bruce will have different versions of the fix in feature/bb_TJWork.