You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolve the remaining inprocess-cell failures in the go-sdk-tests matrix:
- Anchor all repo-relative test paths to source dirs, not the process cwd.
The in-process transport os.Chdir's the whole test process into a per-test
temp workdir, so cwd-relative resolution of the replay proxy (server.ts) and
MCP server scripts (*.mjs) broke for every test after the first in-process
one. Add testharness.RepoPath and use it for the proxy, CLI, and MCP paths.
- Fix a data race in ffihost.Host: `disposed` was written under disposeMu but
read under callbackMu. Unify all disposed/serverID/connectionID/activeCallbacks
access under a single mutex, which also fixes a real drain-ordering bug where a
late onOutbound callback could feed the receive buffer after it was closed.
- Re-arm foreign signal handlers with SA_ONSTACK on linux too (not just darwin).
libuv's SA_ONSTACK-less SIGCHLD handler makes the Go runtime abort when the
test process reaps its own os/exec child (e.g. an MCP OAuth server) while
libnode is loaded. Resolve sigaction through the runtime handle (with a libc
dlopen fallback).
- Make the OAuth MCP server's stderr buffer thread-safe (syncBuffer): os/exec
writes to it on a goroutine while the test reads String(), a -race violation.
- Skip only the readCheckpoint "unknown checkpoint" scenario in-process, where
the native runtime decodes the id as u32 and rejects the large sentinel,
matching Rust's explicit skip.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a96d1a82-c80e-40f1-a3df-a9708429b68b
connectionOpenfunc(serverIDuint32, cbuintptr, userDatauintptr, a unsafe.Pointer, aLenuintptr, b unsafe.Pointer, bLenuintptr, c unsafe.Pointer, cLenuintptr) uint32
0 commit comments