Skip to content

Improve error message for errno.EADDRINUSE when trying to set up the listen socket #1523

@bdraco

Description

@bdraco

if ex.errno == errno.EADDRNOTAVAIL:

  File "/usr/local/bin/aioesphomeapi-discover", line 8, in <module>
    sys.exit(cli_entry_point())
             ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/aioesphomeapi/discover.py", line 73, in cli_entry_point
    asyncio.run(main())
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/aioesphomeapi/discover.py", line 56, in main
    aiozc = AsyncZeroconf()
            ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/zeroconf/asyncio.py", line 166, in __init__
    self.zeroconf = zc or Zeroconf(
                          ^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/zeroconf/_core.py", line 180, in __init__
    listen_socket, respond_sockets = create_sockets(interfaces, unicast, ip_version, apple_p2p=apple_p2p)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/zeroconf/_utils/net.py", line 358, in create_sockets
    listen_socket = new_socket(ip_version=ip_version, apple_p2p=apple_p2p, bind_addr=('',))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/zeroconf/_utils/net.py", line 248, in new_socket
    s.bind(bind_tup)
OSError: [Errno 98] Address already in use

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions