Misleading output in case of exceptions
I had a larsoft job that failed with the following exception:
%MSG-s ArtException: PostEndJob 22-Feb-2019 09:00:17 CST ModuleEndJob cet::exception caught in art ---- OtherArt BEGIN ---- EventProcessorFailure BEGIN EventProcessor: an exception occurred during current event processing ---- ScheduleExecutionFailure BEGIN Path: ProcessingStopped. ---- StdException BEGIN A exception occurred during a call to the module ---- StdException END Exception going through path reco ---- ScheduleExecutionFailure END ---- EventProcessorFailure END ---- OtherArt BEGIN ---- FatalRootError BEGIN Fatal Root Error: @SUB=TTree::SetEntries Tree branches have different numbers of entries, eg anab::CosmicTagrecob::Trackvoidart::Assns_pandoraCosmicFlashTag__McRecoStage2. has 0 entries while EventAuxiliary has 5 entries. ---- FatalRootError END ---- OtherArt END ---- OtherArt END %MSG Art has completed and will exit with status 1.
It turned out the real cause was the access of a vector outside its range (with 'at'):
So the std::out_of_range exception is not propagated.
Note that I also tried with the option '--rethrow-all', but the output did not change.