Red Hat Bugzilla – Bug 473896
compiz crashes when using Resize Info plugin and resizing windows sized by characters
Last modified: 2009-07-22 17:54:05 EDT
Created attachment 325215 [details]
.xsession-errors from a session where compiz crashed
Description of problem:
When I have "Desktop Effects" enabled in GNOME, attempting to resize a window causes compiz to crash.
Version-Release number of selected component (if applicable):
Not always, but once it happens, it will happen reliably if you try to resize again after restarting compiz.
Steps to Reproduce:
1. Run compiz.
2. Try to resize a window.
Frequently, compiz crashes.
Window should resize successfully.
My system is a Lenovo Thinkpad T61 with Intel GM965 integrated graphics. I'm happy to provide any further info which is necessary for debugging this problem.
Thanks for the bug report. We have reviewed the information you have provided above, and there is some additional information we require that will be helpful in our diagnosis of this issue.
Please attach your X server config file (/etc/X11/xorg.conf, if available) and X server log file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file attachments using the bugzilla file attachment link below.
Could you reproduce the problem even you use plain compiz without -fusion plugins (i.e., what happens when you remove compiz-fusion package and restart X)?
We will review this issue again once you've had a chance to attach this information.
Thanks in advance.
Created attachment 325862 [details]
xorg.conf from my Thinkpad T61
Created attachment 325864 [details]
log containing at least one instance of the problem
Do you want me to tell rpm to disregard dependencies?
compiz-gnome depends on compiz-fusion-gnome which depends on compiz-fusion.
silly me, this is of course perfect.
What do you exactly mean by "compiz crashes"? Could you describe what exactly happens? Is it compiz crashing or (more likely) whole Xorg?
No, it really is just compiz which crashes. X definitely does not crash. What I end up with when the problem occurs is all of my windows without window decorations. If I bring up the GNOME "Desktop Effects" dialog and turn off desktop effects, metacity starts back up, and if I turn desktop effects on again compiz restarts.
Can you reproduce this with the 0.7.8 builds:
No, I can't get the 0.7.8 builds to work at all. When I try to turn on Desktop Effects, I get a warning dialog which says "Desktop effects could not be enabled".
What's the output of
"glx_tfp_test ; echo $?"
(with 0.7.8 installed)
Here's what I get with 0.7.8:
[uckelman@scylla ~]$ glx_tfp_test ; echo $?
(In reply to comment #11)
> Here's what I get with 0.7.8:
> [uckelman@scylla ~]$ glx_tfp_test ; echo $?
OK, please test with this build once its done building
(reverted a buggy check)
0.7.8-4 works otherwise, but the window-resizing behavior is unchanged: compiz continues to crash when I attempt to resize windows.
I observed something just now which I think might be relevant for solving this problem: compiz crashes only when I try to resize the windows of applications which size their windows by characters rather than by pixels.
In particular, every time I try to resize gnome-terminal or gvim, compiz crashes. (Resizing a gnome-terminal is generally the first thing I do after hitting Shift-Ctrl-N, since new ones don't pop up with the same size as their parent gnome-terminal.) This explains my initial observation that compiz doesn't always crash when I try to resize a window---that's because it never crashes when I try to resize Firefox, evince, transmission, or VASSAL. What I was seeing was a mixture of two situations, one where compiz always works, and one where compiz always fails.
Hopefully this will help some in tracking down the problem.
This still happens with compiz-fusion-0.7.8-3.fc10.x86_64.
This still happens with compiz-fusion-0.7.8-4.fc10.i386.
This might be related to the "Resize Info" plugin. I have no problems with that plugin disabled, but I see similar crashes when I enable the plugin using ccsm.
(In reply to comment #17)
> This might be related to the "Resize Info" plugin. I have no problems with
> that plugin disabled, but I see similar crashes when I enable the plugin using
Thanks for the suggestion. I turned off the "Resize Info" plugin, and now I can resize character-sized windows without compiz crashing.
So, it appears that the "Resize Info" plugin is broken. The "Resize Info" plugin has never worked for me, in the sense that I've never seen the resize info it's supposed to display. At some point in the past, however, it didn't cause compiz to crash on resizing character-sized windows, so its behavior has worsened in F10 (I think it simply didn't work, rather than causing crashes, in F9).
I've verified that this problem still happens in Fedora 11 with compiz-0.7.8-18.
Since we've narrowed down the problem to the Resize Info plugin, is there any further information I can provide to expedite getting this fixed?
(In reply to comment #19)
> I've verified that this problem still happens in Fedora 11 with
> Since we've narrowed down the problem to the Resize Info plugin, is there any
> further information I can provide to expedite getting this fixed?
Yes please provide a backtrace.
Do NOT run gdb from the same session that runs compiz, but do this via ssh (else you can't do anything because compiz will be stopped by gdb).
Here you go:
#0 0x0000003a98402230 in ?? ()
#1 0x00007f3207b24219 in thread_memory_from_self () at gslice.c:423
#2 IA__g_slice_alloc () at gslice.c:807
#3 0x0000003a9d01327e in pango_font_description_new () at fonts.c:90
#4 0x00007f32058663bf in updateTextLayer (s=<value optimized out>) at resizeinfo.c:209
#5 infoHandleEvent (s=<value optimized out>) at resizeinfo.c:561
#6 0x00007f320565fd0b in scaleHandleEvent (d=0x1441470, event=0x7fff10025db0) at scale.c:1807
#7 0x000000000041085f in eventLoop () at display.c:1559
#8 0x000000000040bc4b in main (argc=2, argv=0x7fff10025f00) at main.c:446
(I ran gdb from a VT, so I ended up having to retype the trace myself. Hence, if you see something which looks like a typo, it probably is.)
I found what's going on.
The compiz-0.7,8-pin-initial-plugins patch is faulty.
The gconf and glib modules are unloaded by compiz, and the libgconf and libglib are dlclosed(). Once they are reloaded via the resize plugin (through pango, etc), they get mapped at different addresses, but some global variables in the GOT are still pointing at the old unmapped address, causing the crash.
I'm working on a fix on pin-initial-plugins.
Created attachment 351195 [details]
This patch should replace the existing compiz-0.7.8-pin-initial-plugins.patch which does not work.
Been running compiz with this patch and been playing with CCSM for 24 hours without any crashes... Woohoo!
Created attachment 351197 [details]
Forgot to remove all the debugging code...
Should now be clean!
(In reply to comment #24)
> Created an attachment (id=351197) [details]
> Replacement patch
> Forgot to remove all the debugging code...
> Should now be clean!
I have applied your patch to F-10, F-11 and rawhide, updates packages should be available soon.
compiz-0.7.8-19.fc11 has been submitted as an update for Fedora 11.
compiz-0.7.8-10.fc10 has been submitted as an update for Fedora 10.
The F11 builds fix the problem for me. Thanks so much for looking into this.
Thanks for letting us know.
compiz-0.7.8-19.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.
compiz-0.7.8-10.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.