From: Bjørn Erik Pedersen Date: Sat, 7 Mar 2026 10:39:31 +0000 (+0100) Subject: internal/warpc: Fix SIGSEGV in Close() when dispatcher fails to start X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c9b88e4d15b96bcf0468ac165f9df53a5fbcd1a5;p=brevno-suite%2Fhugo internal/warpc: Fix SIGSEGV in Close() when dispatcher fails to start Only set started=true when Start() succeeds, so Close() doesn't attempt to close a nil dispatcher. Fixes #14536 --- diff --git a/internal/warpc/warpc.go b/internal/warpc/warpc.go index e62e6b09e..58dcf5dc7 100644 --- a/internal/warpc/warpc.go +++ b/internal/warpc/warpc.go @@ -776,8 +776,10 @@ func (d *lazyDispatcher[Q, R]) start() (Dispatcher[Q, R], error) { d.startOnce.Do(func() { start := time.Now() d.dispatcher, d.startErr = Start[Q, R](d.opts) - d.started = true - d.opts.Infof("started dispatcher in %s", time.Since(start)) + if d.startErr == nil { + d.started = true + d.opts.Infof("started dispatcher in %s", time.Since(start)) + } }) return d.dispatcher, d.startErr }