Crash in std::allocator<UT::Hit> in specific configuration
While working on !2462 and Allen!1258 I noticed a crash occurring in the UT hit creation in line 440 of the PrTrackerDumper, in the case that the PrTrackerDumper was called after the UT banks had already been used as input by a different algorithm.
This can be reproduced in a stack setup with the branches the MRs in Allen and Moore linked above with the minimal reproducer script attached here and results in the error message which is also attached.
./Moore/run gaudirun.py Moore/Hlt/Moore/tests/options/default_input_and_conds_hlt1_retinacluster_FTv6.py Moore/Hlt/RecoConf/options/ut_hit_error_reproducer.py
Some observations:
- The crash does not happen when first calling the PrTrackerDumper (i.e. changing line 37 in the reproducer script to
return Reconstruction("track_efficiency", [mc_events, ut_banks_alg])
. -
mc_events
is provided by allen_mc_data_provider. The crash happens also if the raw event combiner is commented, i.e. it is not linked to that (as the error message also indicates) - The PrTrackerDumper is being tested in the nightlies through the dump_for_standalone_allen qmtest. But in that setup, the PrTrackerDumper is called w/o accessing the UT banks before, so the crash does not happen.