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.