Problem with new xinit - console window doesn't open (but bash starts)

Jon TURNEY jon.turney@dronecode.org.uk
Wed Dec 16 20:11:00 GMT 2009


On 22/11/2009 20:24, Jon TURNEY wrote:
> On 20/11/2009 15:05, Jim Reisert AD1C wrote:
>> I tried adding the missing fonts. I tried SET LANG=C
>> Starting the X server is still unpredictable.
>
> Does this mean it sometimes works and sometimes doesn't?
> Or does it mean it fails in different ways each time you try?
>
>> Now my log file (attached) shows:
>>
>> It also claims another window manage is running (and therefore shuts
>> down), which is untrue (there is no other Xwin process running).
>
> Since I have touched 'check for another window manager' code recently, I
> was kind of expecting to see that I'd managed to break it in some way,
> but..
>
> I'm not quite sure what to make of that log file. This is very strange.
>
> If you look for "(II) xorg.conf is not supported", you'll see that it
> looks like that server starts again about half-way through.
>
> I did wonder if you were managing to somehow start two copies of XWin
> near-simultaneously, but I don't think that would produce a logfile like
> that (since it's not opened in append mode, you probably get the logfile
> from the last process to close it or something like that)
>
> An alternative explanation is that there is a really inconveniently
> timed server regeneration happening: just after the internal client
> threads have been created, but before they can connect, so they are
> still hanging around to be accepted by the next server generation.
>
> If we did have twice as many threads as we are supposed to, that would
> explain the final failure due to another WM running (as there's another
> WM thread, note that there are two 'winMultiWindowXMsgProc - Hello' lines)
>
> No idea why the server is regenerating though, needs more meditation :-)

After some meditation, I think that the server regeneration may be being 
caused by a race condition introduced by the use of checkX in the 
startxwin.bat script:  If checkX connects to and then disconnects from the 
Xserver before the internal client threads get a chance to connect, the 
Xserver will restart when checkX disconnects, causing these duplicate threads.

Fortunately, this should have a simple workaround of removing the checkX line 
from startxwin.bat (or replacing it with a delay if you care about getting an 
xterm started by it)

The correct fix for this behaviour is not immediately obvious, and I don't 
really have time to work on it at the moment, so I don't have a patch for this.

-- 
Jon TURNEY
Volunteer Cygwin/X X Server maintainer

--
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/



More information about the Cygwin-xfree mailing list