ruvnet/ruflo · error
WASM module '${name}' already registered, skipping
Error message
WASM module '${name}' already registered, skipping What it means
Idempotence guard in WasmRegistry.register(): a bridge under the given name already exists, so the duplicate registration is skipped and the original bridge stays active. Harmless double-register, usually module re-initialization.
Source
Thrown at v3/plugins/ruvector-upstream/src/registry.ts:32
bridge: WasmBridge;
loadedAt?: Date;
lastUsed?: Date;
useCount: number;
}
/**
* WASM Module Registry
*/
export class WasmRegistry {
private modules: Map<string, RegistryEntry> = new Map();
private initPromises: Map<string, Promise<void>> = new Map();
/**
* Register a WASM bridge
*/
register(name: string, bridge: WasmBridge): void {
if (this.modules.has(name)) {
console.warn(`WASM module '${name}' already registered, skipping`);
return;
}
this.modules.set(name, {
bridge,
useCount: 0,
});
}
/**
* Get a WASM bridge by name
*/
async get<T = unknown>(name: string): Promise<WasmBridge<T> | null> {
const entry = this.modules.get(name);
if (!entry) {
return null;
}
View on GitHub (pinned to fa13ee4ad6)
Solutions
- Check for duplicate registration of the same WASM module name and register each module once.
- If re-registration is intentional, use an explicit replace/update API instead of relying on skip behavior.
- Verify module names are unique across plugins to avoid collisions.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: register() is called with a WASM module name already present in the registry (duplicate plugin init or repeated load); the duplicate registration is skipped.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/8ae2afdd7291172d.
Report an issue: GitHub.