Skip to content

Error EOF when publishing json to router #2102

@xcasas

Description

@xcasas

Describe the bug

I am having an error "Read error on TCP link [...] early eof at io/zenoh-links/zenoh-link-tcp/src/unicast.rs:158, and I am not sure what it can be the issue. I attach the logs and the code that publishes the json file into a router:

zenoh-router-1  | 2025-08-26T09:42:29.907653Z DEBUG acc-0 ThreadId(08) zenoh_transport::unicast::establishment::accept: New transport link accepted from ab6d4c89d18a3c1e9e44940c29bf9c86 to 3d4d10c47d56bcbf0db580111c9fed: TransportLinkUnicast { link: Link { src: tcp/[::ffff:192.168.10.10]:7447, dst: tcp/[::ffff:192.168.10.1]:41044, mtu: 65100, is_reliable: true, is_streamed: true }, config: TransportLinkUnicastConfig { direction: Inbound, batch: BatchConfig { mtu: 65100, is_streamed: true, is_compression: false }, priorities: None, reliability: None } }
zenoh-router-1  | 2025-08-26T09:42:30.399787Z DEBUG  rx-1 ThreadId(11) zenoh::net::routing::dispatcher::interests: Face{7, ab6d4c89d18a3c1e9e44940c29bf9c86} Declare interest 1 (colmena_service_definitions/AgentControl)
zenoh-router-1  | 2025-08-26T09:42:32.400743Z DEBUG  rx-1 ThreadId(11) zenoh_transport::unicast::universal::link: RX task failed: Read error on TCP link [::ffff:192.168.10.10]:7447 => [::ffff:192.168.10.1]:41044: early eof at io/zenoh-links/zenoh-link-tcp/src/unicast.rs:158.
zenoh-router-1  | 2025-08-26T09:42:32.401281Z DEBUG net-0 ThreadId(07) zenoh_transport::unicast::universal::transport: [3d4d10c47d56bcbf0db580111c9fed] Closing transport with peer: ab6d4c89d18a3c1e9e44940c29bf9c86
zenoh-router-1  | 2025-08-26T09:42:32.401523Z DEBUG  rx-1 ThreadId(11) zenoh_transport::unicast::universal::transport: [3d4d10c47d56bcbf0db580111c9fed] Closing transport with peer: ab6d4c89d18a3c1e9e44940c29bf9c86
zenoh-router-1  | 2025-08-26T09:42:32.401701Z DEBUG net-0 ThreadId(07) zenoh::net::routing::dispatcher::face: Close Face{7, ab6d4c89d18a3c1e9e44940c29bf9c86}
def publish_service_definition(_args, service_definition: Dict[str, Any]):
    service_name = service_definition["id"]["value"]
    print(f"Publishing service definition for {service_name} to Zenoh")
    print(json.dumps(service_definition, indent=2))

    script_dir = os.path.dirname(os.path.abspath(__file__))
    zenoh_config_path = os.path.join(script_dir, 'zenoh_config.json5')

    with zenoh.open(zenoh.Config.from_file(zenoh_config_path)) as session:
        key = f"colmena_service_definitions/{service_name}"
        pub = session.declare_publisher(
            key,
            reliability=zenoh.Reliability.RELIABLE
        )
        pub.put(json.dumps(service_definition))
        time.sleep(2)

To reproduce

Probably not a bug...

System info

ubuntu 20.04 amd64

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions