[Qt-interest] SIGSEGV in QPixmapCache::Clear()

R. Reucher rene.reucher at batcom-it.net
Thu Oct 29 19:45:31 CET 2009


On Thu, 29 Oct 2009 17:17:20 +0000, R. Reucher wrote:
> On Thu, 29 Oct 2009 12:01:53 -0400, Josiah Bryan wrote:
>> Thanks, René - that did help a little. At least the crash is different
>> now. :-) I tested with Qt 4.5.2. Now it seems to be coming from
>> somewhere inside  libX11 as the result of some call from libeGL.
>> Unfortunately, the stack trace below is even less helpful than before.
>> Any thoughts?
>> 
>> X Error of failed request:  BadColor (invalid Colormap parameter)
>>    Major opcode of failed request:  79 (X_FreeColormap) Resource id in
>>    failed request:  0x9c00001 Serial number of failed request:  4984
>>    Current serial number in output stream:  4986
>> dviz: xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed.
> Well, it says it right here: "Assertion `!c->xlib.lock' failed"!
> 
> You're using xcb_xlib... not sure if this works cleanly in all cases.
> How about using xlib natively?!
> 
> Other than that, I have no idea... also, you should post a small portion
> of code for which you can reproduce it on your side. Creating a simpler
> test case often helps to find the issue (provided it's your code, and
> not the xcb_xlib thing).
Perhaps a new idea... or better, a new question. Why do you clear() the 
QPixmapCache anyway when the program finishes? Is there any difference if 
you let Qt do it?! What happens if you clear the cache during (regular) 
program exeecution?

I'm also using QPixmapCache extensively in one of my projects. Haven't 
seen crashes when clearing it, though, and I don't do it explicitly on 
exit (a.k.a., I let Qt do the job). The maximum size I used so far was 
128 MB, so it might not be directly comparable to your situation, but 
then again, I'm also not using XCB. So I'm still quite sure that this is 
the root cause of your troubles.

HTH, René
-- 
René Reucher
rene.reucher at batcom-it.net
http://www.batcom-it.net/

Mother told me to be good, but she's been wrong before.



More information about the Qt-interest-old mailing list