unity-panel-service crashed with SIGSEGV in gdk_window_new()

Bug #867649 reported by Eugene San on 2011-10-04
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Indicator Display Objects
Fix Released
Ted Gould
ido (Ubuntu)
Ken VanDine

Bug Description

Crash occurs when trying to interact with volume control indicator in unity-2d inside NX/VNC session.
unity-2d-panel also crashes at the same moment.

ProblemType: Crash
DistroRelease: Ubuntu 11.10
Package: unity-services 4.20.0-0ubuntu2
ProcVersionSignature: Ubuntu 3.0.0-12.19-generic-pae 3.0.4
Uname: Linux 3.0.0-12-generic-pae i686

ApportVersion: 1.23-0ubuntu2
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,compiztoolbox,decor,place,vpswitch,session,resize,snap,grid,mousepoll,move,imgpng,gnomecompat,regex,wall,animation,expo,unitymtgrabhandles,workarounds,fade,ezoom,scale,unityshell]
CompositorRunning: None
CrashCounter: 1
Date: Tue Oct 4 18:25:29 2011
DistUpgraded: Fresh install
DistroCodename: oneiric
DistroVariant: ubuntu
DkmsStatus: virtualbox, 4.1.2, 3.0.0-12-generic-pae, i686: installed
EcryptfsInUse: Yes
ExecutablePath: /usr/lib/unity/unity-panel-service
 Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a2] (rev 03) (prog-if 00 [VGA controller])
   Subsystem: Lenovo ThinkPad T60/R60 series [17aa:201a]
   Subsystem: Lenovo ThinkPad T60/R60 series [17aa:201a]
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta i386 (20110901)
MachineType: LENOVO 19524TG
 Socket 0:
   no product info available
 Socket 0:
   no card
ProcCmdline: /usr/lib/unity/unity-panel-service
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-generic-pae root=UUID=f1955d63-e57d-4423-973a-840df6086b42 ro crashkernel=384M-2G:64M,2G-:128M quiet splash pcie_aspm=force elevator=noop vt.handoff=7
 Segfault happened at: 0xb7225ee6 <gdk_window_new+870>: mov 0x10(%eax),%eax
 PC (0xb7225ee6) ok
 source "0x10(%eax)" (0x00000010) not located in a known VMA region (needed readable region)!
 destination "%eax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: unity
 gdk_window_new () from /usr/lib/libgdk-3.so.0
 ?? () from /usr/lib/libido3-0.1.so.0
 g_cclosure_marshal_VOID__VOID () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
 g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
Title: unity-panel-service crashed with SIGSEGV in gdk_window_new()
UnitySupportTest: Error: command ['/usr/lib/nux/unity_support_test', '-p', '-f'] failed with exit code 1: Error: no composite extension
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout disk lpadmin netdev plugdev sambashare vboxusers
dmi.bios.date: 04/01/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 79ETE6WW (2.26 )
dmi.board.name: 19524TG
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr79ETE6WW(2.26):bd04/01/2010:svnLENOVO:pn19524TG:pvrThinkPadT60:rvnLENOVO:rn19524TG:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 19524TG
dmi.product.version: ThinkPad T60
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.6+bzr20110929-0ubuntu2
version.libdrm2: libdrm2 2.4.26-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 7.11-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.11-0ubuntu3
version.xserver-xorg: xserver-xorg 1:7.6+7ubuntu7
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.6.0-1ubuntu13
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20110811.g93fc084-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.15.901-1ubuntu2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1
 "pointer" id=0 [XPointer]
 "keyboard" id=1 [XKeyboard]

Related branches

Eugene San (eugenesan) wrote :

 gdk_window_new (parent=0x8b29c98, attributes=0xbfeb05e8, attributes_mask=44) at /build/buildd/gtk+3.0-3.2.0/./gdk/gdkwindow.c:1359
 ido_offscreen_proxy_realize (widget=0x8a0e420) at /build/buildd/ido-0.3.0/./src/idooffscreenproxy.c:218
 g_cclosure_marshal_VOID__VOID (closure=0x87b4ad8, return_value=0x0, n_param_values=1, param_values=0x899d820, invocation_hint=0xbfeb07b0, marshal_data=0xb5363f90) at /build/buildd/glib2.0-2.30.0/./gobject/gmarshal.c:85
 g_type_class_meta_marshal (closure=0x87b4ad8, return_value=0x0, n_param_values=1, param_values=0x899d820, invocation_hint=0xbfeb07b0, marshal_data=0x64) at /build/buildd/glib2.0-2.30.0/./gobject/gclosure.c:885
 g_closure_invoke (closure=0x87b4ad8, return_value=0x0, n_param_values=1, param_values=0x899d820, invocation_hint=0xbfeb07b0) at /build/buildd/glib2.0-2.30.0/./gobject/gclosure.c:774

Changed in unity (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity (Ubuntu):
status: New → Confirmed
visibility: private → public
affects: unity (Ubuntu) → ido (Ubuntu)
Shelby Cain (alyandon) wrote :

Subsequent testing on my part revealed that it is the volume control applet that is causing the crash. I can't seem to trigger it via the standard Session, Clock, Chat/Email and NetworkManager applets.

covox (covox) wrote :

In method ido_offscreen_proxy_realize(), a call is made to gdk_screen_get_rgba_visual() to get a GdkVisual handle, which is then passed as part of a GdkWindowAttr structure to gdk_window_new().

What's not taken into account is that gdk_screen_get_rgba_visual() will return NULL if RGBA isn't supported by the destination window manager (e.g. if someone turned the Composite extension off). In this case, as the field is always marked as valid for use (GDK_WA_VISUAL), gdk_window_new will fall over.

Attached is a patch to fall back on gdk_screen_get_system_visual() if RGBA isn't available. With this, unity-panel-service no longer crashes after interacting with the Sound indicator if the Composite extension is switched off.

The attachment "ido-visual-fix.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Didier Roche (didrocks) wrote :

ted, can you look at this patch, please?

Changed in ido:
status: New → Confirmed
assignee: nobody → Ted Gould (ted)
Brian Rogers (brian-rogers) wrote :

The patch is working for me. I put it in my PPA:

Sebastien Bacher (seb128) wrote :

Ken, can you get somebody from dx to review this patch? It seems that direct Ccing on assignement doesn't work great :-(

Changed in ido (Ubuntu):
assignee: nobody → Ken VanDine (ken-vandine)
Ken VanDine (ken-vandine) wrote :

Since upstream still hasn't reviewed this, I have prepared a distro patch to be uploaded after the alpha2 freeze is over.


Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ido - 0.3.1-0ubuntu2

ido (0.3.1-0ubuntu2) precise; urgency=low

  * src/idooffscreenproxy.c
    - Don't crash if RGBA isn't supported by the window manager, fall back to
      gdk_screen_get_system_visual(). Patch thanks to covox (LP: #867649)
 -- Ken VanDine <email address hidden> Thu, 02 Feb 2012 13:56:02 -0500

Changed in ido (Ubuntu):
status: Confirmed → Fix Released
Charles Kerr (charlesk) on 2012-04-12
Changed in ido:
status: Confirmed → Fix Released
importance: Undecided → Medium
milestone: none → 0.3.2
To post a comment you must log in.