This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [1.7] Socket problems after xorg-server update

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: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]