This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
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.