Pumpkin-MC/Pumpkin · error · LoaderError
Runtime error
Error message
Runtime error: {0} What it means
This is LoaderError::RuntimeError(String). It means a previously loaded and initialized plugin raised an error at runtime — during event handling, command execution, or another callback — and the loader surfaced it wrapped in this variant with the message payload.
Solutions
- Read the inner message to identify which plugin and operation failed
- Reproduce the trigger (specific command/event) and report it to the plugin author
- Update the plugin to a fixed version or remove/disable it
- Check server and plugin versions for compatibility
Example fix
null
Defensive patterns
Strategy: try-catch
Validate before calling
null
Type guard
null
Try / catch
// isolate plugin callbacks so a runtime error cannot take down the server
let result = std::panic::catch_unwind(|| plugin.on_event(evt));
if let Err(e) = result { warn!("plugin raised at runtime: {e:?}; disabling plugin"); } Prevention
- Report plugin runtime errors with the trigger to the plugin author
- Keep plugins updated to versions matching your server build
- Disable failing plugins rather than letting them error every tick
When it happens
Trigger: Raised when a plugin's event handler, command handler, or scheduled task returns an error (or the loader's plugin call wrapper catches one) while the server is running.
Common situations: Plugin bug triggered by a specific event or command; plugin state corrupted after server reload; plugin interacting with world/entity data in an unexpected way; concurrency issues in the plugin.
Related errors
- Failed to load library
- Missing plugin metadata
- Missing plugin entrypoint
- Plugin initialization failed
- Invalid loader data
AI-assisted analysis of Pumpkin-MC/Pumpkin@8d4639e25a (2026-09-09).
Data as JSON: /api/errors/26dd062696a99679.
Report an issue: GitHub.
Appendix: source
Thrown at crates/pumpkin/src/plugin/loader/mod.rs:51
fn can_unload(&self) -> bool;
}
/// Unified loader error type
#[derive(Error, Debug)]
pub enum LoaderError {
#[error("Failed to load library: {0}")]
LibraryLoad(String),
#[error("Missing plugin metadata")]
MetadataMissing,
#[error("Missing plugin entrypoint")]
EntrypointMissing,
#[error("Plugin initialization failed: {0}")]
InitializationFailed(String),
#[error("Runtime error: {0}")]
RuntimeError(String),
#[error("Invalid loader data")]
InvalidLoaderData,
#[error(
"Plugin was built for an incompatible API version. Please rebuild it against this Pumpkin build."
)]
ApiVersionMissing,
#[error(
"Plugin API version mismatch (plugin {plugin_version}, server {server_version}). Please rebuild it against this Pumpkin build."
)]
ApiVersionMismatch {
plugin_version: u32,
server_version: u32,
},
View on GitHub (pinned to 8d4639e25a)