zellij-org/zellij · error · anyhow::Error
found no sender to send plugin instruction to
Error message
found no sender to send plugin instruction to
What it means
Error "found no sender to send plugin instruction to" thrown in zellij-org/zellij.
Solutions
- The receiving end has shut down; ensure the component is alive before sending.
- Treat this as a shutdown race; retry after restart or report if reproducible.
When it happens
Trigger: Occurs at zellij-server/src/plugins/zellij_exports.rs:2495 when the operation fails: "found no sender to send plugin instruction to". Currently there is no defensive handling preventing or contextualizing this failure before it surfaces.
Common situations: Typically happens during shutdown or crash of a companion thread.
AI-assisted analysis of zellij-org/zellij@5cb5df5cce (2026-08-19).
Data as JSON: /api/errors/541c10408424fa9b.
Report an issue: GitHub.
Appendix: source
Thrown at zellij-server/src/plugins/zellij_exports.rs:2495
})
.non_fatal();
}
fn set_timeout(env: &PluginEnv, secs: f64) {
let send_plugin_instructions = env.senders.to_plugin.clone();
let update_target = Some(env.plugin_id);
let client_id = env.client_id;
let plugin_name = env.name();
// Use tokio runtime for async I/O (timer operation)
get_tokio_runtime().spawn(async move {
let start_time = Instant::now();
tokio::time::sleep(Duration::from_secs_f64(secs)).await;
// FIXME: The way that elapsed time is being calculated here is not exact; it doesn't take into account the
// time it takes an event to actually reach the plugin after it's sent to the `wasm` thread.
let elapsed_time = Instant::now().duration_since(start_time).as_secs_f64();
send_plugin_instructions
.ok_or(anyhow!("found no sender to send plugin instruction to"))
.and_then(|sender| {
sender
.send(PluginInstruction::Update(vec![(
update_target,
Some(client_id),
Event::Timer(elapsed_time),
)]))
.to_anyhow()
})
.with_context(|| {
format!(
"failed to set host timeout of {secs} s for plugin {}",
plugin_name
)
})
.non_fatal();
});
}View on GitHub (pinned to 5cb5df5cce)