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: Suhaib Siddiqi <ssiddiqi at inspirepharm dot com>, <cygwin-xfree at sources dot redhat dot com>
- Subject: RE: Debugging the client exit crashes
- From: "Pierre A. Humblet" <Pierre dot Humblet at ieee dot org>
- Date: Wed, 04 Apr 2001 22:19:18 -0400
Suhaib,
Turning out -DDEBUG exposes 5 series of bugs.
I have patched 4 of them.
Can I send you the diff files directly?
The last one, in XServer/os/utils.c refers
to a missing function CheckMemory(). Any idea
where it might be?
Pierre
At 07:22 AM 3/30/2001 -0500, Suhaib Siddiqi wrote:
>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
>>
>