Skip to content

fix(execution): match Linux process scheduling and Git-over-SSH behavior#1740

Merged
NathanFlurry merged 13 commits into
mainfrom
stack/fix-execution-unblock-git-over-ssh-transport-nnmlvrtp
Jul 16, 2026
Merged

fix(execution): match Linux process scheduling and Git-over-SSH behavior#1740
NathanFlurry merged 13 commits into
mainfrom
stack/fix-execution-unblock-git-over-ssh-transport-nnmlvrtp

Conversation

@NathanFlurry

@NathanFlurry NathanFlurry commented Jul 10, 2026

Copy link
Copy Markdown
Member

No description provided.

…16KiB completes

The WASM runner dropped the SOCK_NONBLOCK bit from socket(2) and returned
EBADF for fcntl(F_GETFL/F_SETFL) on host-net socket fds, so guest libcurl
(git-remote-http, mbedTLS in-guest) ran its TLS socket in blocking mode.
Any smart-HTTP upload larger than one TLS record (16384 bytes plaintext)
deadlocked: curl checks for an early server response mid-upload, and the
blocking recv() waited on a server that was itself waiting for the rest of
the POST body. Also allocate host-net fds below FD_SETSIZE (1024) because
libcurl's select-based Curl_poll/curl_multi_fdset silently drop fds >=
FD_SETSIZE from the pollset, which stalls non-blocking transfers.

- wasm-runner.mjs: parse SOCK_NONBLOCK (0x4000) in net_socket, honor
  O_NONBLOCK via fd_fdstat_get/fd_fdstat_set_flags for host-net sockets,
  and start host-net fds at 600 instead of 4096.
- node_import_cache.rs: bump NODE_IMPORT_CACHE_ASSET_VERSION for the
  runner asset change.
@NathanFlurry
NathanFlurry force-pushed the stack/feat-ssh-real-openssh-client-10-4p1-without-openssl-for-wasm32-wasip1-git-over-ssh-mvlvqmkp branch from f7bc3b5 to c019380 Compare July 16, 2026 07:40
@NathanFlurry
NathanFlurry force-pushed the stack/fix-execution-unblock-git-over-ssh-transport-nnmlvrtp branch from 3836724 to 4d6fa10 Compare July 16, 2026 07:40
@NathanFlurry NathanFlurry changed the title fix(execution): unblock git-over-SSH transport fix(execution): match Linux process scheduling and Git-over-SSH behavior Jul 16, 2026
@NathanFlurry
NathanFlurry changed the base branch from stack/feat-ssh-real-openssh-client-10-4p1-without-openssl-for-wasm32-wasip1-git-over-ssh-mvlvqmkp to main July 16, 2026 07:43
@NathanFlurry
NathanFlurry merged commit 4d6fa10 into main Jul 16, 2026
1 check passed
@NathanFlurry
NathanFlurry deleted the stack/fix-execution-unblock-git-over-ssh-transport-nnmlvrtp branch July 16, 2026 07:43
@railway-app
railway-app Bot temporarily deployed to agentos / production July 16, 2026 07:43 Inactive
@railway-app
railway-app Bot temporarily deployed to agentos / preview July 16, 2026 07:43 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant