From 5506d0a40aee95421d75d82ad096559d428dcf95 Mon Sep 17 00:00:00 2001 From: PastaClaw Date: Mon, 23 Mar 2026 09:08:47 -0500 Subject: [PATCH] fix: register shareman recovery interface in ActiveContext Add missing shareman->RegisterRecoveryInterface() call in ActiveContext::Start() and corresponding UnregisterRecoveryInterface() in Stop(). Without this, completed sig share sessions are only cleaned up via the 5-second Cleanup() interval instead of promptly via HandleNewRecoveredSig. Under CI load with frozen mocktime, this manifests as flaky test failures in feature_llmq_signing.py and interface_zmq_dash.py. The registration was likely dropped during the sig share refactoring that split share management into a separate shareman object. Closes #7243 --- src/active/context.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/active/context.cpp b/src/active/context.cpp index 831a1b4ccc67..8421fcc35308 100644 --- a/src/active/context.cpp +++ b/src/active/context.cpp @@ -70,6 +70,7 @@ void ActiveContext::Start(CConnman& connman, PeerManager& peerman, int16_t worke cl_signer->Start(); cl_signer->RegisterRecoveryInterface(); is_signer->RegisterRecoveryInterface(); + shareman->RegisterRecoveryInterface(); RegisterValidationInterface(cl_signer.get()); } @@ -78,6 +79,7 @@ void ActiveContext::Stop() { UnregisterValidationInterface(cl_signer.get()); + shareman->UnregisterRecoveryInterface(); is_signer->UnregisterRecoveryInterface(); cl_signer->UnregisterRecoveryInterface(); cl_signer->Stop();