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


Harold,

How about building the X tree once more with all the debug options enabled.
This 
might give more information.  In your cygwin.cf add the following flags
-DDEBUG -DSMART_DEBUG
also add the flag -DNeedFunctionPrototypes.  NeedFunctionPrototypes flag
might help fix the
KillAllClients problems.

I will not get cance to work on it for the next two weeks, if you have time,
you can try these
flags.

Suhaib


> -----Original Message-----
> From: Harold Hunt [mailto:huntharo@msu.edu]
> Sent: Thursday, March 29, 2001 11:57 PM
> To: Cygx (E-mail)
> Subject: 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]