Closed
Description
Preparation:
git clone https://github.com/389ds/389-ds-base
cd 389-ds-base
git checkout 1417198
cd src/cockpit/389-console
npm install
# Always use esbuild-wasm:
sed 's|\(const useWasm\)|\1 = true; //|' build.js
Reproduce:
# Using Node.js
node build.js
# Using Electron:
# First, ln -s electron node
# Then prepend electron dir to PATH
# Then run
ELECTRON_RUN_AS_NODE=1 node build.js
Errors from esbuild-wasm on node.js 23:
panic: JavaScript error: Path is a directory: open returned ERR_FS_EISDIR (is a directory) /
goroutine 16 [running]:
syscall/js.Value.Call({{}, 0x7ff800010000000a, 0x812038}, {0x8c09a, 0x4}, {0x9452c0, 0x4, 0x6})
syscall/js/js.go:389 +0x31
syscall.fsCall({0x8c09a, 0x4}, {0x9afd98, 0x3, 0x3})
syscall/fs_js.go:519 +0x12
syscall.Open({0x8142d0, 0x1}, 0x0, 0x0)
syscall/fs_js.go:86 +0x1c
os.openFileNolog({0x8142d0, 0x1}, 0x0, 0x0)
os/file_unix.go:226 +0x17
os.OpenFile({0x8142d0, 0x1}, 0x0, 0x0)
os/file.go:326 +0x3
os.Open(...)
os/file.go:306
github.com/evanw/esbuild/internal/fs.(*realFS).readdir(0x846740, {0x8142d0, 0x1})
github.com/evanw/esbuild/internal/fs/fs_real.go:346 +0x8
github.com/evanw/esbuild/internal/fs.(*realFS).ReadDirectory(0x846740, {0x8142d0, 0x1})
github.com/evanw/esbuild/internal/fs/fs_real.go:146 +0x7
github.com/evanw/esbuild/internal/fs.(*zipFS).ReadDirectory(0x810d20, {0x8142d0, 0x1})
github.com/evanw/esbuild/internal/fs/fs_zip.go:191 +0x10
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x1})
github.com/evanw/esbuild/internal/resolver/resolver.go:1267 +0x12
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x1})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x6})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x6})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x12})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x12})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x16})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x16})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x34})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x34})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x38})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x38})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x40})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x40})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoUncached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x4c})
github.com/evanw/esbuild/internal/resolver/resolver.go:1258 +0xc
github.com/evanw/esbuild/internal/resolver.resolverQuery.dirInfoCached({0x8fac00, {0x3aa5f0, 0x1, 0x1}, 0x97b590, 0x0, 0x0}, {0x8142d0, 0x4c})
github.com/evanw/esbuild/internal/resolver/resolver.go:955 +0x6
github.com/evanw/esbuild/internal/resolver.(*resolverQuery).loadModuleSuffixesForSourceDir(0x9b33a0, {0x8142d0, 0x4c})
github.com/evanw/esbuild/internal/resolver/resolver.go:546 +0x8
github.com/evanw/esbuild/internal/resolver.(*Resolver).Resolve(0x8fac00, {0x8142d0, 0x4c}, {0x813140, 0xe}, 0x0)
github.com/evanw/esbuild/internal/resolver/resolver.go:483 +0x206
github.com/evanw/esbuild/internal/bundler.RunOnResolvePlugins({0x874370, 0x2, 0x2}, 0x8fac00, {0x8c8fc0, 0x80a780, 0x80a798, 0x810980, 0x4, 0x8c0930}, ...)
github.com/evanw/esbuild/internal/bundler/bundler.go:871 +0xe
github.com/evanw/esbuild/internal/bundler.(*scanner).addEntryPoints.func1(0x0, {{0x813140, 0xe}, {0x0, 0x0}, 0x1})
github.com/evanw/esbuild/internal/bundler/bundler.go:1636 +0x8
created by github.com/evanw/esbuild/internal/bundler.(*scanner).addEntryPoints
github.com/evanw/esbuild/internal/bundler/bundler.go:1629 +0xba
SIGILL case (exit code 1):
/home/kxxt/389-ds-base/src/cockpit/389-console/node_modules/esbuild-wasm/lib/main.js:983
reject(new Error(error2));
^
Error: The service was stopped
at /home/kxxt/389-ds-base/src/cockpit/389-console/node_modules/esbuild-wasm/lib/main.js:983:26
at responseCallbacks.<computed> (/home/kxxt/389-ds-base/src/cockpit/389-console/node_modules/esbuild-wasm/lib/main.js:612:9)
at Socket.afterClose (/home/kxxt/389-ds-base/src/cockpit/389-console/node_modules/esbuild-wasm/lib/main.js:603:28)
at Socket.emit (node:events:519:35)
at endReadableNT (node:internal/streams/readable:1701:12)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Tested combinations:
product | version | v8 version | channel | status |
---|---|---|---|---|
Electron | v30.5.1 | 12.4.254.20-electron.0 | riscv-forks | - |
Node.js | v22.13.0 | 12.4.254.21 | archriscv | PASS |
Electron | v31.4.0 | 12.6.228.30-electron.0 | riscv-forks | SIGILL |
Electron | v32.2.8 | 12.8.374.38-electron.0 | riscv-forks | PASS |
Node.js | v23.1.0 | 12.9.202.28 | archriscv | FAIL |
Node.js | nodejs/node@1263efd | 12.9.202.28 | Built from source | Sometimes SIGILL, Sometimes PASS |
Node.js | nodejs/node@1263efd with 3 v8 patches backported | 12.9.202.28 | Built from source | Sometimes SIGILL, Sometimes PASS |
Electron | v33.3.0 | 13.0.245.20-electron.0 | riscv-forks | PASS |
Electron | v34.0.1 | 13.2.152.27-electron.0 | riscv-forks | PASS |