tracy
tracy copied to clipboard
UDP broadcast port 8086 reserved on Apple systems?
I ran into issue on macOS where Tracy profiler was unable to listen for UDP broadcast messages from clients on port 8086. More specifically, socket bind()
would fail with "error 48 address in use" even though the address reuse socket option (SO_REUSEADDR
) was enabled.
I found out that port 8086 was being used by the system for something, and that I could not even kill the related process. Rebooting the system did not help at first, but on the next day, after another reboot, port 8086 was free again. I am not sure what prompts the system to star using the port.
After some digging, it looks like Apple has the range of ports [8000, 8999] reserved for "Web service, iTunes Radio streams", whatever that means: https://support.apple.com/en-us/HT202944
In addition, port 8086 is also an officially assigned IANA port as of 2008 for "Distributed SCADA Networking Rendezvous Port": https://www.adminsub.net/tcp-udp-port-finder/8086 https://www.speedguide.net/port.php?port=8086 https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
If we were to stick with the Intel homage, perhaps we could use port 4004, which does not seem to be used for anything "mainstream".