boot.fcl not correctly formed when user adds a variable which is a list
During DAQInterface regression testing, I noticed that in some runs on the ProtoDUNE cluster, the "boot.fcl" file didn't appear in the FHiCL-ized run record which gets saved in the database. Recreating the problem while running DAQInterface at a higher verbosity level, I see the following:
Caught fhicl::exception message=Caught fhicl::exception message=---- Parse error BEGIN detected at or near line 28, character 35, of file "-" trigcand600_tpwindow_inputs_keys: "["felix601","felix602","felix603","felix604","felix605","felix606"," felix607","felix608","felix609","felix610"]" ^ ---- Parse error END
This, starting on line 1828 of np04-srv-024:/log/daqinterface_np04daq/DAQInterface_partition9.log . What appears to be going on is this: the guys working on dune-artdaq's self-trigger logic (Phil Rodrigues et al.) figured out that they could use a feature where DAQInterface allows you to override arbitrary FHiCL parameter values during bookkeeping if you define their override values in the boot file not just for scalar values, as had been done up to that point, but for lists as well. However, DAQInterface's fhiclize_boot_file.awk script doesn't know how to properly handle this scenario. This should be fixed.
This problem appears in, e.g., run 9587.
#1 Updated by John Freeman 3 months ago
- % Done changed from 0 to 100
- Status changed from New to Resolved
Now resolved with commit 7fbabacb1495e3312d84165e44762f2c1357e731 at the head of feature/issue23224_fix_boot_dot_fcl. The thing to look for is boot.fcl (as well as DataflowConfiguration.fcl) getting saved, where they weren't getting saved before.