[Unity 5.10] compiz crashed with SIGSEGV in unity::hud::HudIconTextureSource::ColorForIcon() from unity::hud::Icon::Icon() from emit from unity::IconTexture::IconLoaded

Bug #983646 reported by Bulat Nigmatullin on 2012-04-17
38
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
High
Marco Trevisan (Treviño)
unity (Ubuntu)
High
Marco Trevisan (Treviño)
Precise
High
Marco Trevisan (Treviño)

Bug Description

SRU testcase

1. install unity from precise-proposed
2. tap alt and make sure unity does not crash

1) lsb_release -rd
Description: Ubuntu precise (development branch)
Release: 12.04

2) apt-cache policy unity
unity:
  Installed: 5.10.0-0ubuntu4
  Candidate: 5.10.0-0ubuntu4
  Version table:
 *** 5.10.0-0ubuntu4 0
        500 http://ru.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status

3 , 4 ) I pressed Alt instead of Alt+Tab and UI freezed.

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: unity 5.10.0-0ubuntu4
ProcVersionSignature: Ubuntu 3.2.0-23.36-generic 3.2.14
Uname: Linux 3.2.0-23-generic x86_64
ApportVersion: 2.0.1-0ubuntu4
Architecture: amd64
CrashCounter: 1
Date: Tue Apr 17 08:20:19 2012
EcryptfsInUse: Yes
ExecutablePath: /usr/bin/compiz
ProcCmdline: compiz
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7f6044410883 <_ZN5unity3hud20HudIconTextureSource12ColorForIconEP10_GdkPixbuf+35>: mov (%r12),%rdx
 PC (0x7f6044410883) ok
 source "(%r12)" (0x460000000a1d0000) not located in a known VMA region (needed readable region)!
 destination "%rdx" ok
SegvReason: reading unknown VMA
Signal: 11
SourcePackage: unity
StacktraceTop:
 unity::hud::HudIconTextureSource::ColorForIcon(_GdkPixbuf*) () from /usr/lib/compiz/libunityshell.so
 ?? () from /usr/lib/compiz/libunityshell.so
 unity::IconTexture::IconLoaded(std::string const&, unsigned int, _GdkPixbuf*) () from /usr/lib/compiz/libunityshell.so
 unity::IconLoader::Impl::CoalesceTasksCb(unity::IconLoader::Impl*) () from /usr/lib/compiz/libunityshell.so
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
Title: compiz crashed with SIGSEGV in unity::hud::HudIconTextureSource::ColorForIcon()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

Related branches

Bulat Nigmatullin (bulatka) wrote :

StacktraceTop:
 unity::hud::HudIconTextureSource::ColorForIcon (this=0x3700e50, pixbuf=<optimized out>) at /build/buildd/unity-5.10.0/plugins/unityshell/src/HudIconTextureSource.cpp:51
 unity::hud::Icon::Icon(std::string const&, unsigned int)::{lambda(nux::BaseTexture*)#1}::operator()(nux::BaseTexture*) const () at /build/buildd/unity-5.10.0/plugins/unityshell/src/HudIcon.cpp:50
 emit (_A_a1=@0x7fff476a48b0, impl=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:1010
 emit (_A_a1=@0x7fff476a48b0, this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:2781
 unity::IconTexture::IconLoaded (this=0x2651c90, icon_name=<optimized out>, size=<optimized out>, pixbuf=<optimized out>) at /build/buildd/unity-5.10.0/plugins/unityshell/src/IconTexture.cpp:178

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

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

Changed in unity (Ubuntu):
status: New → Confirmed
Daniel van Vugt (vanvugt) wrote :

Seems like a regression (or just incomplete fix) of bug 935307.

visibility: private → public
summary: compiz crashed with SIGSEGV in
- unity::hud::HudIconTextureSource::ColorForIcon()
+ unity::hud::HudIconTextureSource::ColorForIcon() from
+ unity::hud::Icon::Icon() from emit from unity::IconTexture::IconLoaded
summary: - compiz crashed with SIGSEGV in
+ [Unity 5.10] compiz crashed with SIGSEGV in
unity::hud::HudIconTextureSource::ColorForIcon() from
unity::hud::Icon::Icon() from emit from unity::IconTexture::IconLoaded
Changed in unity:
status: New → Confirmed
importance: Undecided → High
Changed in unity (Ubuntu):
importance: Medium → High
Changed in unity:
milestone: none → 5.12.0

I think we can fix in some ways:
 1) IconTexture should inherit sigc::trackable
 2) removing the lambda in HudIcon and use sigc::mem_fun
 3) Do texture_updated.clear() in ~HudIcon.

Changed in unity:
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in unity (Ubuntu):
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)

Oh I've also noticed that _pixbuf_cached is not initialized in IconTexture. It should be set before emitting the signal, but maybe that's the corner problem...

Changed in unity:
status: Confirmed → In Progress
Changed in unity (Ubuntu):
status: Confirmed → In Progress
Changed in unity:
status: In Progress → Fix Committed
Changed in unity (Ubuntu):
status: In Progress → Fix Committed
Omer Akram (om26er) on 2012-04-26
description: updated
Didier Roche (didrocks) on 2012-04-27
Changed in unity:
status: Fix Committed → Fix Released

Hello Bulat, or anyone else affected,

Accepted unity into precise-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
Launchpad Janitor (janitor) wrote :
Download full text (6.0 KiB)

This bug was fixed in the package unity - 5.12-0ubuntu1

---------------
unity (5.12-0ubuntu1) precise-proposed; urgency=low

  * New upstream release.
    - Launcher, Alt-Tab - clicking on launcher item or selecting a app in Alt-
      Tab raises all app windows, not just most recently focused (LP: #959339)
    - [heap corruption?] compiz crashed with SIGSEGV in _int_malloc() from
      g_realloc() from ... from g_dbus_connection_send_message_with_reply()
      from g_object_unref() from unity::dash::HomeLens::Impl::~Impl() from
      unity::dash::HomeLens::~HomeLens() (LP: #931201)
    - compiz crashed with SIGSEGV in _int_malloc() from __libc_calloc() from
      XOpenDisplay() from nux::WindowThread::ThreadCtor() (LP: #947844)
    - Regression: Installing apps causes a terrible visual glitch-- have to
      restart X.org. (LP: #981168)
    - Window management - unity doesn't realise when applications bring their
      windows to the front (LP: #802816)
    - Dash - Clicking on the desktop dash border should do nothing, *NOT*
      close the dash (LP: #839472)
    - [FFe, UIFe] HUD - The HUD does not respect launcher icon size settings
      in autohide mode (LP: #921506)
    - compiz crashed with SIGSEGV in g_volume_get_mount() (LP: #918548)
    - multiple instances or double icons of application detected on bamfdaemon
      respawn (LP: #928912)
    - Panel is transparent when Dash is open; no blur no average BG color
      (LP: #965323)
    - Unity crashes with SIGSEGV when hitting debug DBus interface hard
      (LP: #979429)
    - compiz crashed with SIGSEGV in _int_malloc() from g_object_unref() from
      unity::dash::Model<unity::dash::FilterAdaptor>::~Model() (LP: #941750)
    - indicators menu are sometimes cut off at screen edge (LP: #883317)
    - the shortcut keys in workspace section of the shortcut overlay aren't
      translated (LP: #980828)
    - [regression] Dash keeps repainting unnecessarily (LP: #980924)
    - compiz crashed with SIGSEGV in nux::NTextureData::ClearData() from
      nux::NTextureData::~NTextureData() from nux::Texture2D::~Texture2D()
      (LP: #952378)
    - compiz crashed with SIGSEGV in g_object_unref() from
      unity::dash::Settings::~Settings() from
      unity::UnityScreen::~UnityScreen() (LP: #981764)
    - compiz crashed with SIGSEGV in unity::dash::ResultView::~ResultView()
      from unity::dash::ResultViewGrid::~ResultViewGrid() from
      nux::Object::Destroy() from nux::Object::UnReference() (LP: #942286)
    - compiz crashed with SIGSEGV in
      ends_with_iter_select<__gnu_cxx::__normal_iterator<char const*,
      std::basic_string<char> >, char const*, boost::algorithm::is_iequal>()
      from unity::ui::PointerBarrierWrapper::EmitCurrentData() (LP: #983268)
    - Chinese can't be shown completely in dash filter (LP: #984583)
    - [Unity 5.10] compiz crashed with SIGSEGV in
      unity::hud::HudIconTextureSource::ColorForIcon() from
      unity::hud::Icon::Icon() from emit from unity::IconTexture::IconLoaded
      (LP: #983646)
    - [regression] Close button does not close the dash/HUD (LP: #986264)
    - compiz crashed with SIGSEGV in g_volume_eject_with_operation_finish()
      fro...

Read more...

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

Duplicates of this bug

Other bug subscribers