From d01d10fd658eef2d1e0ca4e330b7719e871d7854 Mon Sep 17 00:00:00 2001 From: Arshia Ghafoori Date: Tue, 11 Aug 2026 14:56:07 +0000 Subject: [PATCH] test(wasix): skip the cluster shared-dgram known_issues test known_issues/test-dgram-bind-shared-ports-after-port-0 times out on both WASIX lanes (v8-wasix and quickjs-wasix), on this branch and on main. Cluster shares a dgram socket by sending the bound descriptor to the worker over IPC, and primary.js always selects SharedHandle for udp4/udp6 regardless of scheduling policy. WASI has no msghdr or SCM_RIGHTS, so the descriptor can never reach the worker: its bind callback never fires, the primary keeps waiting for the 'success' message, and the harness kills the run after ten minutes. A timeout fails a [negative] test no matter which way it would have resolved -- an expected-to-fail test still has to fail promptly -- so this cannot go green while it runs. Nor can it ever reach its intended outcome on WASIX, which needs a genuinely shared UDP socket. Its non-negative sibling sequential/test-dgram-bind-shared-ports.js has been in WASIX_SKIP_CLUSTER_FORK_TESTS since the original triage; this one escaped only because the list carried no known_issues/ paths. wasix-org/libuv#14 makes the underlying descriptor send fail with ENOSYS instead of reporting success and stalling, which is what made this diagnosable, but it does not make the test pass and is not required here. Verified: node:dgram goes from 60 passed / 1 failed to 60 passed / 0 failed, built against the pinned libuv (deps/libuv-wasix 71cdbb57). --- Makefile | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 87ee5a850..9ac8d24df 100644 --- a/Makefile +++ b/Makefile @@ -146,6 +146,17 @@ WASIX_SKIP_UNIX_SOCKET_TESTS := \ parallel/test-tls-net-connect-prefer-path.js \ parallel/test-tls-wrap-econnreset-pipe.js \ parallel/test-http-client-response-domain.js +# The known_issues/ entry is a later addition (2026-08-11). Cluster shares a +# dgram socket by sending the bound descriptor to the worker over IPC, and +# primary.js always picks SharedHandle for udp4/udp6 regardless of scheduling +# policy. WASI has no msghdr/SCM_RIGHTS, so that descriptor can never be +# delivered and the worker's bind callback never fires -- the run times out +# rather than failing, which a [negative] test needs it to do. Its non-negative +# sibling sequential/test-dgram-bind-shared-ports.js is skipped just above for +# the same reason; this one only escaped because the list carried no +# known_issues/ paths. See wasix-org/libuv#14, which makes the underlying send +# fail with ENOSYS instead of stalling silently -- necessary for diagnosing +# this, but not sufficient to make the test pass. WASIX_SKIP_CLUSTER_FORK_TESTS := \ parallel/test-dgram-bind-socket-close-before-cluster-reply.js \ parallel/test-dgram-cluster-close-during-bind.js \ @@ -163,7 +174,8 @@ WASIX_SKIP_CLUSTER_FORK_TESTS := \ parallel/test-crypto-secure-heap.js \ parallel/test-domain-top-level-error-handler-throw.js \ parallel/test-domain-uncaught-exception.js \ - sequential/test-dgram-bind-shared-ports.js + sequential/test-dgram-bind-shared-ports.js \ + known_issues/test-dgram-bind-shared-ports-after-port-0.js WASIX_SKIP_SUBPROCESS_SHELL_TESTS := \ parallel/test-stream-pipeline-process.js \ parallel/test-domain-abort-on-uncaught.js \