From 5c07f34401e7459bf0fba921fcf9f28e027b31ec Mon Sep 17 00:00:00 2001 From: Ernst Hellbar Date: Tue, 24 Feb 2026 14:54:59 +0100 Subject: [PATCH] DPL: clean up leftovers from input stream after parsing a workflow --- .../Core/src/WorkflowSerializationHelpers.cxx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Framework/Core/src/WorkflowSerializationHelpers.cxx b/Framework/Core/src/WorkflowSerializationHelpers.cxx index e20e23f98c90b..148fe88f0bbab 100644 --- a/Framework/Core/src/WorkflowSerializationHelpers.cxx +++ b/Framework/Core/src/WorkflowSerializationHelpers.cxx @@ -29,6 +29,7 @@ #include O2_DECLARE_DYNAMIC_LOG(workflow_importer); +O2_DECLARE_DYNAMIC_LOG(post_workflow_importer); namespace o2::framework { @@ -969,7 +970,19 @@ bool WorkflowSerializationHelpers::import(std::istream& s, WorkflowImporter importer{workflow, metadata, command}; bool ok = reader.Parse(isw, importer); if (ok == false) { - throw std::runtime_error("Error while parsing serialised workflow"); + if (s.eof()) { + throw std::runtime_error("Error while parsing serialised workflow"); + } else { + // clean up leftovers at the end of the input stream, e.g. [DEBUG] message from destructors + while (true) { + O2_SIGNPOST_ID_GENERATE(sid, post_workflow_importer); + s.getline(buf, 1024, '\n'); + if (s.eof()) { + break; + } + O2_SIGNPOST_EVENT_EMIT(post_workflow_importer, sid, "post import", "Following leftover line found in input stream after parsing workflow: %{public}s", buf); + } + } } return true; }