mirror of
https://github.com/mudler/LocalAI.git
synced 2026-07-30 18:09:05 -04:00
Picks up mudler/go-processmanager#7, which closes the check-then-act window in Run's "already started" guard. Concurrent Run calls on one handle could each observe a nil p.proc, each start a process and each launch a monitor goroutine; every monitor does `defer close(p.done)` against a channel created once in New, so the second monitor to see its process exit panicked on close of a closed channel. The same window raced on p.proc itself. LocalAI does not hit this today: the only New/Run pair (pkg/model/process.go:178-191) runs a freshly created handle, and core/services/worker/supervisor.go only ever calls Stop on handles it holds. The bump is defensive, and keeps the dependency from drifting further behind a fix in the process lifecycle we rely on. No exported signature changes upstream; ErrProcessAlreadyRun is additive and keeps the historical "command already started" prefix, so any caller matching on that text is unaffected. Nothing in this repo matches it. Verified: go build ./core/... ./pkg/... clean; go vet clean; go test -race ./pkg/model/ ./core/services/worker/ both ok. Assisted-by: Claude Code:claude-opus-4-8[1m] [Read] [Bash] [Edit] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
25 KiB
25 KiB