[regression] [Unity 6.6] compiz crashed with SIGSEGV in nux::WindowThread::GetTimerHandler() from nux::NuxTimerTickSource::~NuxTimerTickSource()() from unity::UnityScreen::~UnityScreen()

Bug #1054074 reported by Daniel van Vugt on 2012-09-21
288
This bug affects 35 people
Affects Status Importance Assigned to Milestone
Nux
Fix Released
Undecided
Unassigned
Unity
Fix Released
High
Andrea Azzarone
6.0
Fix Released
High
Andrea Azzarone
nux (Ubuntu)
Undecided
Unassigned
unity (Ubuntu)
Undecided
Andrea Azzarone

Bug Description

This is no way to spend a Friday night.

ProblemType: Crash
DistroRelease: Ubuntu 12.10
Package: libnux-3.0-0 3.6.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.5.0-11.11-generic 3.5.2
Uname: Linux 3.5.0-11-generic x86_64
ApportVersion: 2.5.2-0ubuntu4
Architecture: amd64
CrashCounter: 1
Date: Fri Sep 21 22:12:53 2012
EcryptfsInUse: Yes
ExecutablePath: /usr/bin/compiz
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120724.2)
ProcCmdline: compiz
ProcEnviron:
 LANGUAGE=en_AU:en
 PATH=(custom, no user)
 LANG=en_AU.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7f918f5b3460 <_ZNK3nux12WindowThread15GetTimerHandlerEv>: mov 0x190(%rdi),%rax
 PC (0x7f918f5b3460) ok
 source "0x190(%rdi)" (0x00000190) not located in a known VMA region (needed readable region)!
 destination "%rax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: nux
StacktraceTop:
 nux::WindowThread::GetTimerHandler() const () from /usr/lib/libnux-3.0.so.0
 nux::NuxTimerTickSource::~NuxTimerTickSource() () from /usr/lib/compiz/libunityshell.so
 unity::UnityScreen::~UnityScreen() () from /usr/lib/compiz/libunityshell.so
 unity::UnityScreen::~UnityScreen() () from /usr/lib/compiz/libunityshell.so
 CompManager::finiPlugin(CompPlugin*) () from /usr/lib/libcompiz_core.so.ABI-20120920
Title: compiz crashed with SIGSEGV in nux::WindowThread::GetTimerHandler()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

Related branches

Daniel van Vugt (vanvugt) wrote :
Daniel van Vugt (vanvugt) wrote :

From memory, I think I was disabling the unityshell plugin, as you can see from the stack.

StacktraceTop:
 nux::WindowThread::GetTimerHandler (this=0x0) at ./WindowThread.cpp:1619
 ~NuxTimerTickSource (this=0x1358860, __in_chrg=<optimized out>) at /usr/include/Nux-3.0/Nux/NuxTimerTickSource.h:29
 nux::NuxTimerTickSource::~NuxTimerTickSource (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/Nux-3.0/Nux/NuxTimerTickSource.h:30
 operator() (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/4.6/bits/unique_ptr.h:63
 reset (__p=<optimized out>, this=0x15bea30) at /usr/include/c++/4.6/bits/unique_ptr.h:245

Changed in nux (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace

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

Changed in nux (Ubuntu):
status: New → Confirmed
Changed in unity (Ubuntu):
status: New → Confirmed
visibility: private → public
summary: - compiz crashed with SIGSEGV in nux::WindowThread::GetTimerHandler()
+ compiz crashed with SIGSEGV in nux::WindowThread::GetTimerHandler() from
+ nux::NuxTimerTickSource::~NuxTimerTickSource()() from
+ unity::UnityScreen::~UnityScreen()
Changed in unity:
milestone: none → 6.8
Changed in nux:
milestone: none → 3.8

I first reported this bug on intel. Now I'm testing the latest lp:unity + lp:compiz + lp:nux with nvidia-current-updates and get the same crash (when unticking the Unity plugin in CCSM):

(gdb) bt
#0 nux::WindowThread::GetTimerHandler (this=0x0) at ./WindowThread.cpp:1619
#1 0x00007f4d308a1e2c in ~NuxTimerTickSource (this=0x1c72360,
    __in_chrg=<optimised out>)
    at /home/dan/trunk/include/Nux-3.0/Nux/NuxTimerTickSource.h:29
#2 nux::NuxTimerTickSource::~NuxTimerTickSource (this=<optimised out>,
    __in_chrg=<optimised out>)
    at /home/dan/trunk/include/Nux-3.0/Nux/NuxTimerTickSource.h:30
#3 0x00007f4d3088b065 in operator() (__ptr=<optimised out>,
    this=<optimised out>) at /usr/include/c++/4.6/bits/unique_ptr.h:63
#4 reset (__p=<optimised out>, this=0x1a1bb10)
    at /usr/include/c++/4.6/bits/unique_ptr.h:245
#5 ~unique_ptr (this=0x1a1bb10, __in_chrg=<optimised out>)
    at /usr/include/c++/4.6/bits/unique_ptr.h:169
#6 unity::UnityScreen::~UnityScreen (this=0x1a1b9b0,
    __in_chrg=<optimised out>)
    at /home/dan/bzr/unity/trunk/plugins/unityshell/src/unityshell.cpp:387
#7 0x00007f4d3088b5e9 in unity::UnityScreen::~UnityScreen (this=0x1a1b9b0,
    __in_chrg=<optimised out>)
    at /home/dan/bzr/unity/trunk/plugins/unityshell/src/unityshell.cpp:397
#8 0x00007f4d4d365408 in CompManager::finiPlugin (p=0x1760980)
    at /home/dan/bzr/compiz/trunk/src/plugin.cpp:259
#9 0x00007f4d4d3667b1 in CompPlugin::pop ()
    at /home/dan/bzr/compiz/trunk/src/plugin.cpp:482
#10 0x00007f4d4d338e5d in compiz::private_screen::PluginManager::updatePlugins
    (this=0x16bf6f8, screen=0x16baea0, extraPluginsRequested=...)
    at /home/dan/bzr/compiz/trunk/src/screen.cpp:1072
#11 0x00007f4d4d339792 in PrivateScreen::processEvents (this=0x16bf1e8)
    at /home/dan/bzr/compiz/trunk/src/screen.cpp:804
#12 0x00007f4d4d36b247 in CompEventSource::callback (this=<optimised out>)
    at /home/dan/bzr/compiz/trunk/src/eventsource.cpp:64
#13 0x00007f4d4b86cf2f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#14 0x00007f4d4b374d53 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f4d4b3750a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f4d4b37549a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x000000000040235d in main (argc=3, argv=0x7fff1e13aea8)
    at /home/dan/bzr/compiz/trunk/src/main.cpp:260
(gdb)

tags: added: bugpattern-needed
Changed in unity:
milestone: 6.8.0 → 7.0.0
Andrea Azzarone (azzar1) on 2012-09-28
Changed in unity:
assignee: nobody → Andrea Azzarone (andyrock)
Changed in unity (Ubuntu):
assignee: nobody → Andrea Azzarone (andyrock)
Changed in unity:
status: New → In Progress
Changed in unity (Ubuntu):
status: Confirmed → In Progress
Daniel van Vugt (vanvugt) wrote :

Heh, I was about to fix this. Looks pretty simple.

Do you have a fix already Andy?

Changed in unity:
importance: Undecided → High
Changed in nux:
milestone: 3.8 → 4.0
summary: - compiz crashed with SIGSEGV in nux::WindowThread::GetTimerHandler() from
+ [regression] [Unity 6.6] compiz crashed with SIGSEGV in
+ nux::WindowThread::GetTimerHandler() from
nux::NuxTimerTickSource::~NuxTimerTickSource()() from
unity::UnityScreen::~UnityScreen()
Daniel van Vugt (vanvugt) wrote :

Best I can tell...
Fix committed to lp:unity at revision 2762, and then polished. Final fix is bzr diff -r2761..2766
Fix committed to lp:unity/6.0 at revision 2745.

Changed in unity:
status: In Progress → Fix Committed
Andrea Azzarone (azzar1) on 2012-09-30
Changed in unity (Ubuntu):
status: In Progress → Fix Committed
Tim Penhey (thumper) on 2012-09-30
Changed in nux:
status: New → Invalid
Changed in nux (Ubuntu):
status: Confirmed → Invalid
no longer affects: nux
no longer affects: nux/3.0
no longer affects: nux (Ubuntu)
Changed in nux:
status: New → Fix Committed
milestone: none → 3.8
Changed in nux:
status: Fix Committed → Fix Released
Stephen M. Webb (bregma) wrote :

Fix Released in Unity Unity 7.0.0 "R series".

Changed in unity:
status: Fix Committed → Fix Released
Changed in unity (Ubuntu):
status: Fix Committed → Fix Released
Changed in nux (Ubuntu):
status: New → Fix Released
To post a comment you must log in.