unity-window-decorator crashed with SIGSEGV in g_datalist_id_set_data_full()

Bug #807487 reported by Goblin
496
This bug affects 88 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Critical
Sam Spilsbury
compiz (Ubuntu)
Fix Released
Medium
Sam Spilsbury
Oneiric
Fix Released
Medium
Sam Spilsbury
unity (Ubuntu)
Fix Released
Undecided
Unassigned
Oneiric
Won't Fix
Undecided
Unassigned

Bug Description

Description: Ubuntu oneiric (development branch) Release: 11.10
unity: 4.2.0-0ubuntu1

How to reproduce:
1. Open VLC
2. "File" -> "Open disc"

What happens?
The window decorator crashes.

Workarround:
1. Install qt4-qtconfig package
2. Open it and choose any other theme than "Desktop Settings"

Testcase

Enter the python interactive console

>> window = gtk.Window ()
>> window.resize (100, 100)
>> window.show_all ()
>> window.resize (4098, 4098)

The window will now be maximized, unmaximize it

>> window.resize (4098, 4098)

The window should disappear rather than breaking your desktop

ProblemType: Crash
DistroRelease: Ubuntu 11.10
Package: compiz-gnome 1:0.9.4+bzr20110606-0ubuntu6
ProcVersionSignature: Ubuntu 3.0-3.4-generic-pae 3.0.0-rc5
Uname: Linux 3.0-3-generic-pae i686
NonfreeKernelModules: nvidia
Architecture: i386
Date: Fri Jul 8 22:06:05 2011
ExecutablePath: /usr/bin/unity-window-decorator
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Alpha i386 (20110705.1)
ProcCmdline: /usr/bin/unity-window-decorator
ProcEnviron:
 LANG=ru_RU.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0xb6d90b74 <g_datalist_id_set_data_full+356>: mov 0x0(%ebp),%ecx
 PC (0xb6d90b74) ok
 source "0x0(%ebp)" (0xaaaaaaa8) not located in a known VMA region (needed readable region)!
 destination "%ecx" ok
SegvReason: reading unknown VMA
Signal: 11
SourcePackage: compiz
StacktraceTop:
 g_datalist_id_set_data_full () from /lib/i386-linux-gnu/libglib-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
 g_object_unref () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
Title: unity-window-decorator crashed with SIGSEGV in g_datalist_id_set_data_full()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

Revision history for this message
Goblin (runagate) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 g_data_set_internal (datalist=0x960a8e8, key_id=52, data=0x0, destroy_func=0) at /build/buildd/glib2.0-2.29.10/./glib/gdataset.c:377
 g_datalist_id_set_data_full (datalist=0x960a8e8, key_id=52, data=0x0, destroy_func=0) at /build/buildd/glib2.0-2.29.10/./glib/gdataset.c:673
 g_object_real_dispose (object=0x960a8e0) at /build/buildd/glib2.0-2.29.10/./gobject/gobject.c:895
 gtk_object_dispose (gobject=0x960a8e0) at /build/buildd/gtk+2.0-2.24.5/gtk/gtkobject.c:426
 gtk_widget_dispose (object=0x960a8e0) at /build/buildd/gtk+2.0-2.24.5/gtk/gtkwidget.c:8775

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in compiz (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
tags: added: compiz-0.9
visibility: private → public
Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
crtm (carlosrtm) wrote :

The same here. I run vlc and Then unity is crashed.

Revision history for this message
Marco Biscaro (marcobiscaro2112) wrote :

Copying test case and workarround from duplicate.

description: updated
Revision history for this message
muyiwa (muyiwa-iyowu) wrote :

This bug affects me too. Gonna try workaround

Revision history for this message
Vassili Platonov (vassilip) wrote :

Yes, the same here. I lost my window decorator

Revision history for this message
Andrew Tonks (a-p-tonks) wrote :

I am forwarded as my bug was marked as duplicated of this, though I am not sure:

I can no longer print on my network printer, and compiz crashes a little after I try.

CUPS, compiz both buggy now?

Revision history for this message
Iain (iain-7) wrote :

Not just VLC, had this with Firefox as well, so is more widespread than VLC

Revision history for this message
Jason (themacster) wrote :

Every time I open Calibre, I get the same issue.

Revision history for this message
Jared (jared-vanvolkenburg) wrote :

This occurred in VLC after I selected Tools -> Customize Interface .. from the right click menu.

Revision history for this message
Guillaume Romagny (golfromeo.ovh) wrote :

the crash occured when I was in the unity laptop battery "manager" (the one you get from the icon on the top of the screen)

tags: added: bugpattern-needed
Revision history for this message
Guy Stone (stoneguy3) wrote :

coexists with 858416. System is ASUS eeePC900 with ext mon

Revision history for this message
Abner Rizzi (bacteria666) wrote :

open VLC -> open media from clipboard and crash occurs

Revision history for this message
Ader (rasmusrim) wrote :

The crash occured when I was in the terminal reporting another bug :) I don't know how to reproduce.

Changed in compiz (Ubuntu Oneiric):
importance: Medium → High
assignee: nobody → Canonical Desktop Experience Team (canonical-dx-team)
milestone: none → ubuntu-11.10
tags: added: rls-mgr-o-tracking
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

reproduced with VLC

Changed in unity:
status: New → Confirmed
importance: Undecided → High
milestone: none → 4.20.0
Revision history for this message
Guillaume Romagny (golfromeo.ovh) wrote :

Yesterday (2011-09-26) evening update from main repositories (including a full update of unity/ubuntu-desktop) => VLC no longer crashes or resize out of sense with the playlist => VLC can start in unity, the only side issue now is I cannot move the window. VLC is stuck to the top bar. You can have full screen or resize the back of VLC window. No way to move the window.

tags: removed: bugpattern-needed
tags: added: bugpattern-written
Revision history for this message
cmyrland (carl-rahien) wrote :

Crashes when trying to open network stream as well.

Neil J. Patel (njpatel)
Changed in unity:
importance: High → Critical
Changed in compiz (Ubuntu Oneiric):
importance: High → Critical
importance: Critical → High
Neil J. Patel (njpatel)
Changed in unity:
assignee: nobody → Sam Spilsbury (smspillaz)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

This issue comes with the Qt crash that is going under fix on bug #805303. Sam will had some compiz protection as an SRU against this case to not make the desktop crash.

Changed in unity:
importance: Critical → Medium
Changed in compiz (Ubuntu Oneiric):
importance: High → Medium
Changed in unity:
milestone: 4.20.0 → 4.22.0
Changed in unity:
importance: Medium → Critical
Changed in unity:
status: Confirmed → Fix Committed
Changed in compiz (Ubuntu Oneiric):
status: Confirmed → Fix Committed
Changed in unity:
milestone: 4.22.0 → 4.24.0
David Barth (dbarth)
Changed in compiz (Ubuntu Oneiric):
assignee: Canonical Desktop Experience Team (canonical-dx-team) → Sam Spilsbury (smspillaz)
Changed in unity:
status: Fix Committed → Fix Released
Changed in compiz (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Sam Spilsbury (smspillaz) wrote :
Download full text (5.0 KiB)

=== added file 'debian/patches/rev_2821_fix_807487.patch'
--- debian/patches/rev_2821_fix_807487.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/rev_2821_fix_807487.patch 2011-10-17 07:02:55 +0000
@@ -0,0 +1,91 @@
+bzr+ssh://bazaar.launchpad.net/~compiz-team/compiz-core/oneiric/
+=== modified file 'plugins/opengl/include/opengl/opengl.h'
+Index: compiz-0.9.6+bzr20110929/plugins/opengl/include/opengl/opengl.h
+===================================================================
+--- compiz-0.9.6+bzr20110929.orig/plugins/opengl/include/opengl/opengl.h 2011-10-17 14:35:33.867415820 +0800
++++ compiz-0.9.6+bzr20110929/plugins/opengl/include/opengl/opengl.h 2011-10-17 14:35:56.703529052 +0800
+@@ -398,6 +398,7 @@
+ WRAPABLE_HND (4, GLScreenInterface, void, glDisableOutputClipping);
+
+ friend class GLTexture;
++ friend class GLWindow;
+ friend class SpewScreen;
+ friend class SpewWindow;
+
+Index: compiz-0.9.6+bzr20110929/plugins/opengl/src/privates.h
+===================================================================
+--- compiz-0.9.6+bzr20110929.orig/plugins/opengl/src/privates.h 2011-10-17 14:35:33.879415881 +0800
++++ compiz-0.9.6+bzr20110929/plugins/opengl/src/privates.h 2011-10-17 14:35:56.703529052 +0800
+@@ -121,6 +121,9 @@
+ bool hasCompositing;
+
+ GLIcon defaultIcon;
++
++ Window saveWindow; // hack for broken applications, see:
++ // https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/807487
+ };
+
+ class PrivateGLWindow :
+Index: compiz-0.9.6+bzr20110929/plugins/opengl/src/screen.cpp
+===================================================================
+--- compiz-0.9.6+bzr20110929.orig/plugins/opengl/src/screen.cpp 2011-10-17 14:35:33.895415963 +0800
++++ compiz-0.9.6+bzr20110929/plugins/opengl/src/screen.cpp 2011-10-17 14:35:56.703529052 +0800
+@@ -99,6 +99,7 @@
+ GLfloat diffuseLight[] = { 0.9f, 0.9f, 0.9f, 0.9f };
+ GLfloat light0Position[] = { -0.5f, 0.5f, -9.0f, 1.0f };
+ XWindowAttributes attr;
++ XSetWindowAttributes attrib;
+ const char *glRenderer;
+ CompOption::Vector o (0);
+
+@@ -114,6 +115,10 @@
+ setenv ("LIBGL_ALWAYS_INDIRECT", "1", True);
+ }
+
++ attrib.override_redirect = 1;
++
++ priv->saveWindow = XCreateWindow (dpy, screen->root (), -100, -100, 1, 1, 0, CopyFromParent, InputOutput, CopyFromParent, CWOverrideRedirect, &attrib);
++
+ if (!XGetWindowAttributes (dpy, s->root (), &attr))
+ {
+ screen->handleCompizEvent ("opengl", "fatal_fallback", o);
+Index: compiz-0.9.6+bzr20110929/plugins/opengl/src/window.cpp
+===================================================================
+--- compiz-0.9.6+bzr20110929.orig/plugins/opengl/src/window.cpp 2011-10-17 14:35:33.907416017 +0800
++++ compiz-0.9.6+bzr20110929/plugins/opengl/src/window.cpp 2011-10-17 14:35:56.703529052 +0800
+@@ -105,6 +105,21 @@
+ compLogMessage ("opengl", CompLogLevelInfo,
+ "Couldn't bind redirected window 0x%x to "
+ "texture\n", (int) priv->window->id ());
++
++ if (priv->cWindow->size ().width () > GL::maxTextureSize ||
++ priv->cWindow->size ().height () > GL::maxTextureSize)
++ {
++ compLogMessage ("opengl", CompLogLevelWarn,
++ "Bug in wi...

Read more...

Changed in unity:
milestone: 4.24.0 → 4.26.0
description: updated
Changed in compiz (Ubuntu Oneiric):
status: Fix Released → Fix Committed
Changed in compiz (Ubuntu):
status: Fix Released → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello Goblin, or anyone else affected,

Accepted compiz into oneiric-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.6+bzr20110929-0ubuntu7

---------------
compiz (1:0.9.6+bzr20110929-0ubuntu7) precise; urgency=low

  * Upload to precise

compiz (1:0.9.6+bzr20110929-0ubuntu6) oneiric-proposed; urgency=low

  * debian/patches/rev_2821_fix_807487.patch:
    - unity-window-decorator crashed with SIGSEGV in
      g_datalist_id_set_data_full() (LP: #807487)
  * debian/patches/rev_2847_bug_796594.patch:
    - Window behaviour - pressing the 'restore' window indicator on a
      semi-maximised window should return it to the restored state
      (LP: #796594)
  * debian/patches/rev_2878_bug_865696.patch:
    - Windows from other workspaces missing decorations in window spread
      (LP: #865696)
  * debian/patches/rev_2884_fix_874004.patch:
    - When a window is minimized on another workspace it doesn't appear
      in the spread (LP: #874004)
  * debian/patches/rev_2890_fix_879253.patch:
    - Makes the previous patch building and not crashing.
  * Add some upstream missing bits from previous fixes:
    - debian/patches/fix-864330.patch
    - debian/patches/fix-864478.patch
  * debian/patches/fix-886978.patch:
    - compiz crashes with SIGSEGV in PrivateWindow::configure (LP: #886978)
 -- Didier Roche <email address hidden> Thu, 10 Nov 2011 09:11:57 +0100

Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Miklos Juhasz (mjuhasz) wrote :

The proposed version resolves this bug for me.
I opened VLC, chose "Open Disc" and the window decorator did not crash. I also tried to open a network stream, that worked as well.

Omer Akram (om26er)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.6+bzr20110929-0ubuntu6

---------------
compiz (1:0.9.6+bzr20110929-0ubuntu6) oneiric-proposed; urgency=low

  * debian/patches/rev_2821_fix_807487.patch:
    - unity-window-decorator crashed with SIGSEGV in
      g_datalist_id_set_data_full() (LP: #807487)
  * debian/patches/rev_2847_bug_796594.patch:
    - Window behaviour - pressing the 'restore' window indicator on a
      semi-maximised window should return it to the restored state
      (LP: #796594)
  * debian/patches/rev_2878_bug_865696.patch:
    - Windows from other workspaces missing decorations in window spread
      (LP: #865696)
  * debian/patches/rev_2884_fix_874004.patch:
    - When a window is minimized on another workspace it doesn't appear
      in the spread (LP: #874004)
  * debian/patches/rev_2890_fix_879253.patch:
    - Makes the previous patch building and not crashing.
  * Add some upstream missing bits from previous fixes:
    - debian/patches/fix-864330.patch
    - debian/patches/fix-864478.patch
  * debian/patches/fix-886978.patch:
    - compiz crashes with SIGSEGV in PrivateWindow::configure (LP: #886978)
 -- Didier Roche <email address hidden> Thu, 20 Oct 2011 14:23:52 +0200

Changed in compiz (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in unity (Ubuntu Oneiric):
status: New → Won't Fix
Will Cooke (willcooke)
Changed in unity (Ubuntu):
status: New → 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.