perspective-dev/perspective · error

Memory64 perspective server wasm failed to load, falling…

Error message

Memory64 perspective server wasm failed to load, falling back to wasm32

What it means

Warning from server wasm selection: the memory64 build of perspective-server failed to compile/instantiate on this host, and because a wasm32 build is also registered, the loader logs this warning and materializes the wasm32 variant instead. If no wasm32 fallback existed, the original error would be rethrown instead of warned.

Solutions

  1. Verify the browser/runtime supports Memory64 (Chrome/Edge with memory64 enabled, recent versions)
  2. Re-enable wasm32 in the wasm registry so the fallback stays available
  3. Check that both perspective-server.memory64.wasm and the wasm32 artifact are served correctly
  4. If memory64 support is expected, test host_supports_memory64() and file an instantiation error report
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at rust/perspective-js/src/ts/perspective.browser.ts:145 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of perspective-dev/perspective@11c8238c0c (2026-09-09). Data as JSON: /api/errors/9ee83bb51dcddf8d. Report an issue: GitHub.

Appendix: source

Thrown at rust/perspective-js/src/ts/perspective.browser.ts:145

    // A lone `wasm64` registration is an explicit opt-in and is used as-is
    // regardless of the probe (an unsupporting host fails at instantiation,
    // which is the correct error).
    if (
        registry.wasm64 !== undefined &&
        (registry.wasm32 === undefined || host_supports_memory64())
    ) {
        try {
            return await materialize_server_wasm(
                registry.wasm64,
                registry.disable_stage_0,
            );
        } catch (e) {
            if (registry.wasm32 === undefined) {
                throw e;
            }

            console.warn(
                "Memory64 perspective server wasm failed to load, falling back to wasm32",
                e,
            );
        }
    }

    return await materialize_server_wasm(
        registry.wasm32!,
        registry.disable_stage_0,
    );
}

/**
 * Register the Perspective engine ("server") WebAssembly binary that backs
 * `worker()`.
 *
 * The single-argument form registers one binary of either bitness. The
 * object form registers a wasm32 and/or wasm64 (Memory64) binary; the wasm64

View on GitHub (pinned to 11c8238c0c)