Validated configuration that used to work in art v3_05_01 no longer works in v3_06_01
The description below is using art v3_06_01. I can’t tell if our problem is that we are not using the tools correctly or if there is another bug.
Our configuration for G4 is declared in the file:
In this test job https://github.com/Mu2e/Offline/blob/master/Mu2eG4/fcl/g4test_03.fcl , one of the optional parameters is not present and our code throws an exception when it tries to test for the presence of that parameter.
The optional parameter is named minRangeRegionCuts and is declared in:
The code that does the test is:
As best I can tell the exception is thrown when computing the expression inside the if. The error message is:
%MSG-s ArtException: PostEndJob 23-Jul-2020 12:34:45 CDT ModuleEndJob
---- EventProcessorFailure BEGIN
EventProcessor: an exception occurred during current event processing
---- ScheduleExecutionFailure BEGIN
---- Can't find key BEGIN
physics The above exception was thrown while processing module Mu2eG4/g4run run: 1
---- Can't find key END
Exception going through path p1
---- ScheduleExecutionFailure END
---- EventProcessorFailure END
#2 Updated by Kyle Knoepfel 4 months ago
I have created a minimal reproducer. The problem manifests itself whenever an optional delegated parameter has not been supplied in the configuration. In your case, the
physics.minRangeRegionCuts optional delegated parameter is not supplied in the configuration, and the error is triggered.
#3 Updated by Kyle Knoepfel 4 months ago
- Scope deleted (
- % Done changed from 0 to 100
- Status changed from Assigned to Resolved
- Category deleted (
- Project changed from art to fhicl-cpp
- Experiment deleted (
The problem is understood. Whenever a ParameterSet-navigation bug was fixed in commit fhicl-cpp:82c084f (after the release of art 3.05.01), it exposed a weakness in the handling of absent optional delegated parameters, which had "accidentally" worked before. The implementation has been corrected, and a bug-fix release of fhicl-cpp (and downstream products) will be released.
Implemented with commit fhicl-cpp:3f12eb3.