Ken Brown wrote:
On 6/28/2009 2:17 PM, Jon TURNEY wrote:
Ken Brown wrote:
After I upgraded to xorg-server-1.6.0-10, XWin.exe exited immediately
with the following error message in the log file:

  _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6

Although it's clear as mud, this message should not be a fatal error, just a warning.
[...]
After running startxwin.bat, it takes about 20 seconds for the X icon to appear in the taskbar. I guess that's related to the socket problems reported in the log.

Ok, after installing IPv6, I am able to reproduce this, and I have uncovered the cause of the 20 second delay: 20 1-second delays :-)

Interestingly, this only seems to occur if the X server is built with gcc4 (as I believe the released version is).

/usr/include/X11/Xtrans/Xtranssock.c:TRANS(SocketCreateListener) has some code to retry binding the socket up to 20 times as 1 second intervals

The reason that the binding is failing is that the address to bind to is incorrectly set in /usr/include/X11/Xtrans/Xtranssock.c:TRANS(SocketINETCreateListener) as the value of in6addr_any seems to be "SocketINETGetAddr" rather than the expected all zeroes.

I think perhaps this is a problem with gcc4's weak symbol handling, as if I remove the '#pragma weak in6addr_any = local_in6addr_any' from Xtranssock.c, things work as expected (with the pragma present, the address used for in6addr_any seems to be slightly offset from local_in6addr_any...)

I can't reproduce the problem you are seeing with the X server just exiting when IPv6 isn't installed, though....


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

Reply via email to