wasmfs.test_pipe_pollhup failure

クローズ
#27,979 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
c, javascript, python, wasm

調査の方向性

The failing assertion is revents & POLLHUP at test/core/test_pipe_pollhup.c line 58, reached through the test_pipe_pollhup method in test/test_core.py. Start by reading how WasmFS implements poll and pipe hang-up in the C++ sources, then reproduce with test\runner wasmfs.test_pipe_pollhup on Windows. Done means the test passes on Windows without changing the expected output 'done\n'.

索引モデルが issue の本文から書いたものです。

説明

wasmfs

Running

test\runner wasmfs.test_pipe_pollhup

fails with


C:\emsdk\emscripten\main>test\runner wasmfs.test_pipe_pollhup
Running 1 tests
[1/1] test_pipe_pollhup (test_core.wasmfs.test_pipe_pollhup) ... FAIL

Stdout:
-- begin program output --
Aborted(Assertion failed: revents & POLLHUP, at: C:\emsdk\emscripten\main\test\core\test_pipe_pollhup.c,58,main)
C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1
var Module=typeof Module!=="undefined"?Module:{};var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var programArgs=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=globalThis.document?.currentScript?.src;if(typeof __filename!=="undefined")_scriptName=__filename;else if(ENVIRONMENT_IS_WORKER)_scriptName=self.location.href;var scriptDirectory="";function locateFile(path){if(Module["locateFile"])return Module["locateFile"](path,scriptDirectory);return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?void 0:"utf8");return ret};if(process.argv.length>1)thisProgram=process.argv[1].replace(/\\/g,"/");programArgs=process.argv.slice(2);if(typeof module!=="undefined")module["exports"]=Module;quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}if(ENVIRONMENT_IS_WORKER)readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)};readAsync=async url=>{if(isFileURI(url))return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)});var response=await fetch(url,{credentials:"same-origin"});if(response.ok)return response.arrayBuffer();throw new Error(response.status+" : "+response.url)}}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith("file://");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAPU8=new Uint8Array(b)}function preRun(){var preRun=Module["preRun"];if(preRun){if(typeof preRun==="function")preRun=[preRun];onPreRuns.push(...preRun)}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["__wasm_call_ctors"]()}function postRun(){var postRun=Module["postRun"];if(postRun){if(typeof postRun==="function")postRun=[postRun];onPostRuns.push(...postRun)}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";throw new WebAssembly.RuntimeError(what)}var wasmBinaryFile;function findWasmBinary(){return locateFile("test_pipe_pollhup.wasm")}function getBinarySync(file){if(readBinary)return readBinary(file);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary)try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE)try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={env:wasmImports,wasi_snapshot_preview1:wasmImports};return imports}async function createWasm(){function receiveInstance(instance){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}var info=getWasmImports();var instantiateWasm=Module["instantiateWasm"];if(instantiateWasm)return new Promise(resolve=>{instantiateWasm(info,inst=>resolve(receiveInstance(inst)))});wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=function(result){return receiveInstance(result["instance"])}(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0)callbacks.shift()(Module)};var onPostRuns=[];var onPreRuns=[];var noExitRuntime=true;var U[..]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

RuntimeError: Aborted(Assertion failed: revents & POLLHUP, at: C:\emsdk\emscripten\main\test\core\test_pipe_pollhup.c,58,main). Build with -sASSERTIONS for more info.
    at abort (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:2942)
    at ___assert_fail (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:6103)
    at wasm://wasm/00035c56:wasm-function[17]:0x1e21
    at callMain (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12076)
    at run (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12467)
    at C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12526
Thrown at:
    at abort (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:2942)
    at ___assert_fail (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:6103)
    at $main (wasm://wasm/00035c56:1:7714)
    at callMain (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12076)
    at run (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12467)
    at C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12526


Node.js v26.0.0-nightly20260424a5b3d76f80
-- end program output --


======================================================================
FAIL: test_pipe_pollhup (test_core.wasmfs.test_pipe_pollhup)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\emsdk\emscripten\main\test\test_core.py", line 9766, in test_pipe_pollhup
    self.do_runf('core/test_pipe_pollhup.c', 'done\n')
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\test\common.py", line 1460, in do_runf
    return self._build_and_run(filename, *args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\test\common.py", line 1508, in _build_and_run
    js_output = self.run_js(js_file, engine, args,
                            input=input,
                            assert_returncode=assert_returncode,
                            interleaved_output=interleaved_output)
  File "C:\emsdk\emscripten\main\test\common.py", line 1092, in run_js
    self.fail(f'JS subprocess failed ({error.cmd}): {error.returncode} (expected={assert_returncode}).  Output:\n{ret}')
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: JS subprocess failed (C:\emsdk/node/nightly-v26.0.0-nightly20260424a5b3d76f80/bin/node.exe --stack-trace-limit=50 --trace-uncaught C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js): 1 (expected=0).  Output:
Aborted(Assertion failed: revents & POLLHUP, at: C:\emsdk\emscripten\main\test\core\test_pipe_pollhup.c,58,main)
C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1
var Module=typeof Module!=="undefined"?Module:{};var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var programArgs=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=globalThis.document?.currentScript?.src;if(typeof __filename!=="undefined")_scriptName=__filename;else if(ENVIRONMENT_IS_WORKER)_scriptName=self.location.href;var scriptDirectory="";function locateFile(path){if(Module["locateFile"])return Module["locateFile"](path,scriptDirectory);return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?void 0:"utf8");return ret};if(process.argv.length>1)thisProgram=process.argv[1].replace(/\\/g,"/");programArgs=process.argv.slice(2);if(typeof module!=="undefined")module["exports"]=Module;quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}if(ENVIRONMENT_IS_WORKER)readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)};readAsync=async url=>{if(isFileURI(url))return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)});var response=await fetch(url,{credentials:"same-origin"});if(response.ok)return response.arrayBuffer();throw new Error(response.status+" : "+response.url)}}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith("file://");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAPU8=new Uint8Array(b)}function preRun(){var preRun=Module["preRun"];if(preRun){if(typeof preRun==="function")preRun=[preRun];onPreRuns.push(...preRun)}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["__wasm_call_ctors"]()}function postRun(){var postRun=Module["postRun"];if(postRun){if(typeof postRun==="function")postRun=[postRun];onPostRuns.push(...postRun)}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";throw new WebAssembly.RuntimeError(what)}var wasmBinaryFile;function findWasmBinary(){return locateFile("test_pipe_pollhup.wasm")}function getBinarySync(file){if(readBinary)return readBinary(file);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary)try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE)try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={env:wasmImports,wasi_snapshot_preview1:wasmImports};return imports}async function createWasm(){function receiveInstance(instance){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}var info=getWasmImports();var instantiateWasm=Module["instantiateWasm"];if(instantiateWasm)return new Promise(resolve=>{instantiateWasm(info,inst=>resolve(receiveInstance(inst)))});wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=function(result){return receiveInstance(result["instance"])}(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0)callbacks.shift()(Module)};var onPostRuns=[];var onPreRuns=[];var noExitRuntime=true;var U[..]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

RuntimeError: Aborted(Assertion failed: revents & POLLHUP, at: C:\emsdk\emscripten\main\test\core\test_pipe_pollhup.c,58,main). Build with -sASSERTIONS for more info.
    at abort (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:2942)
    at ___assert_fail (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:6103)
    at wasm://wasm/00035c56:wasm-function[17]:0x1e21
    at callMain (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12076)
    at run (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12467)
    at C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12526
Thrown at:
    at abort (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:2942)
    at ___assert_fail (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:6103)
    at $main (wasm://wasm/00035c56:1:7714)
    at callMain (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12076)
    at run (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12467)
    at C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12526


Node.js v26.0.0-nightly20260424a5b3d76f80


Stdout:
-- begin program output --
Aborted(Assertion failed: revents & POLLHUP, at: C:\emsdk\emscripten\main\test\core\test_pipe_pollhup.c,58,main)
C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1
var Module=typeof Module!=="undefined"?Module:{};var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var programArgs=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=globalThis.document?.currentScript?.src;if(typeof __filename!=="undefined")_scriptName=__filename;else if(ENVIRONMENT_IS_WORKER)_scriptName=self.location.href;var scriptDirectory="";function locateFile(path){if(Module["locateFile"])return Module["locateFile"](path,scriptDirectory);return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?void 0:"utf8");return ret};if(process.argv.length>1)thisProgram=process.argv[1].replace(/\\/g,"/");programArgs=process.argv.slice(2);if(typeof module!=="undefined")module["exports"]=Module;quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}if(ENVIRONMENT_IS_WORKER)readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)};readAsync=async url=>{if(isFileURI(url))return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)});var response=await fetch(url,{credentials:"same-origin"});if(response.ok)return response.arrayBuffer();throw new Error(response.status+" : "+response.url)}}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith("file://");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAPU8=new Uint8Array(b)}function preRun(){var preRun=Module["preRun"];if(preRun){if(typeof preRun==="function")preRun=[preRun];onPreRuns.push(...preRun)}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["__wasm_call_ctors"]()}function postRun(){var postRun=Module["postRun"];if(postRun){if(typeof postRun==="function")postRun=[postRun];onPostRuns.push(...postRun)}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";throw new WebAssembly.RuntimeError(what)}var wasmBinaryFile;function findWasmBinary(){return locateFile("test_pipe_pollhup.wasm")}function getBinarySync(file){if(readBinary)return readBinary(file);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary)try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE)try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={env:wasmImports,wasi_snapshot_preview1:wasmImports};return imports}async function createWasm(){function receiveInstance(instance){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}var info=getWasmImports();var instantiateWasm=Module["instantiateWasm"];if(instantiateWasm)return new Promise(resolve=>{instantiateWasm(info,inst=>resolve(receiveInstance(inst)))});wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=function(result){return receiveInstance(result["instance"])}(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0)callbacks.shift()(Module)};var onPostRuns=[];var onPreRuns=[];var noExitRuntime=true;var U[..]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

RuntimeError: Aborted(Assertion failed: revents & POLLHUP, at: C:\emsdk\emscripten\main\test\core\test_pipe_pollhup.c,58,main). Build with -sASSERTIONS for more info.
    at abort (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:2942)
    at ___assert_fail (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:6103)
    at wasm://wasm/00035c56:wasm-function[17]:0x1e21
    at callMain (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12076)
    at run (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12467)
    at C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12526
Thrown at:
    at abort (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:2942)
    at ___assert_fail (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:6103)
    at $main (wasm://wasm/00035c56:1:7714)
    at callMain (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12076)
    at run (C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12467)
    at C:\emsdk\emscripten\main\out\test\test_pipe_pollhup.js:1:12526


Node.js v26.0.0-nightly20260424a5b3d76f80
-- end program output --

----------------------------------------------------------------------
Ran 1 test in 1.270s

FAILED (failures=1)

C:\emsdk\emscripten\main>

Tried bisecting back to see if this regressed, but as far back as I could go (July 21 2026), the test still fails:

# bad: [c46e2c73222026cc4ecc592fd0b4710a441febf6] [WasmFS] Return ESPIPE from fallocate and fadvise on non-seekable fds (#27976)
git bisect bad c46e2c73222026cc4ecc592fd0b4710a441febf6
# status: waiting for good commit(s), bad commit known
# bad: [f99d5010b70b049ef5b3bebe13a7ea76ff7c35b8] Fix test_futimens_nodefs under Windows (#27801)
git bisect bad f99d5010b70b049ef5b3bebe13a7ea76ff7c35b8
# status: waiting for good commit(s), bad commit known
# bad: [9eca01833bb98dc51f31a6c54f61cd71c03e2e89] Update mimalloc to 3.5.1 (#27662)
git bisect bad 9eca01833bb98dc51f31a6c54f61cd71c03e2e89
# status: waiting for good commit(s), bad commit known
# bad: [9d9c25770276fdcba9b4069a103b5d421ed24d04] Fix missing closing parentheses under `GL_DEBUG` (#27517)
git bisect bad 9d9c25770276fdcba9b4069a103b5d421ed24d04
# status: waiting for good commit(s), bad commit known
# bad: [46ca7ed51930921e14f88c0460a47586c704fb69] Update emsdk version from fc776de7 to 8adab2e4 (#27393)
git bisect bad 46ca7ed51930921e14f88c0460a47586c704fb69
# status: waiting for good commit(s), bad commit known

I'm pretty sure though that this test passed when I had my CI running at some point before that.

主要言語
C++
スター
27.8k
フォーク
3.6k
平均マージ
1日 6時間
マージ済み PR(30日)
181

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

emscripten-core/emscripten のほかの issue

emscripten-core/emscripten の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。