regression / gtk-window-decorator crashes / doesn't start properly -> rev3131 is culprit

Bug #996901 reported by triplesqaurednine
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
Critical
Daniel van Vugt
Compiz Core
Invalid
Critical
Daniel van Vugt
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[Test Case]
1. Restart compiz (e.g. running compiz --replace from the terminal)
   -> Confirm that the gtk-window-decorator does not crash

[Regression Potential]
Window decorations broken

Original description:
The title says it all. regression was introduced in rev3131.

I've reverted to r3130 and the bug is not present.

steps to reproduce. (re)start compiz and gtk-window-decorator crashes. 'failure to bind pixmpa to texture" repeated 8-10 times.

Compiz does not crash and also works as expected, minus gtk-window-decorator.... you can get the window decoration back by manually enabling/disabling the window decoration plugin (in CCSM).

but gtk-window-decorator will still crash eventually.

Related branches

Revision history for this message
triplesqaurednine (triplesquarednine) wrote :

dmesg:

gtk-window-deco[3475]: segfault at 188 ip 000000000040e870 sp 00007fffe6076100 error 4 in gtk-window-decorator[400000+1e000]
[184591.017258] gtk-window-deco[3518]: segfault at 188 ip 000000000040e870 sp 00007fffd44e1150 error 4 in gtk-window-decorator[400000+1e000]
[184594.248928] gtk-window-deco[3520]: segfault at 188 ip 000000000040e870 sp 00007fff8194f800 error 4 in gtk-window-decorator[400000+1e000]
[184600.597232] gtk-window-deco[3522]: segfault at 188 ip 000000000040e870 sp 00007fffe4a305e0 error 4 in gtk-window-decorator[400000+1e000]
[184613.783885] gtk-window-deco[3523]: segfault at 188 ip 000000000040e870 sp 00007fffdb69a820 error 4 in gtk-window-decorator[400000+1e000]
[184617.284635] gtk-window-deco[3525]: segfault at 188 ip 000000000040e870 sp 00007fffcba0f960 error 4 in gtk-window-decorator[400000+1e000]
[184620.749248] gtk-window-deco[3526]: segfault at 188 ip 000000000040e870 sp 00007fff30bd7530 error 4 in gtk-window-decorator[400000+1e000]
[184631.430202] gtk-window-deco[3528]: segfault at 188 ip 000000000040e870 sp 00007fff40916230 error 4 in gtk-window-decorator[400000+1e000]
[184670.028736] gtk-window-deco[3530]: segfault at 188 ip 000000000040e870 sp 00007fff750ae860 error 4 in gtk-window-decorator[400000+1e000]
[184693.424800] gtk-window-deco[3531]: segfault at 188 ip 000000000040e870 sp 00007ffffebe5c20 error 4 in gtk-window-decorator[400000+1e000]
[184945.007852] gtk-window-deco[3555]: segfault at 180 ip 000000000040da8c sp 00007fff3955e060 error 4 in gtk-window-decorator[400000+1e000]
[189014.787701] gtk-window-deco[10555]: segfault at 180 ip 000000000040da8c sp 00007fff977f57b0 error 4 in gtk-window-decorator[400000+1e000]

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed to lp:compiz-core r3132

Changed in compiz-core:
assignee: nobody → Daniel van Vugt (vanvugt)
importance: Undecided → Critical
status: New → In Progress
milestone: none → 0.9.8.0
status: In Progress → Fix Committed
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Hi.

I cant reproduce this. Can you please post a stacktrace of gtk-window-decorator crashing?

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Hi.

The potential race condition around has been resubmitted into : https://code.launchpad.net/~smspillaz/compiz-core/compiz-core.decor_sync_996901/+merge/105344

Please post stacktraces of crashes whenever they occurr, as I had to second guess what was going on here.

Revision history for this message
triplesqaurednine (triplesquarednine) wrote :

Will do ~ But i won't be home until tomorrow (or really really late tonight) - so it will have to wait until then.

Thanks Sam.

Revision history for this message
triplesqaurednine (triplesquarednine) wrote :

Hey Sam,

i used GDB to try to obtain a stacktrace on gtk-window-decorator / r3131. Although, i don't think i did correctly. I started gdb, then set it to start a trace/log and then restarted compiz, but this is all it says;

Starting program: /usr/bin/gtk-window-decorator --replace
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.3200.2-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Program received signal SIGTERM, Terminated.
0x00007ffff4419024 in poll () from /lib/libc.so.6

Something tells me i am not doing this correctly, and it can't find the 'backtrace' module. which looks my system doesn't have this module, or this is another python2 vs. python3 issue ( Archlinux ships python3 as /uur/bin/python ) :\ I'm going to have to do some reading and figure out what is up here, as i don't really know.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

(Proper) Fix committed into lp:compiz-core at revision 3137

Changed in compiz:
status: New → Fix Committed
importance: Undecided → Critical
assignee: nobody → Daniel van Vugt (vanvugt)
milestone: none → 0.9.8.0
Changed in compiz-core:
milestone: 0.9.8.0 → none
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Note: This bug does not exist in the compiz 0.9.7 series (precise). It was only in the 0.9.8 series (not released).

Changed in compiz-core:
status: Fix Committed → Invalid
description: updated
Changed in compiz (Ubuntu):
status: New → Fix Committed
no longer affects: compiz (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.6 KiB)

This bug was fixed in the package compiz - 1:0.9.8+bzr3249-0ubuntu1

---------------
compiz (1:0.9.8+bzr3249-0ubuntu1) quantal-proposed; urgency=low

  * New upstream snapshot.
    - Fall back to a refresh rate that is more likely to look correct; 60Hz.
      (LP: #1009338)
    - Benchmark plugin should consume its key binding, and not pass the key to
      the underlying window. (LP: #1009320)
    - Avoid needless STL operations leading to expensive heap operations.
      (LP: #1006335)
    - Fix a typo that was causing (LP: #1002606)
      (widthIncBorders/heightIncBorders)
    - Check if the window is decorated before trying to change its event window
      states (which won't exist if not decorated) (LP: #1007754)
    - Use the XDamage extension more efficiently (the way it was designed to be
      used). This dramatically reduces CPU usage, reduces wakeups, and
      increases frame rates. It also solves at least one observed performance
      bug (LP: #1007299) and probably several more.
    - Avoid constructing and destructing lots of strings on every single event,
      which was wasting lots of CPU (LP: #1005569)
    - md LINGUAS doesn't exist, it's mnk (Mandinka in ISO 639-3)
    - Move grid plugin to google test and don't depend on the plugin for the
      test (LP: #1005009)
    - Don't read plugin.Initialized and test the value. (LP: #1004848)
    - libcompizconfig's install () commands were still using the old includedir
      and libdir variables rather than their libcompizconfig_* variants.
      (LP: #1005176)
    - Execute the cmake files separately to ensure that DESTDIR is respected.
      (LP: #1005177)
    - Don't set_target_properties on a target that might not exist
      (LP: #1005008)
    - Don't allow windows which we weren't even tracking as decoratable to
      become decorated if they try and change their hints. (LP: #963794)
    - Change the mouse pointer while dragging windows in expo. Just like the
      ubuntu branches do. (LP: #987647)
    - Fix uninitialized memory use (LP: #1004338)
    - Fix uninitialized variable (LP: #1004335)
    - Delay unbinding of pixmaps until then next rebind (LP: #729979)
      (LP: #1002602)
    - Don't drop plugins from the list to try and load before you've even tried
      to load them. Doing so makes missing plugins silently ignored instead of
      an error message (LP: #1002715). It also means valid plugins in more
      unusual, but real locations in LD_LIBRARY_PATH will never get loaded
      (LP: #1002721).
    - If running test cases under a real X server, we don't care if Xvfb is
      missing (LP: #994841)
    - Don't assume pkg_check_modules always sets _PREFIX (LP: #993608)
    - Don't clear selections in ~PrivateScreen because it causes a race between
      the existing and the new compiz instances, breaking --replace and
      non-replace behaviour. (LP: #988684) (LP: #989545)
    - Always paint with infiniteRegion as the clip region if the window is
      transformed and always use the supplied region if painting with offset or
      on transformed screen. (LP: #987639)
    - Add synchronization primitives to the decoration protocol so that there
      isn't a r...

Read more...

Changed in compiz (Ubuntu):
status: New → Fix Released
Changed in compiz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.