clockworklabs/SpacetimeDB · error
unable to serialize typespace
Error message
unable to serialize typespace
What it means
Error "unable to serialize typespace" thrown in clockworklabs/SpacetimeDB.
Source
Thrown at crates/bindings/src/rt.rs:988
/// as it is being changed by the schema proposal.
///
/// The `ModuleDef` is used to define tables, constraints, indexes, reducers, etc.
/// This affords the module the opportunity
/// to define and, to a limited extent, alter the schema at initialization time,
/// including when modules are updated (re-publishing).
/// After initialization, the module cannot alter the schema.
#[unsafe(no_mangle)]
extern "C" fn __describe_module__(description: BytesSink) {
// Collect the `module`.
let mut module = ModuleBuilder::default();
for describer in &mut *DESCRIBERS.lock().unwrap() {
describer(&mut module)
}
// Serialize the module to bsatn.
let module_def = module.inner.finish();
let module_def = RawModuleDef::V10(module_def);
let bytes = bsatn::to_vec(&module_def).expect("unable to serialize typespace");
// Write the sets of reducers, procedures and views.
REDUCERS.set(module.reducers).ok().unwrap();
PROCEDURES.set(module.procedures).ok().unwrap();
#[cfg(feature = "unstable")]
HTTP_HANDLERS.set(module.http_handlers).ok().unwrap();
VIEWS.set(module.views).ok().unwrap();
ANONYMOUS_VIEWS.set(module.views_anon).ok().unwrap();
// Write the bsatn data into the sink.
write_to_sink(description, &bytes);
}
// TODO(1.0): update `__call_reducer__` docs + for `BytesSink`.
/// Called by the host to execute a reducer
/// when the `sender` calls the reducer identified by `id` at `timestamp` with `args`.
///View on GitHub (pinned to 524b4487d9)
When it happens
Trigger: Thrown at crates/bindings/src/rt.rs:988 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16).
Data as JSON: /api/errors/93c30dff03e0e3c0.
Report an issue: GitHub.