macOS race CI failed now and then with "write |1: file already closed" on a Claude subscription run's first prompt (TestClaudeAuthFailureFallsBackWithoutRetryingTheLogin in 37605014029, TestClaudeLastWordsAreRead in 37464400652; 37612795871 got the same failure as "broken pipe"). The Claude Code stand-in had already ended when the first prompt was written, and Wait had closed its stdin. It never ran. On the fork's macOS runners, a debug build that recorded the process's status at the failed write caught 8 cases in 10 jobs. Each was "signal: segmentation fault", under 1ms of CPU, nothing on stderr, with no magpie abort or group kill. The crash report (gateway.race-*.ips) says "crashed on child side of fork pre-exec": __tsan::TraceSwitchPartImpl syscall.rawSyscall syscall.forkAndExecInChild syscall.forkExec os.StartProcess exec.(*Cmd).Start proc.StartTree gateway.(*subscriptionRun).launch This is golang/go#79804. From Go 1.26.0, darwin's raw syscall wrappers are instrumented under -race, and forkAndExecInChild calls them in the child of fork. Go 1.26.5 marks them //go:norace (#79806); go.mod's 1.26.3, which setup-go builds CI with, has the bug. Only -race test binaries on macOS are affected, so released builds never were. Any os/exec start in a macOS race test could hit it; the Claude subscription tests were where it surfaced. Local runs on go1.27.1 couldn't reproduce it, because that release already has the fix. 1.26.8 is the latest 1.26 patch release.
59 lines
2.4 KiB
AMPL
59 lines
2.4 KiB
AMPL
module github.com/yetone/magpie
|
|
|
|
go 1.26.8
|
|
|
|
require (
|
|
github.com/Calcium-Ion/moejs v0.1.0-alpha.4
|
|
github.com/charmbracelet/bubbles v0.21.1
|
|
github.com/charmbracelet/bubbletea v1.3.10
|
|
github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834
|
|
github.com/go-ole/go-ole v1.3.0
|
|
github.com/godbus/dbus/v5 v5.2.2
|
|
github.com/klauspost/compress v1.18.3
|
|
github.com/pelletier/go-toml/v2 v2.2.4
|
|
github.com/tidwall/gjson v1.19.0
|
|
github.com/tidwall/jsonc v0.3.3
|
|
github.com/wailsapp/wails/v3 v3.0.0-beta.24
|
|
golang.org/x/sys v0.46.0
|
|
golang.org/x/term v0.44.0
|
|
golang.org/x/text v0.39.0
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
modernc.org/sqlite v1.44.3
|
|
)
|
|
|
|
require (
|
|
git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3 // indirect
|
|
github.com/adrg/xdg v0.5.3 // indirect
|
|
github.com/atotto/clipboard v0.1.4 // indirect
|
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
|
github.com/charmbracelet/colorprofile v0.4.1 // indirect
|
|
github.com/charmbracelet/x/ansi v0.11.5 // indirect
|
|
github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
|
|
github.com/charmbracelet/x/term v0.2.2 // indirect
|
|
github.com/clipperhouse/displaywidth v0.9.0 // indirect
|
|
github.com/clipperhouse/stringish v0.1.1 // indirect
|
|
github.com/clipperhouse/uax29/v2 v2.5.0 // indirect
|
|
github.com/coder/websocket v1.8.14 // indirect
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/lucasb-eyer/go-colorful v1.3.0 // indirect
|
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/mattn/go-localereader v0.0.1 // indirect
|
|
github.com/mattn/go-runewidth v0.0.19 // indirect
|
|
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
|
github.com/muesli/termenv v0.16.0 // indirect
|
|
github.com/ncruces/go-strftime v1.0.0 // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
|
github.com/rivo/uniseg v0.4.7 // indirect
|
|
github.com/tidwall/match v1.1.1 // indirect
|
|
github.com/tidwall/pretty v1.2.0 // indirect
|
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
|
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect
|
|
modernc.org/libc v1.67.6 // indirect
|
|
modernc.org/mathutil v1.7.1 // indirect
|
|
modernc.org/memory v1.11.0 // indirect
|
|
)
|