art-framework-suite / art

The implementation of the art physics event processing framework
Other
2 stars 7 forks source link

Misleading output in case of exceptions #96

Open knoepfel opened 2 years ago

knoepfel commented 2 years ago

This issue has been migrated from https://cdcvs.fnal.gov/redmine/issues/21964 (FNAL account required) Originally created by @cerati on 2019-02-22 18:21:32


Hi,

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'): https://cdcvs.fnal.gov/redmine/projects/larreco/repository/revisions/develop/entry/larreco/VertexFinder/VertexFitter_module.cc#L126 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.

Giuseppe