Skip to content

OpenOCDDriver prevents parallel bootstrap on one exporter #1957

Description

@ozan956

When using the same Labgrid exporter for multiple boards, I encountered failures during parallel OpenOCD bootstrap operations.

Each board has its own OpenOCDDriver instance, but OpenOCD starts GDB(3333), telnet(4444), and TCL(6666) servers on the same default ports for every instance.

As soon as one board is already bootstrapping, OpenOCD for another board on the same exporter fails to bind one of these ports, for example:

Error: couldn't bind gdb to socket on port 3333: Address already in use

This makes parallel board testing on a shared exporter unreliable or impossible.

For Labgrid’s normal OpenOCDDriver workflow, these server ports are not useful anyways. The driver starts OpenOCD synchronously to execute bootstrap commands and does not offer a managed way to connect a GDB/telnet/TCL client or later stop a persistent OpenOCD server.

I propose disabling GDB, telnet, and TCL ports by default in OpenOCDDriver, before OpenOCD configuration files are processed. This avoids port conflicts for concurrent bootstrap operations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions