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: XIO error... anyone seen it?


On Mon, Nov 05, 2001 at 02:23:38PM -0800, Brian Genisio wrote:
> Yes, I am running cygwin1.dll v 1.3.3.
> 
> I have been trying to debug the problem, and of course, running in a debugger
> makes it much harder to find where the problem is.  I think the fact that the
> app runs slower in a debugger makes this buffer overrun problem no longer
> happen.  (Sucks for finding the problem, eh?)
> 
> In my application where I am having the most troubles, the
> XpmCreatePixmapFromXpmImage function is where it crashes out.  This function is
> called many times in a row.  I have tried a few things, with no improvement :
> 
> 1. Call XFlush between calls
> 2. Call XSync between calls
> 3. Add a delay between calls.
> 
> This tells me that the problem is probably being caused by the
> XpmCreatePixmapFromXpmImage itself.  Some Pixmaps being loaded are as large as
> 2.6 MB (1280x960 in size)  I hooked  my app up to xmond, and found that the
> following protocol calls were being made (for 59 XPM calls):
> 
> 1     CreateWindow
> 4     InternAtom
> 1     GetProperty
> 79    CreatePixmap
> 80    CreateGC
> 79    FreeGC
> 154   PutImage
> 23210 AllocColor
> 2     QueryExtension
> 
> So, we see that a LOT of colors are being allocated quickly, and a lot of
> images are being put up to the X server in PutImage.
> 
> Unfortunately, I am unable to catch it in the act (with the debugger or Xmon),
> so I cant tell you exactly where the problem is :(
> 
> Keep in mind, this is the Application crashing, not the X server.
> 
Sure. I understand it's the application, and the error is coming back
from the cygwin kernel. 1.3.4 is out, and maybe worth a try at least.

You could set up some breakpoints for _XDefaultIOError (which is where
the XIO: error comes from) and do a backtrace in gdb to find out exactly
where things are coming from. This way the program should run at
fullspeed.

What's the platform and how much memory have you got ? what about the
size of your paging file too ? what's the output of 'uname -a' ?

Alan.


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