This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
RE: Debugging the client exit crashes
- To: "'Harold Hunt'" <huntharo at msu dot edu>, "Cygx (E-mail)" <cygwin-xfree at sources dot redhat dot com>
- Subject: RE: Debugging the client exit crashes
- From: Suhaib Siddiqi <ssiddiqi at inspirepharm dot com>
- Date: Fri, 30 Mar 2001 07:22:41 -0500
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
>