I switched my codebase to the experimental COI implementation, and all extension loading began to fail with:
Error: IO Error: Extension "https://extensions.duckdb.org/v1.1.2/wasm_threads/parquet.duckdb_extension.wasm" could not be loaded: Could not load dynamic lib: parquet
LinkError: WebAssembly.Instance(): Import #3541 "env" "memory": mismatch in shared state of memory, declared = 0, imported = 1
My instantiation is as follows:
import * as duckdb from '@duckdb/duckdb-wasm';
import duckdb_pthread_worker from "@duckdb/duckdb-wasm/dist/duckdb-browser-coi.pthread.worker.js?url";
import coi_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-coi.worker.js?url';
import eh_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js?url';
import mvp_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url';
import duckdb_wasm_coi from '@duckdb/duckdb-wasm/dist/duckdb-coi.wasm?url';
import duckdb_wasm_eh from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm?url';
import duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm?url';
const MANUAL_BUNDLES: duckdb.DuckDBBundles = {
mvp: { mainModule: duckdb_wasm, mainWorker: mvp_worker },
eh: { mainModule: duckdb_wasm_eh, mainWorker: eh_worker },
coi: { mainModule: duckdb_wasm_coi, mainWorker: coi_worker, pthreadWorker: duckdb_pthread_worker },
};
const logger = new duckdb.ConsoleLogger();
const bundle = await duckdb.selectBundle(MANUAL_BUNDLES);
const worker = new Worker(bundle?.mainWorker as string);
const db = new duckdb.AsyncDuckDB(logger, worker);
await db.instantiate(bundle?.mainModule as string, bundle?.pthreadWorker as string);
// Confirmed that this logs the COI modules
console.log('Using DuckDB bundle: ', bundle);
(Interestingly, I get a different error when I try to load the spatial extension: the fetch call errors with a 403 forbidden, this may be a different error entirely)
To Reproduce
See above instantiation code. I've tested this on 1.92.0, 1.29.1-dev13.0, 1.28.1-dev297.0, and 1.28.1.
Browser/Environment:
Chrome 130
Device:
Macbook Pro
DuckDB-Wasm Version:
1.92.0, 1.29.1-dev13.0, 1.28.1-dev297.0, and 1.28.1
DuckDB-Wasm Deployment:
Loaded locally, installed via NPM, extensions from extensions.duckdb.org
What happens?
I switched my codebase to the experimental COI implementation, and all extension loading began to fail with:
My instantiation is as follows:
(Interestingly, I get a different error when I try to load the
spatial
extension: the fetch call errors with a 403 forbidden, this may be a different error entirely)To Reproduce
See above instantiation code. I've tested this on
1.92.0
,1.29.1-dev13.0
,1.28.1-dev297.0
, and1.28.1
.Browser/Environment:
Chrome 130
Device:
Macbook Pro
DuckDB-Wasm Version:
1.92.0
,1.29.1-dev13.0
,1.28.1-dev297.0
, and1.28.1
DuckDB-Wasm Deployment:
Loaded locally, installed via NPM, extensions from extensions.duckdb.org
Full Name:
Adam Miller
Affiliation:
Universe