Skip to content

Conversation

@svetlyopet
Copy link

@svetlyopetsvetlyopet commented Jan 23, 2026

Description

Fixes1250

This PR tries to address the issue of the net.Listen() not being able to see that the requested port is already taken on MacOS.

This happens specifically on MacOS, when there is already a service bound to a port on the IPv6 localhost interface, but the port is free on the IPv4 localhost interface. The net.Listen() method sees that the port is open on the 127.0.0.1 interface, and binds to that one. When the user gets redirected to localhost in the browser, it can redirect to either one of the services using the same port on the different interfaces(seems like localhost resolving to the IPv6 is preferred).

Testing

I tested by running the following python service locally, and executing stackit auth login after that which replicates the issue and can be observed.

#!/usr/bin/env python3fromhttp.serverimportHTTPServer, SimpleHTTPRequestHandlerimportsocketHOST="::1"PORT=8000classIPv6HTTPServer(HTTPServer): address_family=socket.AF_INET6server=IPv6HTTPServer((HOST, PORT), SimpleHTTPRequestHandler) print(f"Serving on http://[{HOST}]:{PORT}") server.serve_forever()

Checklist

  • Issue was linked above
  • Code format was applied: make fmt
  • Examples were added / adjusted (see e.g. here)
  • Docs are up-to-date: make generate-docs (will be checked by CI)
  • Unit tests got implemented or updated
  • Unit tests are passing: make test (will be checked by CI)
  • No linter issues: make lint (will be checked by CI)

@svetlyopetsvetlyopet requested a review from a team as a code ownerJanuary 23, 2026 23:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

stackit auth login fails if something already runs on localhost:8000

1 participant

@svetlyopet