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


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


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