From 5038fbfe2549d6fadf55d07f37df6a413e44dbef Mon Sep 17 00:00:00 2001 From: Moltbot Date: Thu, 5 Feb 2026 13:03:08 +0000 Subject: [PATCH] fix: prevent deadlock when process start fails --- proxy/process.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/proxy/process.go b/proxy/process.go index 41427059..cf6fd115 100644 --- a/proxy/process.go +++ b/proxy/process.go @@ -270,6 +270,10 @@ func (p *Process) start() error { // Set process state to failed if err != nil { + p.cmdMutex.Lock() + close(p.cmdWaitChan) + p.cmdMutex.Unlock() + if curState, swapErr := p.swapState(StateStarting, StateStopped); swapErr != nil { p.forceState(StateStopped) // force it into a stopped state return fmt.Errorf( @@ -609,7 +613,7 @@ func (p *Process) waitForCmd() { p.cmdMutex.Unlock() } -// cmdStopUpstreamProcess attemps to stop the upstream process gracefully +// cmdStopUpstreamProcess attempts to stop the upstream process gracefully func (p *Process) cmdStopUpstreamProcess() error { p.processLogger.Debugf("<%s> cmdStopUpstreamProcess() initiating graceful stop of upstream process", p.ID)