Skip to content
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

(Win32 only) Assertion failed: Address already in use (..\..\..\src\signaler.cpp:80) #84

Closed
mato opened this issue Sep 20, 2010 · 1 comment

Comments

@mato
Copy link
Contributor

mato commented Sep 20, 2010

When running an application which uses lots of sockets on Win32, I get this assertion.

This appears to be caused by a WSAEADDRINUSE return from connect () on the emulated socketpair used by signaler_t.

MSDN docs at http://msdn.microsoft.com/en-us/library/ms740668%28VS.85%29.aspx suggest using SO_REUSEADDR but this doesn't seem to help. It's not clear if this is just Winsock running out of "ports to assign to sockets", or something else.

I guess the best solution in the long term is to migrate to IOCP on Win32 which should let us use Named Pipes or some other IPC mechanism for the signaler.

@steve-o
Copy link
Contributor

steve-o commented Nov 5, 2010

On Windows Server 2008 you have SO_PORT_SCALABILITY to avoid this problem.

http://msdn.microsoft.com/en-us/library/cc150670(v=VS.85).aspx

drahosp pushed a commit to LuaDist/libzmq that referenced this issue Feb 13, 2014
benjdero pushed a commit to benjdero/libzmq that referenced this issue Feb 20, 2023
Broke discovery with UDP refactor - fixed
bluca pushed a commit that referenced this issue Oct 31, 2023
Fix failed assertion for WSAENOTSOCK
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants