wasmerio/wasmer · error
dynamic functions cannot be used in tables or as funcrefs
Error message
dynamic functions cannot be used in tables or as funcrefs
What it means
Error "dynamic functions cannot be used in tables or as funcrefs" thrown in wasmerio/wasmer.
Source
Thrown at lib/api/src/backend/sys/entities/function/mod.rs:648
params: Vec<RawValue>,
) -> Result<Box<[Value]>, RuntimeError> {
let trampoline = unsafe {
self.handle
.get(store.objects_mut().as_sys())
.anyfunc
.as_ptr()
.as_ref()
.call_trampoline
};
let mut results = vec![Value::null(); self.result_arity(store)];
self.call_wasm_raw(store, trampoline, params, &mut results)?;
Ok(results.into_boxed_slice())
}
pub(crate) fn vm_funcref(&self, store: &impl AsStoreRef) -> VMFuncRef {
let vm_function = self.handle.get(store.as_store_ref().objects().as_sys());
if vm_function.kind == VMFunctionKind::Dynamic {
panic!("dynamic functions cannot be used in tables or as funcrefs");
}
VMFuncRef(vm_function.anyfunc.as_ptr())
}
pub(crate) unsafe fn from_vm_funcref(store: &mut impl AsStoreMut, funcref: VMFuncRef) -> Self {
let signature = {
let anyfunc = unsafe { funcref.0.as_ref() };
store
.as_store_mut()
.engine()
.as_sys()
.lookup_signature(anyfunc.type_signature_hash)
.expect("Signature not found in store")
};
let vm_function = VMFunction {
anyfunc: MaybeInstanceOwned::Instance(funcref.0),
signature,
// All functions in tables are already Static (as dynamic functionsView on GitHub (pinned to 8c4b9ee9d3)
When it happens
Trigger: Thrown at lib/api/src/backend/sys/entities/function/mod.rs:648 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of wasmerio/wasmer@8c4b9ee9d3 (2026-09-01).
Data as JSON: /api/errors/062d292a1b92c669.
Report an issue: GitHub.