Project

General

Profile

Bug #24659

Validated configuration that used to work in art v3_05_01 no longer works in v3_06_01

Added by Rob Kutschke 4 months ago. Updated 4 months ago.

Status:
Closed
Priority:
High
Assignee:
Target version:
Start date:
07/23/2020
Due date:
% Done:

100%

Estimated time:
Spent time:
Duration:

Description

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:

https://github.com/Mu2e/Offline/blob/master/Mu2eG4/inc/Mu2eG4Config.hh

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:

https://github.com/Mu2e/Offline/blob/c10e885f8b1f0fa216411e24b929ffe8fe9005c2/Mu2eG4/inc/Mu2eG4Config.hh#L143

The code that does the test is:

https://github.com/Mu2e/Offline/blob/c10e885f8b1f0fa216411e24b929ffe8fe9005c2/Mu2eG4/src/Mu2eWorld.cc#L271

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
Path: ProcessingStopped.
---- 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
%MSG

History

#1 Updated by Kyle Knoepfel 4 months ago

  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned
  • Category set to Infrastructure

#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.

Investigating.

#3 Updated by Kyle Knoepfel 4 months ago

  • Scope deleted (Internal)
  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved
  • Category deleted (Infrastructure)
  • Project changed from art to fhicl-cpp
  • Experiment deleted (Mu2e)

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.

#4 Updated by Kyle Knoepfel 4 months ago

  • Target version set to 3.06.02

#5 Updated by Kyle Knoepfel 4 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF