From debf6ea81725a406cf9320457a0a0a704902f333 Mon Sep 17 00:00:00 2001 From: Nikita Mikhaylov Date: Fri, 9 Jan 2026 15:21:57 +0100 Subject: [PATCH] Merge pull request #90417 from ClickHouse/backport/25.8/90076 Backport #90076 to 25.8: Fix a terminate for uncaught exception --- src/Common/Scheduler/SchedulerRoot.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Common/Scheduler/SchedulerRoot.h b/src/Common/Scheduler/SchedulerRoot.h index 7650780dc597..93b7e1a5082c 100644 --- a/src/Common/Scheduler/SchedulerRoot.h +++ b/src/Common/Scheduler/SchedulerRoot.h @@ -250,9 +250,11 @@ class SchedulerRoot final : public ISchedulerNode } Resource * current = nullptr; // round-robin pointer - std::unordered_map children; // resources by pointer std::atomic stop_flag = false; EventQueue events; + /// Resources by pointer. Must be destroyed before the "events", + /// because the descructor of ISchedulerNode might access the mutex in that queue. + std::unordered_map children; ThreadFromGlobalPool scheduler; };