compiz crashed with SIGSEGV in nux::GpuDevice::GetGpuInfo()

Bug #761368 reported by Zach Avallone
142
This bug affects 18 people
Affects Status Importance Assigned to Milestone
Nux
Fix Released
High
Unassigned
Unity
Fix Released
High
Unassigned
nux (Ubuntu)
Fix Released
High
Unassigned
unity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

1) Using 11.04 (Unity)
2) I was trying to enable the Desktop Cube through the system setting menu, there were a series of prompts about enabling/disabling certain plug-ins (Open GPL, maybe?)
3) I expected to enable desktop cube without Unity crashing.
4) Error message, reporting option, and then Unity crashed.

ProblemType: Crash
DistroRelease: Ubuntu 11.04
Package: libnux-0.9-0 0.9.44-0ubuntu1
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
Architecture: amd64
Date: Fri Apr 15 00:04:17 2011
ExecutablePath: /usr/bin/compiz
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
ProcCmdline: compiz
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7f9241cd4050 <_ZN3nux9GpuDevice10GetGpuInfoEv>: mov 0xc0(%rdi),%rax
 PC (0x7f9241cd4050) ok
 source "0xc0(%rdi)" (0x000000c0) not located in a known VMA region (needed readable region)!
 destination "%rax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: nux
StacktraceTop:
 nux::GpuDevice::GetGpuInfo() () from /usr/lib/libnux-graphics-0.9.so.0
 nux::GpuDevice::CreateSystemCapableTexture() () from /usr/lib/libnux-graphics-0.9.so.0
 PanelMenuView::Refresh() () from /usr/lib/compiz/libunityshell.so
 PanelMenuView::OnActiveWindowChanged(_BamfView*, _BamfView*) () from /usr/lib/compiz/libunityshell.so
 g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
Title: compiz crashed with SIGSEGV in nux::GpuDevice::GetGpuInfo()
UpgradeStatus: Upgraded to natty on 2011-04-15 (0 days ago)
UserGroups: adm admin cdrom dialout lp lpadmin plugdev sambashare

Revision history for this message
Zach Avallone (zachary-avallone) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 nux::GpuDevice::GetGpuInfo (this=0x0) at ./GpuDevice.cpp:715
 nux::GpuDevice::CreateSystemCapableTexture (this=0x0) at ./GpuDevice.cpp:985
 PanelMenuView::Refresh (this=0x196c500) at /build/buildd/unity-3.8.8/src/PanelMenuView.cpp:614
 PanelMenuView::OnActiveWindowChanged (this=0x196c500, old_view=<value optimized out>, new_view=0x0) at /build/buildd/unity-3.8.8/src/PanelMenuView.cpp:781
 g_closure_invoke (closure=0x196da80, return_value=0x0, n_param_values=3, param_values=0x191c0a0, invocation_hint=0x7fffd2378c50) at /build/buildd/glib2.0-2.28.5/./gobject/gclosure.c:767

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 nux (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
visibility: private → public
Revision history for this message
Zach Avallone (zachary-avallone) wrote :

Quick follow-up

Unity never started up correctly after this error.
Top bar and side launcher never loaded.
Keyboard commands (Alt-F2) did not work either.
Only function was right-click, create custom launcher (which opened a firefox window that could not be closed).

Ubuntu "classic" would also load incorrectly
Every open window did not have a top window bar (Close, Min, Max).
All windows were stuck in the top left corner of the screen.
Desktop workspace switcher did not function.

This was in a partition that I regularly use, so I wiped and re-installed 10.10
Let me know if you need me to try to re-create.

Revision history for this message
Sebastien Bacher (seb128) wrote :

what video card and driver do you use?

Revision history for this message
Zach Avallone (zachary-avallone) wrote : Re: [Bug 761368] Re: compiz crashed with SIGSEGV in nux::GpuDevice::GetGpuInfo()

Video Card: Intel Corporation Mobile 4 Series Chipset Integrated Graphics
Controller (rev 07)

Driver: Whatever the default driver is in 11.04. I'm not sure exactly what
driver was being used, I did not change any hardware or driver settings
before crash.

On Fri, Apr 15, 2011 at 11:49 AM, Sebastien Bacher <email address hidden>wrote:

> what video card and driver do you use?
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/761368
>
> Title:
> compiz crashed with SIGSEGV in nux::GpuDevice::GetGpuInfo()
>
> Status in “nux” package in Ubuntu:
> New
>
> Bug description:
> 1) Using 11.04 (Unity)
> 2) I was trying to enable the Desktop Cube through the system setting
> menu, there were a series of prompts about enabling/disabling certain
> plug-ins (Open GPL, maybe?)
> 3) I expected to enable desktop cube without Unity crashing.
> 4) Error message, reporting option, and then Unity crashed.
>
> ProblemType: Crash
> DistroRelease: Ubuntu 11.04
> Package: libnux-0.9-0 0.9.44-0ubuntu1
> ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
> Uname: Linux 2.6.38-8-generic x86_64
> Architecture: amd64
> Date: Fri Apr 15 00:04:17 2011
> ExecutablePath: /usr/bin/compiz
> InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64
> (20101007)
> ProcCmdline: compiz
> ProcEnviron:
> LANGUAGE=en_US:en
> LANG=en_US.UTF-8
> SHELL=/bin/bash
> SegvAnalysis:
> Segfault happened at: 0x7f9241cd4050 <_ZN3nux9GpuDevice10GetGpuInfoEv>:
> mov 0xc0(%rdi),%rax
> PC (0x7f9241cd4050) ok
> source "0xc0(%rdi)" (0x000000c0) not located in a known VMA region
> (needed readable region)!
> destination "%rax" ok
> SegvReason: reading NULL VMA
> Signal: 11
> SourcePackage: nux
> StacktraceTop:
> nux::GpuDevice::GetGpuInfo() () from /usr/lib/libnux-graphics-0.9.so.0
> nux::GpuDevice::CreateSystemCapableTexture() () from
> /usr/lib/libnux-graphics-0.9.so.0
> PanelMenuView::Refresh() () from /usr/lib/compiz/libunityshell.so
> PanelMenuView::OnActiveWindowChanged(_BamfView*, _BamfView*) () from
> /usr/lib/compiz/libunityshell.so
> g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> Title: compiz crashed with SIGSEGV in nux::GpuDevice::GetGpuInfo()
> UpgradeStatus: Upgraded to natty on 2011-04-15 (0 days ago)
> UserGroups: adm admin cdrom dialout lp lpadmin plugdev sambashare
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/ubuntu/+source/nux/+bug/761368/+subscribe
>

Revision history for this message
Loïc Molinari (loic.molinari) wrote :

It happens to me sometimes when I enable/disable a plugin in ccsm, and always when I disable the Unity plugin itself. Before my last fixes pushed to partly fix #685552, it was crashing earlier in sigc::signal_base::impl().

Not that when a plugin is added/removed, all the plugins loaded are destroyed and recreated. After studying a bit the reason of that crash, it seems like the PanelMenuView is not freed after the Unity plugin is destroyed, the signals connected are not disconnected and can still be called. Here PanelMenuView::OnActiveWindowChanged is called even though most of the other objects have been destroyed, in the Refresh method it's crashing attempting to create a texture from a GpuDevice which is NULL (already destroyed).

To fix that issue, IMO we should make sure the PanelMenuView is correctly freed at the unity plugin destruction.

Changed in unity:
status: New → Triaged
importance: Undecided → High
Changed in nux:
status: New → Triaged
Changed in nux (Ubuntu):
status: New → Triaged
importance: Medium → High
Changed in nux:
importance: Undecided → High
Changed in unity:
milestone: none → 3.8.10
Mirco Müller (macslow)
Changed in nux:
assignee: nobody → Mirco Müller (macslow)
Changed in unity:
assignee: nobody → Mirco Müller (macslow)
Changed in unity:
milestone: 3.8.10 → 3.8.12
Revision history for this message
Loïc Molinari (loic.molinari) wrote :

since unity-3.8.10 which includes the Panel fixes I was pointing earlier, I've not been able to reproduce that crash anymore.

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Let's close it then, thanks Loïc!

Changed in nux:
status: Triaged → Fix Released
Changed in nux (Ubuntu):
status: Triaged → Fix Released
Changed in unity:
milestone: 3.8.12 → none
assignee: Mirco Müller (macslow) → nobody
Changed in nux:
assignee: Mirco Müller (macslow) → nobody
Changed in unity:
status: Triaged → 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.