nautechsystems/nautilus_trader · error
disconnect readiness timeout while waiting for engine discon
Error message
disconnect readiness timeout while waiting for engine disconnections
What it means
Shutdown timeout in await_engines_disconnected: the data and execution engines did not report full disconnection within the configured grace period; the log includes the engines' check_disconnected flags for diagnosis.
Source
Thrown at crates/live/src/node/mod.rs:793
}
let now = dst::time::Instant::now();
if now >= deadline {
break;
}
dst::time::sleep(interval.min(deadline - now)).await;
}
log::error!(
"Timed out ({:?}) waiting for engines to disconnect\n\
DataEngine.check_disconnected() == {}\n\
ExecEngine.check_disconnected() == {}",
timeout,
self.kernel.data_engine().check_disconnected(),
self.kernel.exec_engine().borrow().check_disconnected(),
);
anyhow::bail!("disconnect readiness timeout while waiting for engine disconnections")
}
fn log_connection_status(&self) {
let data_status = self.kernel.data_client_connection_status();
let exec_status = self.kernel.exec_client_connection_status();
let mut rows: Vec<ClientStatus> = Vec::new();
for (client_id, connected) in data_status {
rows.push(ClientStatus {
client: client_id.to_string(),
client_type: "Data",
connected,
});
}
for (client_id, connected) in exec_status {
rows.push(ClientStatus {View on GitHub (pinned to 18893faf8b)
Solutions
- Increase the disconnect/shutdown timeout configuration
- Inspect the logged DataEngine/ExecEngine disconnect flags to find which clients are stuck
- Verify venue clients respond to disconnect commands
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/live/src/node/mod.rs:793 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of nautechsystems/nautilus_trader@18893faf8b (2026-09-08).
Data as JSON: /api/errors/df04c81f5563d624.
Report an issue: GitHub.