Skip to content

DPL: print an error when the configuration is not parsed correctly#14727

Merged
ktf merged 1 commit into
AliceO2Group:devfrom
ktf:pr14727
Oct 9, 2025
Merged

DPL: print an error when the configuration is not parsed correctly#14727
ktf merged 1 commit into
AliceO2Group:devfrom
ktf:pr14727

Conversation

@ktf
Copy link
Copy Markdown
Member

@ktf ktf commented Oct 9, 2025

This should probably be a fatal error not sure why the rethrown
exception is ignored (and where).

@ktf ktf requested a review from a team as a code owner October 9, 2025 09:29
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Oct 9, 2025

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1
async-2024-PbPb-apass2
async-2023-PbPb-apass5

@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented Oct 9, 2025

Error while checking build/O2/fullCI_slc9 for 05bb51b at 2025-10-09 11:44:

[2991/4967] Building CXX object Detectors/MUON/Common/CMakeFiles/O2exe-mid-dcs-ccdb.dir/src/dcs-ccdb.cxx.o
[2992/4967] Linking CXX executable stage/bin/o2-calibration-mft-calib-workflow
[2993/4967] Building CXX object Detectors/MUON/MCH/Calibration/CMakeFiles/O2exe-mch-pedestal-decoding-workflow.dir/src/pedestal-decoding-workflow.cxx.o
[2994/4967] Linking CXX executable stage/bin/o2-zdc-digi2raw
[2995/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2lib-FV0Workflow.dir/src/RecoWorkflow.cxx.o
[2996/4967] Building CXX object Detectors/MUON/MCH/Calibration/CMakeFiles/O2exe-calibration-mch-badchannel-calib-workflow.dir/src/badchannel-calib-workflow.cxx.o
[2997/4967] Building CXX object Detectors/MUON/MCH/Calibration/CMakeFiles/O2lib-MCHCalibration.dir/G__O2MCHCalibration.cxx.o
[2998/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/DeliveryType.cxx.o
[2999/4967] Building CXX object Detectors/FIT/FT0/reconstruction/CMakeFiles/O2lib-FT0Reconstruction.dir/src/CTFCoder.cxx.o
[3000/4967] Building CXX object Detectors/MUON/MID/Calibration/CMakeFiles/O2lib-MIDCalibration.dir/G__O2MIDCalibration.cxx.o
[3001/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/GenericFunctions.cxx.o
[3002/4967] Linking CXX shared library stage/lib64/libO2MCHCalibration.so
[3003/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/DataPointIdentifier.cxx.o
[3004/4967] Linking CXX shared library stage/lib64/libO2FT0Reconstruction.so
[3005/4967] Linking CXX shared library stage/lib64/libO2MIDCalibration.so
[3006/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/DataPointCreator.cxx.o
[3007/4967] Generating G__O2ZDCRaw.cxx, ../../../stage/lib64/G__O2ZDCRaw_rdict.pcm, ../../../stage/lib64/libO2ZDCRaw.rootmap
[3008/4967] Generating G__O2ZDCReconstruction.cxx, ../../../stage/lib64/G__O2ZDCReconstruction_rdict.pcm, ../../../stage/lib64/libO2ZDCReconstruction.rootmap
[3009/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/DataPointValue.cxx.o
[3010/4967] Linking CXX executable stage/bin/o2-mch-pedestal-decoding-workflow
[3011/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2lib-FV0Workflow.dir/src/RecPointReaderSpec.cxx.o
[3012/4967] Linking CXX executable stage/bin/o2-calibration-mch-badchannel-calib-workflow
[3013/4967] Linking CXX executable stage/bin/o2-ft0-test-raw-conversion
[3014/4967] Linking CXX executable stage/bin/o2-ft0-test-raw2digit
[3015/4967] Linking CXX executable stage/tests/o2-test-mch-pedestal-data-iterator
[3016/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2lib-FV0Workflow.dir/src/DigitReaderSpec.cxx.o
[3017/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/Clock.cxx.o
[3018/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/StringUtils.cxx.o
[3019/4967] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/src/DataPointGenerator.cxx.o
[3020/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/ZDCEnergyParam.cxx.o
[3021/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/ZDCTDCParam.cxx.o
[3022/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/ZDCTowerParam.cxx.o
[3023/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-reco-workflow.dir/src/fv0-reco-workflow.cxx.o
[3024/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-digits-writer-workflow.dir/src/digits-writer-workflow.cxx.o
[3025/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/BaselineParam.cxx.o
[3026/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/RecoParamZDC.cxx.o
[3027/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/NoiseParam.cxx.o
[3028/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-recpoints-writer-workflow.dir/src/recpoints-writer-workflow.cxx.o
[3029/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-digit-reader-workflow.dir/src/digits-reader-workflow.cxx.o
[3030/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/CTFHelper.cxx.o
[3031/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2lib-FV0Workflow.dir/src/ReconstructionSpec.cxx.o
[3032/4967] Linking CXX executable stage/bin/o2-mid-bad-channels-ccdb
[3033/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/DigiParser.cxx.o
[3034/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-entropy-encoder-workflow.dir/src/entropy-encoder-workflow.cxx.o
[3035/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-recpoints-reader-workflow.dir/src/recpoints-reader-workflow.cxx.o
[3036/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2lib-FV0Workflow.dir/src/RecPointWriterSpec.cxx.o
[3037/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/src/ZDCTDCCorr.cxx.o
[3038/4967] Building CXX object Detectors/ZDC/raw/CMakeFiles/O2lib-ZDCRaw.dir/G__O2ZDCRaw.cxx.o
[3039/4967] Building CXX object Detectors/ZDC/reconstruction/CMakeFiles/O2lib-ZDCReconstruction.dir/G__O2ZDCReconstruction.cxx.o
[3040/4967] Building CXX object Detectors/FIT/FV0/workflow/CMakeFiles/O2exe-fv0-integrate-cluster-reader-workflow.dir/src/cluster-integrator-reader.cxx.o

Full log here.

This should probably be a fatal error not sure why the rethrown
exception is ignored (and where).
@ktf ktf merged commit 596f0db into AliceO2Group:dev Oct 9, 2025
16 of 17 checks passed
@ktf ktf deleted the pr14727 branch October 9, 2025 18:09
plariono pushed a commit to plariono/AliceO2 that referenced this pull request Oct 23, 2025
…liceO2Group#14727)

This should probably be a fatal error not sure why the rethrown
exception is ignored (and where).
bazinski pushed a commit to bazinski/AliceO2 that referenced this pull request Feb 10, 2026
…liceO2Group#14727)

This should probably be a fatal error not sure why the rethrown
exception is ignored (and where).
@lubynets
Copy link
Copy Markdown

lubynets commented Jun 8, 2026

Dear @ktf,
It seems that I found why the exception is ignored: it is effectively silenced here, at least when I catch the std::exception instead of ... and print the std::exception::what(), I see the same error message as here.

From my experience I'd like to say that the current version of exception handling is not optimal, since if the user by mistake leaves one of the Configurable<LabeledArray<double>> fields empty, the code does not crash, but reading the config stops and default version of configuration is used for all the configurables which were not processed yet - i.e. eventually the code does not fail, but calculates something which was not supposed by user, and the user even does not notice that unless they look at dpl-config.json.
I would like to ask if it makes sense to
(1) handle the exception here properly, e.g re-throw it?
or
(2) terminate code with LOG(fatal) here, as you proposed in the PR description? - I think that fatal is an appropriate level of severity, since the user misconfigured the input and running the entire task does not make any sense (?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants