From 2ee9251b5a8ce592f96f5890e609b5c07be4ed22 Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Tue, 18 Aug 2026 07:29:34 +0200 Subject: [PATCH] Clean up toolsrv startup socket failures --- cmd/olliesrv/internal/toolclient/spawn.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmd/olliesrv/internal/toolclient/spawn.go b/cmd/olliesrv/internal/toolclient/spawn.go index d66c716..050286b 100644 --- a/cmd/olliesrv/internal/toolclient/spawn.go +++ b/cmd/olliesrv/internal/toolclient/spawn.go @@ -91,6 +91,7 @@ func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) { if err := cmd.Start(); err != nil { cancel() + _ = os.Remove(socketPath) return nil, fmt.Errorf("start toolsrv: %w", err) } @@ -241,6 +242,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s cancel() _ = cmd.Process.Kill() _ = cmd.Wait() + _ = os.Remove(localSock) return nil, fmt.Errorf("send tarball: %w", err) } // Send bootstrap script @@ -248,6 +250,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s cancel() _ = cmd.Process.Kill() _ = cmd.Wait() + _ = os.Remove(localSock) return nil, fmt.Errorf("send bootstrap: %w", err) } stdin.Close() @@ -278,6 +281,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s if !ready { _ = cmd.Wait() <-stderrDone + _ = os.Remove(localSock) return nil, fmt.Errorf("remote toolsrv exited before startup") } case <-time.After(30 * time.Second): @@ -285,6 +289,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s _ = cmd.Process.Kill() _ = cmd.Wait() <-stderrDone + _ = os.Remove(localSock) return nil, fmt.Errorf("remote toolsrv startup timeout") } @@ -293,6 +298,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s cancel() _ = cmd.Process.Kill() _ = cmd.Wait() + _ = os.Remove(localSock) return nil, fmt.Errorf("wait for forwarded socket: %w", err) }