plugin_awaken_panicked
Diagnostic `nanook::plugin::awaken_panicked`
Summary
plugin `{0}` panicked while constructing the {1} instance: {2}
Help
make {1}::default() infallible; defer fallible work to the first call
Details
When this fires
The plugin's awaken entry point ran but unwound. PluginHost::invoke_awaken catches the panic inside the cdylib (the unwind never crosses the dlopen boundary) and surfaces the message here. Most commonly this is a Default::default() impl that panics on missing env vars, an unwrap() on a config field, or a static init that touches the filesystem before the plugin is configured.
What to check
- Make
T::default()infallible. Defer anything that can fail (opening files, parsing env, network) to the first real call on the trait. - Read the panic message in the error tail, that's the actual
panic!payload from the cdylib. - If the panic comes from a third-party crate's
lazy_static/OnceCell, wrap it in a fallible init path.