Current Behavior
The native binding @nx/nx-linux-arm64-gnu statically links jemalloc compiled with 4K page size assumption. On aarch64 Linux systems with 16K page size (e.g., Asahi Linux on Apple Silicon), any Nx command immediately aborts:
<jemalloc>: Unsupported system page size
<jemalloc>: arena_new: allocation failed
<jemalloc>: background thread creation failed
<jemalloc>: Unsupported system page size
<jemalloc>: os_pages_map: mmap error
<jemalloc>: arena_new: malloc_extent_alloc failed
<jemalloc>: Unsupported system page size
<jemalloc>: os_overcommit_proc: /proc/sys/vm/overcommit_memory: Cannot allocate memory
<jemalloc>: Unsupported system page size
memory allocation of 576 bytes failed
Aborted (core dumped)
Even nx --version crashes. The WASI fallback (NAPI_RS_FORCE_WASI=1) partially works but fails with TypeError: WorkspaceContext is not a constructor, so it's not a viable workaround.
Expected Behavior
NX works on asahi linux.
GitHub Repo
No response
Steps to Reproduce
Have no other ideas how to test except run any nx command on such system.
Nx Report
❯ pnpm nx report
<jemalloc>: Unsupported system page size
memory allocation of 576 bytes failed
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Failure Logs
Package Manager Version
pnpm
Operating System
Additional Information
Any aarch64 Linux with page size > 4K — primarily Asahi Linux (Apple Silicon), but also some ARM server configurations (e.g., Ampere Altra with 64K pages).
jemalloc is compiled with --with-lg-page=12 (4K pages). On 16K page systems it refuses to operate. This is a known jemalloc limitation: jemalloc/jemalloc#467.
Current Behavior
The native binding @nx/nx-linux-arm64-gnu statically links jemalloc compiled with 4K page size assumption. On aarch64 Linux systems with 16K page size (e.g., Asahi Linux on Apple Silicon), any Nx command immediately aborts:
Even nx --version crashes. The WASI fallback (NAPI_RS_FORCE_WASI=1) partially works but fails with TypeError: WorkspaceContext is not a constructor, so it's not a viable workaround.
Expected Behavior
NX works on asahi linux.
GitHub Repo
No response
Steps to Reproduce
Have no other ideas how to test except run any nx command on such system.
Nx Report
Failure Logs
Package Manager Version
pnpm
Operating System
Additional Information
Any aarch64 Linux with page size > 4K — primarily Asahi Linux (Apple Silicon), but also some ARM server configurations (e.g., Ampere Altra with 64K pages).
jemalloc is compiled with --with-lg-page=12 (4K pages). On 16K page systems it refuses to operate. This is a known jemalloc limitation: jemalloc/jemalloc#467.