From c41d388e8d55e80c6aec11a06bc980e9745000cb Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Fri, 19 Jun 2026 11:38:11 +0200 Subject: [PATCH] DPL: adapt to FairMQ new API Rebuild() of a message will call free() on the supplied buffer after copying it, if a custom free function was not given as an argument. Since oldestPossingTimeslice is not a heap object, calling free() on it is not allowed, which seems to be enforced by some compilers. --- Framework/Core/src/CommonDataProcessors.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Framework/Core/src/CommonDataProcessors.cxx b/Framework/Core/src/CommonDataProcessors.cxx index 67c6314de1c34..74ce73a21c635 100644 --- a/Framework/Core/src/CommonDataProcessors.cxx +++ b/Framework/Core/src/CommonDataProcessors.cxx @@ -167,7 +167,7 @@ void retryMetricCallback(uv_async_t* async) return; } fair::mq::MessagePtr payload(device->NewMessage()); - payload->Rebuild(&oldestPossingTimeslice, sizeof(int64_t), nullptr, nullptr); + payload->Rebuild(&oldestPossingTimeslice, sizeof(int64_t), [](void*, void*) -> void {}, nullptr); auto consumed = oldestPossingTimeslice; size_t start = uv_hrtime();