-
Notifications
You must be signed in to change notification settings - Fork 861
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] #3101
Comments
Did you try SRT is not responsible for having bound a UDP port that was not directly requested. |
@ethouris In that case, is there any way to avoid UDP port duplication? Would something like reuseaddr=false work as a solution? |
I'm sorry, I'm confused. So you checked that and confirmed that the port has been bound by another application. What you described is the intended behavior. Not sure what kind of bug you see here. The If another application in the system has bound this port, SRT sockets cannot bind this port. If you think of the |
I believe I didn’t explain my situation very clearly before. The following command starts up fine: However, when I run this command: Additional Information: After encountering the error, I restarted the command Question: Even though I explicitly specified different ports (SRT ports 10005 vs. 10405, and UDP output ports 30005 vs. 30405), the operating system still perceives a conflict. Thank you! |
All the examples you have shown should work with no problem, as long as no other application in the system has bound the ports that SRT would attempt to bind. If this command fails:
this simply means that the UDP port 10405 has been bound by another application in your system. Not sure about this 30405 port, but this shouldn't matter, the application doesn't bind a port to send to UDP, so likely it complains about the attempt of SRT to bind the port 10405. The message, however, sounds like the system error message, so this is likely the original error report from the system No, there's no way to avoid this issue. If you want to use this very port, you need to identify the application that has bound this port and ask it gently to free it, or kill this application if it doesn't conform. Just to explain why no solution could be found: the port sharing for UDP, which can be set using |
Describe the bug:
When running multiple instances of srt-live-transmit on Amazon Linux 2 with distinct ports, I encounter an “Address already in use” error. The same commands worked fine on CentOS 7, so it appears to be specific to Amazon Linux 2.
This error does not occur every time but happens intermittently.
To Reproduce:
Steps to reproduce the behavior:
1. Run the first instance:
srt-live-transmit srt://:10005?mode=listener udp://127.0.0.1:30005
This starts successfully.
2. Attempt to run the second instance:
srt-live-transmit srt://:10405?mode=listener udp://127.0.0.1:30405
3. Observe the error: “Address already in use.”
Expected behavior:
Since I used different SRT ports (10005 vs 10405) and different UDP output ports (30005 vs 30405), I expected there would be no port conflict. On CentOS 7, the same commands and ports worked without issue.
Screenshots:
If relevant, please see the terminal output below (or attach a screenshot):
[…]
error message
The process already using port 10405.
Desktop (please provide the following information):
• OS: Amazon Linux 2
• SRT Version / commit ID: 1.4.1
• Installation method: built from source
Additional context:
• The same commands on CentOS 7 do not produce any error.
• It seems that srt-live-transmit might be reusing or sharing UDP sockets internally (multiplexer logic) on Amazon Linux 2, causing a conflict.
• I have tried different port combinations, but the issue persists whenever I run two instances.
• Any guidance on whether we need extra options like reuseaddr=false or a specific local endpoint configuration to avoid this conflict would be greatly appreciated.
Thank you!
The text was updated successfully, but these errors were encountered: