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: /tmp/.X0-lock problem


Jon,
	The output 'cygcheck.out' is attached. Cygwin-xfree has been
working otherwise just fine.
-Charles-

-----Original Message-----
From: Jon TURNEY [mailto:jon.turney@dronecode.org.uk] 
Sent: Tuesday, January 06, 2009 1:29 PM
To: cygwin-xfree@cygwin.com
Cc: Charles Swenson
Subject: Re: /tmp/.X0-lock problem

> Charles Swenson wrote:
>> FAQ 3.4. Fatal server error: Can't read lock file /tmp/.X0-lock
>>
>> I just installed cygwin for the first time (newbie) on a XP-SP3
laptop
>> to gain access to my Linux systems. Install was straight forward but
I
>> ran into this error as noted in the FAQ file upon launching X (Start
>> menu or command line)
>>
>> I tried the possible workarounds:
>>
>>    1. rm -rf /tmp; mkdir /tmp ; chmod 1777 /tmp
>>    
>> Which did not work for me but
>>
>>   2. startx -- -nolock 
>>
>> did work for me. I can try some things if someone needs a "broken
>> system" to diagnose. 
> 
> Can you provide the output of 'strace Xwin' , please.

Charles Swenson wrote:
> The output of 'strace Xwin' is attached

Thanks.

Can we get 'cygcheck -s -v -r > cygcheck.out' as well, please.

First, I can see that the code in xserver/os/osinit.c:OsInit() which
tries to 
detect if stderr is closed is turning on and trying to send it to 
/usr/adm/X0msgs, or failing that /dev/null...

Then we get...

   232   29862 [main] Xwin 4180 fhandler_base::set_flags: flags
0x100A01, 
supplied_bin 0x10000
    51   29913 [main] Xwin 4180 fhandler_base::set_flags: filemode set
to binary
    50   29963 [main] Xwin 4180 fhandler_base::open: 0 = NtCreateFile
(0x7E0, 
40100080, C:\cygwin\tmp\.tX0-lock, io, NULL, 80, 7, 2, 420, NULL, 0)
    55   30018 [main] Xwin 4180 fhandler_base::open: 1 =
fhandler_base::open 
(C:\cygwin\tmp\.tX0-lock, 0x100A01)
    82   30100 [main] Xwin 4180 fhandler_base::open_fs: 1 = 
fhandler_disk_file::open (C:\cygwin\tmp\.tX0-lock, 0xA01)
    48   30148 [main] Xwin 4180 open: 0 = open (/tmp/.tX0-lock, 0xA01)

Does this mean that open() returned 0?  Well, ok this might make sense
if 
stdin was closed...

But then the subsequent write() on this fd fails...

And this would confuse xserver/os/utils.c as it would interpret this as 
success; then tries to link the file which doesn't exist...

Hmm.... Now I'm confused.... XWin.exe is marked as a GUI (not console) 
executable, so is it supposed to have a stdin/stdout/stderr or not...

Attachment: cygcheck.out
Description: cygcheck.out

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

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