nautechsystems/nautilus_trader · error

failed to start external message bus ingress: {e}; failed to

Error message

failed to start external message bus ingress: {e}; failed to finalize startup abort: {finalize_err}

What it means

Composite failure during run startup: starting the external message bus ingress failed, and the follow-up attempt to abort/finalize the aborted startup also failed; both errors are reported because the node may not have fully torn down.

Source

Thrown at crates/live/src/node/mod.rs:1082

        let mut external_msgbus_rx = match self.take_external_ingress_receiver() {
            Ok(rx) => rx,
            Err(e) => {
                let result = self
                    .abort_startup("External message bus ingress failed to start")
                    .await;
                Self::drain_channels(
                    &mut time_evt_rx,
                    &mut system_evt_rx,
                    &mut system_cmd_rx,
                    &mut exec_evt_rx,
                    &mut exec_cmd_rx,
                    &mut data_evt_rx,
                    &mut data_cmd_rx,
                );
                log::info!("Event loop stopped");

                if let Err(finalize_err) = result {
                    anyhow::bail!(
                        "failed to start external message bus ingress: {e}; failed to finalize startup abort: {finalize_err}"
                    );
                }

                return Err(e);
            }
        };

        let stop_handle = self.handle.clone();
        let mut pending = PendingEvents::default();
        let mut startup_system_events = Vec::new();
        let mut startup_system_commands = Vec::new();
        let connection_deadline = dst::time::Instant::now() + self.config.timeout_connection;

        // Startup phase 1: Connect data clients and drain instrument events into cache.
        // This ensures the cache is populated before execution clients connect.
        let data_connect_result = drive_with_event_buffering(
            self.connect_data_phase(connection_deadline),

View on GitHub (pinned to 18893faf8b)

Solutions

  1. Fix the external message bus configuration and connectivity
  2. Manually stop the node if the abort failed, as state may be inconsistent
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at crates/live/src/node/mod.rs:1082 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of nautechsystems/nautilus_trader@18893faf8b (2026-09-08). Data as JSON: /api/errors/e2d01be2739d142b. Report an issue: GitHub.