This is the mail archive of the cygwin-xfree@cygwin.com 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]

RE: Debugging the client exit crashes


Actually... I lied.

One time I saw KillAllClients get called.  Since then I have seen the
following happen when I close my favorite application that causes the server
to exit in a hurry (about 75% of the time):
1) I get a series of client requests processed in Dispatch.
2) Every single one of those client requests fails (return != Success).
3) Sometimes the server ends up exiting after the series of failures.
4) The failure code from the function call:
	result = (* client->requestVector[MAJOROP])(client);
	is 3 which is defined as BadWindow in X.h with the
	comment that the parameter is not a window.

This error makes sense, as it happens when you close a client window.

It is possible that the error is in my code; specifically, the error could
be in the way that I initialize fb and shadow fb.  Or, the error could be
caused by shadow fb or fb.  I really have no idea.

Actually... I'll just follow the (* client->requestVector[MAJOROP])(client)
call and see where it is going.

Will report back,

Harold

-----Original Message-----
From: cygwin-xfree-owner@sources.redhat.com
[mailto:cygwin-xfree-owner@sources.redhat.com]On Behalf Of Harold Hunt
Sent: Thursday, March 29, 2001 11:25 PM
To: Cygx (E-mail)
Subject: Debugging the client exit crashes


I built an XFree86 source tree with -g and started using gdb to step through
the code around when a client exit causes the X server to exit.

You'll be interested to know that the exit comes from the Dispatch function
in dix/dispatch.c, after a call to WaitForSomething in os/WaitFor.c, and
Dispatch calls KillAllClients in dix/dispatch.c right before the server
exits.

What's that mean?  Well, it means that my code is not at fault :)

What else does it mean?  Don't expect a fix anytime soon :(

Suhaib will probably have to look into this one.

Harold


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