Web lists-archives.com

EPERM on bind() ?


I have had some users of the Jupyter Notebook [1] on Cygwin report an
crash on startup where, when the Notebook server tries to bind() to
the port it will listen on (TCP 8888) the bind() fails and errno is
set to EPERM, which is not an expected errno from bind().

Looking at the Cygwin sources, in net.cc I see that in
set_winsock_errno, EPERM is returned by default if there is some WSA
error for which there is no POSIX equivalent mapped.  Fine--EPERM is
as good as any other fallback I suppose (?) in that it unambiguously
indicates some unknown WSA error.

I'm just wondering if anyone has any idea what might cause such an
error.  Some third-party firewall or BLODA?  I can't reproduce it
myself.  Trying to bind to a port already in use correctly returns

[1] https://jupyter.org/

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple