yarnpkg / berry

📦🐈 Active development trunk for Yarn ⚒
https://yarnpkg.com
BSD 2-Clause "Simplified" License
7.34k stars 1.1k forks source link

failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory #4916

Open maggie44 opened 1 year ago

maggie44 commented 1 year ago

Self-service

Describe the bug

I am seeing failures when running yarn install on 3.2.2 (it continues on for many more packages, but chosen the below just as examples:

failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory

[balena-example]  failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
[balena-example]  
[balena-example]  ➤ YN0001: │ RangeError: @cspotcode/source-map-support@npm:0.8.1: WebAssembly.Instance(): Out of memory: wasm memory
[balena-example]      at Sh (/build-context/.yarn/releases/yarn-3.2.2.cjs:196:231902)
[balena-example]      at vh (/build-context/.yarn/releases/yarn-3.2.2.cjs:196:232663)
[balena-example]      at /build-context/.yarn/releases/yarn-3.2.2.cjs:198:48232
[balena-example]      at D5 (/build-context/.yarn/releases/yarn-3.2.2.cjs:392:17260)
[balena-example]      at fn (/build-context/.yarn/releases/yarn-3.2.2.cjs:392:17295)
[balena-example]      at Object.iNe (/build-context/.yarn/releases/yarn-3.2.2.cjs:423:4258)
[balena-example]      at async Qo.fetchFromNetwork (/build-context/.yarn/releases/yarn-3.2.2.cjs:710:25275)
[balena-example]      at async p (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:1414)
[balena-example]      at async m (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:1769)
[balena-example]      at async y (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:2778)
[balena-example]  ➤ YN0013: │ aproba@npm:2.0.0 can't be found in the cache and will be fetched from the remote registry
[balena-example]  failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
[balena-example]  
[balena-example]  ➤ YN0001: │ RangeError: @humanwhocodes/module-importer@npm:1.0.1: WebAssembly.Instance(): Out of memory: wasm memory
[balena-example]      at Sh (/build-context/.yarn/releases/yarn-3.2.2.cjs:196:231902)
[balena-example]      at vh (/build-context/.yarn/releases/yarn-3.2.2.cjs:196:232663)
[balena-example]      at /build-context/.yarn/releases/yarn-3.2.2.cjs:198:48232
[balena-example]      at D5 (/build-context/.yarn/releases/yarn-3.2.2.cjs:392:17260)
[balena-example]      at fn (/build-context/.yarn/releases/yarn-3.2.2.cjs:392:17295)
[balena-example]      at Object.iNe (/build-context/.yarn/releases/yarn-3.2.2.cjs:423:4258)
[balena-example]      at async Qo.fetchFromNetwork (/build-context/.yarn/releases/yarn-3.2.2.cjs:710:25275)
[balena-example]      at async p (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:1414)
[balena-example]      at async m (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:1769)
[balena-example]      at async y (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:2778)
[balena-example]  ➤ YN0013: │ are-we-there-yet@npm:3.0.1 can't be found in the cache and will be fetched from the remote registry
[balena-example]  failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
[balena-example]  
[balena-example]  ➤ YN0001: │ RangeError: @tsconfig/node10@npm:1.0.9: WebAssembly.Instance(): Out of memory: wasm memory
[balena-example]      at Sh (/build-context/.yarn/releases/yarn-3.2.2.cjs:196:231902)
[balena-example]      at vh (/build-context/.yarn/releases/yarn-3.2.2.cjs:196:232663)
[balena-example]      at /build-context/.yarn/releases/yarn-3.2.2.cjs:198:48232
[balena-example]      at D5 (/build-context/.yarn/releases/yarn-3.2.2.cjs:392:17260)
[balena-example]      at fn (/build-context/.yarn/releases/yarn-3.2.2.cjs:392:17295)
[balena-example]      at Object.iNe (/build-context/.yarn/releases/yarn-3.2.2.cjs:423:4258)
[balena-example]      at async Qo.fetchFromNetwork (/build-context/.yarn/releases/yarn-3.2.2.cjs:710:25275)
[balena-example]      at async p (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:1414)
[balena-example]      at async m (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:1769)
[balena-example]      at async y (/build-context/.yarn/releases/yarn-3.2.2.cjs:429:2778)
[balena-example]  ➤ YN0013: │ arg@npm:4.1.3 can't be found in the cache and will be fetched from the remote registry

...

It occurs only when doing builds on a balena Cloud builder which uses Docker to build images, and only when using ARMv8 Docker images (all x64 and arm64 work fine) (node:18.9.1-alpine3.16, but tried others back to 14). There is plenty of memory available (even more available on the ARMv8 builders than the x64 and arm64). When I do the same yarn install on a ARMv8 device directly it works ok, it seems to be only related to Docker buildx builds.

This is a really difficult one to provide a means for people to reproduce and debug, so logging instead here an issue to see if anyone might have any ideas on what to explore, or thoughts that come to mind on why this is failing. Here is the repo using to test which generates the issue: https://github.com/maggie0002/yarn-test

I have been reading a lot about the ZipFS and memory allocation, I am wondering if that could be related? This issue doesn't occur on Yarn 2 or Yarn classic, but does occur on all Yarn 3 including latest.

To reproduce

Not really reproducible without registering with balena and using the cloud builders. Here is the repo being pushed though: https://github.com/maggie0002/yarn-test

Environment

System:
OS: Linux 5.4 Alpine Linux
CPU: (64) arm ARMv8 Processor rev 2 (v8l)
Binaries:
Node: 18.9.1 - /tmp/xfs-7a53860c/node
Yarn: 2.4.3 - /tmp/xfs-7a53860c/yarn
npm: 8.19.1 - /usr/local/bin/npm

Additional context

No response

RDIL commented 1 year ago

Try giving Node.js more memory.

maggie44 commented 1 year ago

Try giving Node.js more memory.

I have tried adding 16000 and 32000 but still the same error. Because it is erroring on the yarn install I added it as an env var in the Dockerfile like so:

ARG NODE_OPTIONS=--max-old-space-size=32000

On one of the attempts I did get a new stack trace, but wasn't able to reproduce it with these memory settings again:

➤ YN0001: │ Error: Couldn't allocate enough memory
    at ZipFS.allocateBuffer ([worker eval]:1:42071)
    at ZipFS.allocateSource ([worker eval]:1:42507)
    at ZipFS.setFileSource ([worker eval]:1:42781)
    at ZipFS.writeFileSync ([worker eval]:1:47716)
    at extractArchiveTo ([worker eval]:1:463001)
    at async MessagePort.<anonymous> ([worker eval]:1:464372)
➤ YN0001: │ Libzip Error: Zlib error: insufficient memory
    at ZipFS.makeLibzipError ([worker eval]:1:32035)
    at ZipFS.saveAndClose ([worker eval]:1:34328)
    at MessagePort.<anonymous> ([worker eval]:1:464404)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
RDIL commented 1 year ago

Huh, that's really strange, that shouldn't be nearly enough packages to trigger an OOM with that much RAM being given.

nblumhardt commented 1 year ago

We were hitting this error in the same call stack, and a few others. Turned out that our CI machine had 32-bit node installed (4 GB addressable memory limit). Switching to 64-bit node fixed the issue.

maggie44 commented 1 year ago

We were hitting this error in the same call stack, and a few others. Turned out that our CI machine had 32-bit node installed (4 GB addressable memory limit). Switching to 64-bit node fixed the issue.

That would make sense. Except I am trying to do 32bit builds to switching to 64bit isn't an option for me.

RDIL commented 1 year ago

@maggie0002 what are you trying to build that requires 32 bit system?

maggie44 commented 1 year ago

For IoT hardware.

RDIL commented 1 year ago

@maggie0002 is cross-compiling not feasible? Can you install on a 64-bit machine (Docker?) then copy over or something like that?

(IoT and native code are not areas I have a lot of experience with, pardon my ignorance)

maggie44 commented 1 year ago

Same issue on 64bit. Tried it locally on my M2 Mac, and on a Github runner, amd64 Ubuntu. Seems to be related to all armv7:

docker build . --platform linux/arm/v7 --progress plain
#21 75.77 ➤ YN0013: │ whatwg-url@npm:5.0.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ webidl-conversions@npm:3.0.1 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ webidl-conversions@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ webpack-merge@npm:5.8.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ whatwg-url@npm:5.0.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ whatwg-url@npm:7.1.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ webidl-conversions@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ webpack-merge@npm:5.8.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ whatwg-url@npm:5.0.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ whatwg-url@npm:7.1.0 can't be found in the cache and will be fetched from the remote registry
#21 75.77 ➤ YN0013: │ which-boxed-primitive@npm:1.0.2 can't be found in the cache and will be fetched from the remote registry
#21 75.98 failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 75.99 ➤ YN0001: │ RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 75.99     at z ([worker eval]:1:282761)
#21 75.99     at [worker eval]:1:331323
#21 75.99     at e ([worker eval]:1:331340)
#21 75.99     at getLibzipSync ([worker eval]:1:339972)
#21 75.99     at getLibzipPromise ([worker eval]:1:340034)
#21 75.99     at MessagePort.<anonymous> ([worker eval]:1:464293)
#21 75.99     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:731:20)
#21 75.99     at exports.emitMessage (node:internal/per_context/messageport:23:28)
#21 76.06 ➤ YN0013: │ which@npm:2.0.2 can't be found in the cache and will be fetched from the remote registry
#21 76.07 ➤ YN0013: │ wide-align@npm:1.1.5 can't be found in the cache and will be fetched from the remote registry
#21 76.10 ➤ YN0013: │ wildcard@npm:2.0.0 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ winston-transport@npm:4.5.0 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ winston@npm:3.8.2 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ wide-align@npm:1.1.5 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ wildcard@npm:2.0.0 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ winston-transport@npm:4.5.0 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ winston@npm:3.8.2 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ word-wrap@npm:1.2.3 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ wildcard@npm:2.0.0 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ winston-transport@npm:4.5.0 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ winston@npm:3.8.2 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ word-wrap@npm:1.2.3 can't be found in the cache and will be fetched from the remote registry
#21 76.17 ➤ YN0013: │ workbox-background-sync@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ winston-transport@npm:4.5.0 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ winston@npm:3.8.2 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ word-wrap@npm:1.2.3 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-background-sync@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-broadcast-update@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ winston@npm:3.8.2 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ word-wrap@npm:1.2.3 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-background-sync@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-broadcast-update@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-build@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ word-wrap@npm:1.2.3 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-background-sync@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-broadcast-update@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-build@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.36 ➤ YN0013: │ workbox-cacheable-response@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-background-sync@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-broadcast-update@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-build@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-cacheable-response@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-core@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-broadcast-update@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-build@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-cacheable-response@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-core@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 76.88 ➤ YN0013: │ workbox-expiration@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.07 ➤ YN0013: │ workbox-build@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.07 ➤ YN0013: │ workbox-cacheable-response@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.07 ➤ YN0013: │ workbox-core@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.07 ➤ YN0013: │ workbox-expiration@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.07 ➤ YN0013: │ workbox-google-analytics@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.14 ➤ YN0013: │ workbox-cacheable-response@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.14 ➤ YN0013: │ workbox-core@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.14 ➤ YN0013: │ workbox-expiration@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.14 ➤ YN0013: │ workbox-google-analytics@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.14 ➤ YN0013: │ workbox-navigation-preload@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.24 ➤ YN0013: │ workbox-core@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.24 ➤ YN0013: │ workbox-expiration@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.25 ➤ YN0013: │ workbox-google-analytics@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.25 ➤ YN0013: │ workbox-navigation-preload@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.25 ➤ YN0013: │ workbox-precaching@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-expiration@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-google-analytics@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-navigation-preload@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-precaching@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-range-requests@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-google-analytics@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-navigation-preload@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-precaching@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-range-requests@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.34 ➤ YN0013: │ workbox-recipes@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.66 ➤ YN0013: │ workbox-navigation-preload@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.66 ➤ YN0013: │ workbox-precaching@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.66 ➤ YN0013: │ workbox-range-requests@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.66 ➤ YN0013: │ workbox-recipes@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.66 ➤ YN0013: │ workbox-routing@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.75 ➤ YN0013: │ workbox-precaching@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.75 ➤ YN0013: │ workbox-range-requests@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.75 ➤ YN0013: │ workbox-recipes@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.75 ➤ YN0013: │ workbox-routing@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.75 ➤ YN0013: │ workbox-strategies@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.77 ➤ YN0013: │ workbox-range-requests@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.77 ➤ YN0013: │ workbox-recipes@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.77 ➤ YN0013: │ workbox-routing@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.77 ➤ YN0013: │ workbox-strategies@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.77 ➤ YN0013: │ workbox-streams@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.79 ➤ YN0013: │ workbox-recipes@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.79 ➤ YN0013: │ workbox-routing@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.79 ➤ YN0013: │ workbox-strategies@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.79 ➤ YN0013: │ workbox-streams@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.79 ➤ YN0013: │ workbox-sw@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-routing@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-strategies@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-streams@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-sw@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-window@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-strategies@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-streams@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-sw@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-window@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ wrap-ansi@npm:7.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-streams@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-sw@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ workbox-window@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ wrap-ansi@npm:7.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.85 ➤ YN0013: │ wrappy@npm:1.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.91 ➤ YN0013: │ workbox-sw@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.91 ➤ YN0013: │ workbox-window@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.91 ➤ YN0013: │ wrap-ansi@npm:7.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.91 ➤ YN0013: │ wrappy@npm:1.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.91 ➤ YN0013: │ xml-name-validator@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ workbox-window@npm:6.5.4 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ wrap-ansi@npm:7.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ wrappy@npm:1.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ xml-name-validator@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ xmlbuilder@npm:15.1.1 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ wrap-ansi@npm:7.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.92 ➤ YN0013: │ wrappy@npm:1.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.93 ➤ YN0013: │ xml-name-validator@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.93 ➤ YN0013: │ xmlbuilder@npm:15.1.1 can't be found in the cache and will be fetched from the remote registry
#21 77.93 ➤ YN0013: │ xtend@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ wrappy@npm:1.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ xml-name-validator@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ xmlbuilder@npm:15.1.1 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ xtend@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ y18n@npm:5.0.8 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ xml-name-validator@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ xmlbuilder@npm:15.1.1 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ xtend@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ y18n@npm:5.0.8 can't be found in the cache and will be fetched from the remote registry
#21 77.99 ➤ YN0013: │ yallist@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 78.05 ➤ YN0013: │ xmlbuilder@npm:15.1.1 can't be found in the cache and will be fetched from the remote registry
#21 78.05 ➤ YN0013: │ xtend@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 78.05 ➤ YN0013: │ y18n@npm:5.0.8 can't be found in the cache and will be fetched from the remote registry
#21 78.05 ➤ YN0013: │ yallist@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 78.05 ➤ YN0013: │ yaml-eslint-parser@npm:0.3.2 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ xtend@npm:4.0.2 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ y18n@npm:5.0.8 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yallist@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yaml-eslint-parser@npm:0.3.2 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yaml-eslint-parser@npm:1.1.0 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ y18n@npm:5.0.8 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yallist@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yaml-eslint-parser@npm:0.3.2 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yaml-eslint-parser@npm:1.1.0 can't be found in the cache and will be fetched from the remote registry
#21 78.34 ➤ YN0013: │ yaml@npm:1.10.2 can't be found in the cache and will be fetched from the remote registry
#21 78.54 ➤ YN0013: │ yallist@npm:4.0.0 can't be found in the cache and will be fetched from the remote registry
#21 78.54 ➤ YN0013: │ yaml-eslint-parser@npm:0.3.2 can't be found in the cache and will be fetched from the remote registry
#21 78.54 ➤ YN0013: │ yaml-eslint-parser@npm:1.1.0 can't be found in the cache and will be fetched from the remote registry
#21 78.54 ➤ YN0013: │ yaml@npm:1.10.2 can't be found in the cache and will be fetched from the remote registry
#21 78.54 ➤ YN0013: │ yaml@npm:2.1.3 can't be found in the cache and will be fetched from the remote registry
#21 79.00 failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 79.01 failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 79.05 ➤ YN0001: │ RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 79.05     at z ([worker eval]:1:282761)
#21 79.05     at [worker eval]:1:331323
#21 79.05     at e ([worker eval]:1:331340)
#21 79.05     at getLibzipSync ([worker eval]:1:339972)
#21 79.05     at getLibzipPromise ([worker eval]:1:340034)
#21 79.05     at MessagePort.<anonymous> ([worker eval]:1:464293)
#21 79.05     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:731:20)
#21 79.05     at exports.emitMessage (node:internal/per_context/messageport:23:28)
#21 79.06 ➤ YN0001: │ RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 79.06     at z ([worker eval]:1:282761)
#21 79.06     at [worker eval]:1:331323
#21 79.06     at e ([worker eval]:1:331340)
#21 79.06     at getLibzipSync ([worker eval]:1:339972)
#21 79.06     at getLibzipPromise ([worker eval]:1:340034)
#21 79.06     at MessagePort.<anonymous> ([worker eval]:1:464293)
#21 79.06     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:731:20)
#21 79.06     at exports.emitMessage (node:internal/per_context/messageport:23:28)
#21 79.45 ➤ YN0013: │ yargs-parser@npm:21.1.1 can't be found in the cache and will be fetched from the remote registry
#21 79.66 ➤ YN0013: │ yargs@npm:17.6.0 can't be found in the cache and will be fetched from the remote registry
#21 79.66 ➤ YN0013: │ yauzl@npm:2.10.0 can't be found in the cache and will be fetched from the remote registry
#21 80.91 ➤ YN0013: │ yn@npm:3.1.1 can't be found in the cache and will be fetched from the remote registry
#21 81.19 ➤ YN0013: │ yocto-queue@npm:0.1.0 can't be found in the cache and will be fetched from the remote registry
#21 81.22 ➤ YN0013: │ yargs@npm:17.6.0 can't be found in the cache and will be fetched from the remote registry
#21 81.22 ➤ YN0013: │ yauzl@npm:2.10.0 can't be found in the cache and will be fetched from the remote registry
#21 81.22 ➤ YN0013: │ yn@npm:3.1.1 can't be found in the cache and will be fetched from the remote registry
#21 81.22 ➤ YN0013: │ yocto-queue@npm:0.1.0 can't be found in the cache and will be fetched from the remote registry
#21 81.22 ➤ YN0013: │ zip-stream@npm:4.1.0 can't be found in the cache and will be fetched from the remote registry
#21 82.00 failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 82.03 ➤ YN0001: │ RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 82.03     at z ([worker eval]:1:282761)
#21 82.03     at [worker eval]:1:331323
#21 82.03     at e ([worker eval]:1:331340)
#21 82.03     at getLibzipSync ([worker eval]:1:339972)
#21 82.03     at getLibzipPromise ([worker eval]:1:340034)
#21 82.03     at MessagePort.<anonymous> ([worker eval]:1:464293)
#21 82.03     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:731:20)
#21 82.03     at exports.emitMessage (node:internal/per_context/messageport:23:28)
#21 82.03 failed to compile wasm module: RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 82.03 ➤ YN0001: │ RangeError: WebAssembly.Instance(): Out of memory: wasm memory
#21 82.03     at z ([worker eval]:1:282761)
#21 82.03     at [worker eval]:1:331323
#21 82.03     at e ([worker eval]:1:331340)
#21 82.03     at getLibzipSync ([worker eval]:1:339972)
#21 82.03     at getLibzipPromise ([worker eval]:1:340034)
#21 82.03     at MessagePort.<anonymous> ([worker eval]:1:464293)
#21 82.03     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:731:20)
#21 82.03     at exports.emitMessage (node:internal/per_context/messageport:23:28)
maggie44 commented 1 year ago

Maybe related: https://github.com/yarnpkg/berry/issues/3972

32bit but windows in that issue

jaulz commented 1 year ago

Did you find a solution? I am running into the same and use the x64 version.

cxcorp commented 1 year ago

If you need a quick and dirty workaround, reducing the ZipOpenFS maxOpenFiles by editing the yarn .cjs worked for me: https://github.com/yarnpkg/berry/issues/3972#issuecomment-1589125670