exo-explore/exo · error

cannot listen on port 0 yet

Error message

cannot listen on port 0 yet

What it means

Error "cannot listen on port 0 yet" thrown in exo-explore/exo.

Source

Thrown at rust/exo_rs/src/networking.rs:75

#[gen_stub_pymethods]
#[pymethods]
impl PyNetworkingHandle {
    // NOTE: `async fn`s here that use `.await` will wrap the future in `.allow_threads_py()`
    //       immediately beforehand to release the interpreter.
    //       SEE: https://pyo3.rs/v0.26.0/async-await.html#detaching-from-the-interpreter-across-await

    // ---- Lifecycle management methods ----

    #[staticmethod]
    pub fn new(
        identity: &str,
        namespace: &str,
        listen_port: u16,
        discovery_service_port: u16,
    ) -> PyResult<PyNetworkingHandle> {
        // todo: zenoh self assigned peers
        if listen_port == 0 {
            todo!("cannot listen on port 0 yet");
        }
        // create communication channels
        let (to_swarm, from_client) = mpsc::channel(1024);

        // get identity
        if !is_valid_zid(identity) {
            return Err(PyValueError::new_err(format!(
                "{identity} is not a valid zenoh identity"
            )));
        }

        // create networking swarm (within tokio context!! or it crashes)
        let swarm = pyo3_async_runtimes::tokio::get_runtime()
            .block_on(create_swarm(
                identity,
                namespace,
                from_client,
                listen_port,

View on GitHub (pinned to 21a54c5ea0)

When it happens

Trigger: Thrown at rust/exo_rs/src/networking.rs:75 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of exo-explore/exo@21a54c5ea0 (2026-08-26). Data as JSON: /api/errors/2fdfb279f6c08d29. Report an issue: GitHub.