gtk-window-decorator crashed with SIGFPE in _decor_blend_horz_border_picture()

Bug #963794 reported by Gerald Teschl
48
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Sam Spilsbury
Compiz Core
Fix Released
High
Łukasz Zemczak
compiz (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Undecided
Unassigned

Bug Description

[Test Case]
1. Log into Unity 3D
2. Run unity-2d-panel from the terminal
   -> Verify that the gtk-window-decorator is still running and window decorations are working correctly

[Regression Potential]
Some decoration problems, like some windows missing decorations

Original description:

decorations that should never be redrawn are being added to the redraw queue through request_update_window_decoration size.

==

?

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: compiz-gnome 1:0.9.7.2-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-20.32-generic 3.2.12
Uname: Linux 3.2.0-20-generic x86_64
NonfreeKernelModules: fglrx
.tmp.unity.support.test.0:

ApportVersion: 1.95-0ubuntu1
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
Date: Sat Mar 24 11:19:04 2012
DistUpgraded: 2012-03-24 10:34:06,720 DEBUG enabling apt cron job
DistroCodename: precise
DistroVariant: ubuntu
ExecutablePath: /usr/bin/gtk-window-decorator
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
MachineType: System manufacturer System Product Name
ProcCmdline: /usr/bin/gtk-window-decorator
ProcEnviron:
 LANG=de_AT.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-20-generic root=UUID=360ee14f-ca19-45c9-8965-90d58daff20b ro quiet splash vt.handoff=7
Signal: 8
SourcePackage: compiz
Title: gtk-window-decorator crashed with SIGFPE in decor_blend_border_picture()
UpgradeStatus: Upgraded to precise on 2012-03-24 (0 days ago)
UserGroups: adm admin audio cdrom dialout fuse lpadmin netdev plugdev sambashare vboxusers video
dmi.bios.date: 08/20/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 2511
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: M4A78-E
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr2511:bd08/20/2010:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM4A78-E:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
version.compiz: compiz 1:0.9.7.2-0ubuntu1
version.fglrx-installer: fglrx-installer N/A
version.ia32-libs: ia32-libs 20090808ubuntu35
version.libdrm2: libdrm2 2.4.32-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu2
version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu7
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2

Related branches

Revision history for this message
Gerald Teschl (gerald-teschl) wrote :
visibility: private → public
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 _decor_blend_horz_border_picture (xdisplay=0x19e1170, src=33555152, xSrc=0, ySrc=0, dst=33555149, region=0x1b299a0, alpha=49151, shade_alpha=1, x1=0, y1=0, x2=1920, y2=0, dy=0, direction=-1, ignore_src_alpha=0, context=<optimized out>, layout=<optimized out>) at /build/buildd/compiz-0.9.7.2/libdecoration/decoration.c:2448
 decor_blend_border_picture (xdisplay=0x19e1170, context=<optimized out>, src=<optimized out>, xSrc=<optimized out>, ySrc=<optimized out>, dst=33555149, layout=0x1b26e50, border=0, region=0x1b299a0, alpha=49151, shade_alpha=1, ignore_src_alpha=0) at /build/buildd/compiz-0.9.7.2/libdecoration/decoration.c:2768
 meta_draw_window_decoration (d=0x1b26c10) at /build/buildd/compiz-0.9.7.2/gtk/window-decorator/metacity.c:727
 draw_decor_list (data=<optimized out>) at /build/buildd/compiz-0.9.7.2/gtk/window-decorator/decorator.c:1260
 g_main_dispatch (context=0x19d5240) at /build/buildd/glib2.0-2.31.22/./glib/gmain.c:2515

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
summary: - gtk-window-decorator crashed with SIGFPE in decor_blend_border_picture()
+ gtk-window-decorator crashed with SIGFPE in
+ _decor_blend_horz_border_picture()
tags: removed: need-amd64-retrace
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in compiz (Ubuntu):
status: New → Confirmed
Changed in compiz:
importance: Undecided → Critical
assignee: nobody → Sam Spilsbury (smspillaz)
milestone: none → 0.9.8.0
description: updated
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Were you running unity-2d when this crash happened? I've narrowed this down to a bug in unity-2d which is causing the gtk-window-decorator to get into a weird state.

Changed in compiz:
importance: Critical → High
Changed in compiz:
status: New → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz at revision 3227

Changed in compiz:
status: In Progress → Fix Committed
Changed in compiz (Ubuntu):
status: Confirmed → In Progress
importance: Medium → High
assignee: nobody → Łukasz Zemczak (sil2100)
affects: compiz (Ubuntu) → compiz-core
Changed in compiz-core:
assignee: Łukasz Zemczak (sil2100) → nobody
assignee: nobody → Łukasz Zemczak (sil2100)
milestone: none → 0.9.7.10
Changed in compiz (Ubuntu):
status: New → In Progress
description: updated
Changed in compiz-core:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz-core/0.9.7 at revision 3105

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Gerald, or anyone else affected,

Accepted compiz into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/compiz/1:0.9.7.8-0ubuntu1.1 in a few hours and then in the -proposed repository. Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case details of your testing will help us make a better decision. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in compiz (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.6 KiB)

This bug was fixed in the package compiz - 1:0.9.8+bzr3249-0ubuntu1

---------------
compiz (1:0.9.8+bzr3249-0ubuntu1) quantal-proposed; urgency=low

  * New upstream snapshot.
    - Fall back to a refresh rate that is more likely to look correct; 60Hz.
      (LP: #1009338)
    - Benchmark plugin should consume its key binding, and not pass the key to
      the underlying window. (LP: #1009320)
    - Avoid needless STL operations leading to expensive heap operations.
      (LP: #1006335)
    - Fix a typo that was causing (LP: #1002606)
      (widthIncBorders/heightIncBorders)
    - Check if the window is decorated before trying to change its event window
      states (which won't exist if not decorated) (LP: #1007754)
    - Use the XDamage extension more efficiently (the way it was designed to be
      used). This dramatically reduces CPU usage, reduces wakeups, and
      increases frame rates. It also solves at least one observed performance
      bug (LP: #1007299) and probably several more.
    - Avoid constructing and destructing lots of strings on every single event,
      which was wasting lots of CPU (LP: #1005569)
    - md LINGUAS doesn't exist, it's mnk (Mandinka in ISO 639-3)
    - Move grid plugin to google test and don't depend on the plugin for the
      test (LP: #1005009)
    - Don't read plugin.Initialized and test the value. (LP: #1004848)
    - libcompizconfig's install () commands were still using the old includedir
      and libdir variables rather than their libcompizconfig_* variants.
      (LP: #1005176)
    - Execute the cmake files separately to ensure that DESTDIR is respected.
      (LP: #1005177)
    - Don't set_target_properties on a target that might not exist
      (LP: #1005008)
    - Don't allow windows which we weren't even tracking as decoratable to
      become decorated if they try and change their hints. (LP: #963794)
    - Change the mouse pointer while dragging windows in expo. Just like the
      ubuntu branches do. (LP: #987647)
    - Fix uninitialized memory use (LP: #1004338)
    - Fix uninitialized variable (LP: #1004335)
    - Delay unbinding of pixmaps until then next rebind (LP: #729979)
      (LP: #1002602)
    - Don't drop plugins from the list to try and load before you've even tried
      to load them. Doing so makes missing plugins silently ignored instead of
      an error message (LP: #1002715). It also means valid plugins in more
      unusual, but real locations in LD_LIBRARY_PATH will never get loaded
      (LP: #1002721).
    - If running test cases under a real X server, we don't care if Xvfb is
      missing (LP: #994841)
    - Don't assume pkg_check_modules always sets _PREFIX (LP: #993608)
    - Don't clear selections in ~PrivateScreen because it causes a race between
      the existing and the new compiz instances, breaking --replace and
      non-replace behaviour. (LP: #988684) (LP: #989545)
    - Always paint with infiniteRegion as the clip region if the window is
      transformed and always use the supplied region if painting with offset or
      on transformed screen. (LP: #987639)
    - Add synchronization primitives to the decoration protocol so that there
      isn't a r...

Read more...

Changed in compiz (Ubuntu):
status: In Progress → Fix Released
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.7.8-0ubuntu1.1

---------------
compiz (1:0.9.7.8-0ubuntu1.1) precise-proposed; urgency=low

  [ Łukasz 'sil2100' Zemczak ]
  * Cherry-pick upstream patches:
    - CMake Error at FindCompiz.cmake:84 (include): include could not find load
      file: CompizDefaults (LP: #993608)
    - compiz (decor) - Warn: failed to bind pixmap to texture (LP: #929989)
    - gtk-window-decorator crashed with SIGFPE in
      _decor_blend_horz_border_picture() (LP: #963794)
    - [callgrind] compiz spends ~25% of its time constructing/destructing
      strings in PrivateScreen::handleActionEvent (LP: #1005569)
    - gtk-window-decorator crashed with SIGSEGV in meta_get_decoration_geometry
      (LP: #1007754)
    - composite refresh rate falls back to 50Hz, which is wrong in most cases
      (LP: #1009338)
    - [callgrind] compiz spends ~7% of its time inserting into and destructing
      the events list in PrivateScreen::processEvents() (LP: #1006335)

  [ Didier Roche ]
  * debian/control:
    - change Vcs-Bzr to point to precise branches
 -- Lukasz 'sil2100' Zemczak <email address hidden> Wed, 20 Jun 2012 15:02:31 +0100

Changed in compiz (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote :

Hello Gerald, or anyone else affected,

Accepted compiz into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/compiz/1:0.9.7.8-0ubuntu1.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: removed: verification-done
tags: added: verification-needed
Revision history for this message
Miklos Juhasz (mjuhasz) wrote :

Using the proposed package I ran unity-2d-panel from the terminal using unity-3d. gtk-window-decorator was still running and window decorations were working correctly.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Adam Conrad (adconrad) wrote :

Hello Gerald, or anyone else affected,

Accepted compiz into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/compiz/1:0.9.7.8-0ubuntu1.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: removed: verification-done
tags: added: verification-needed
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Ran unity-2d-panel in a unity 3d session, no gtk-window-decorator crash and decorations continued to work.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Changed in compiz:
status: Fix Committed → Fix Released
Changed in compiz-core:
status: Fix Committed → Fix Released
Changed in compiz-core:
status: Fix Released → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This bug was fixed in the package compiz - 1:0.9.8.0-0ubuntu1

---------------
compiz (1:0.9.8.0-0ubuntu1) quantal-proposed; urgency=low

  * debian/control, debian/rules:
    - enable gles on armel and armhf
    - use dh-translations rather than custom code

  [ Sam Spilsbury ]
  * Enable OpenGL ES building
    - Refresh debian/patches/workaround_broken_drivers.patch
    - Remove non-ported plugins from compiz-plugins
    - Add FindOpenGLES2.cmake to compiz-dev

  [ Timo Jyrinki ]
  * New upstream release.
    - Code to make compiz work on GLES. This includes several changes
      to the compiz API. (LP: #201342) (LP: #901097) (LP: #1004251)
      (LP: #1037710)
    - Draft first 0.9.8.0 NEWS and bump VERSION
  * debian/patches/compiz-package-gles2.patch:
    - Remove, obsoleted by the upstream GLES work
  * Disable plugins that don't work on pure GLES on armhf/armel:
    - bench, firepaint, mblur, showmouse, splash, showrepaint, td, widget
 -- Sebastien Bacher <email address hidden> Fri, 31 Aug 2012 22:59:50 +0200

Changed in compiz-core:
status: Fix Committed → Fix Released
To post a comment you must log in.