gtk-window-decorator leaking window handles. Window operations become sluggish after a few days of usage
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
High
|
Sam Spilsbury | ||
Compiz Core |
Fix Released
|
High
|
Sam Spilsbury | ||
compiz (Ubuntu) |
Fix Released
|
High
|
Sam Spilsbury | ||
Precise |
Fix Released
|
Undecided
|
Unassigned | ||
Quantal |
Fix Released
|
High
|
Sam Spilsbury |
Bug Description
[Impact]
Memory leaking causing user visible problems like performance degradation.
[Test Case]
GTK-Window-
=======
Sam Spilsbury <email address hidden>
XRestop usage
-------------
#. Install xrestop (sudo apt-get install xrestop)
#. Run xrestop (eg, $ xrestop &)
#. Note the number in the "Wns" column for gtk-window-
#. Open a window
#. Close that window
#. The number should be the same
[Regression Potential]
Low, has been well tested in Ubuntu 12.10.
--- original bug report ---
gtk-window-
User-visible symptoms include:
* Performance degradation over time
* Sluggish animations, such as when using Super-W and Super-S
* When switching windows, window contents briefly drawn as black rectangles before being rendered correctly
* Window decorations not drawn on new windows
To reproduce:
1) install xrestop ("apt-get install xrestop")
2) In a terminal, launch xrestop. Keep it running, and observe the number of 'Wins' and amount of pixmam memory ('Pxm mem') associated with the gtk-window-
3) Open a new terminal (or any other) window. Observe that the number of windows had gone up by some amount. Opening a terminal window reliably results in exactly 19 extra window handles on my system.
4) Close the window
Expected results:
Per xrestop, the number of window handles goes down when you close the window. (Are some of the handles are related to window-open animation? In that case I'd expect them to be disposed of when the animation is complete)
Actual results:
Per xrestop, the number of window handles remains the same when you close the window.
I also observed that the total pixmap memory used by gtk-window-
Killing + restarting gtk-window-
xrestop output:
xrestop - Display: localhost
Pixmaps: 169216K total, Other: 672K total, All: 169889K total
res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier
2600000 7176 67 1 495 724 78983K 187K 79171K 2359 gtk-window-dec
0c00000 1292 2 1 112 15364 57130K 391K 57521K ? Compiz
top output:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1306 root 20 0 573m 461m 6364 R 105.5 11.7 357:52.15 Xorg
ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: compiz-gnome 1:0.9.8.0-0ubuntu1
ProcVersionSign
Uname: Linux 3.5.0-14-generic x86_64
NonfreeKernelMo
.proc.driver.
.proc.driver.
.proc.driver.
NVRM version: NVIDIA UNIX x86_64 Kernel Module 304.43 Sun Aug 19 20:14:03 PDT 2012
GCC version: gcc version 4.7.1 20120908 (prerelease) (Ubuntu/Linaro 4.7.1-8ubuntu1)
.proc.driver.
Your system is not currently configured to drive a VGA console
on the primary VGA device. The NVIDIA Linux graphics driver
requires the use of a text-mode VGA console. Use of other console
drivers including, but not limited to, vesafb, may result in
corruption and stability problems, and is not supported.
ApportVersion: 2.5.1-0ubuntu7
Architecture: amd64
CompizPlugins: No value set for `/apps/
Date: Thu Sep 13 16:16:08 2012
DistUpgraded: 2012-08-07 11:19:37,876 DEBUG enabling apt cron job
DistroCodename: quantal
DistroVariant: ubuntu
DkmsStatus:
nvidia-current, 304.43, 3.5.0-13-generic, x86_64: installed
nvidia-current, 304.43, 3.5.0-14-generic, x86_64: installed
virtualbox, 4.1.18, 3.5.0-13-generic, x86_64: installed
virtualbox, 4.1.18, 3.5.0-14-generic, x86_64: installed
GraphicsCard:
NVIDIA Corporation G84 [GeForce 8600M GT] [10de:0407] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Apple Inc. Device [106b:00a0]
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Beta amd64 (20100901.1)
JockeyStatus:
kmod:nvidia_
kmod:nvidia_
kmod:nvidia_
kmod:nvidia_173 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
MachineType: Apple Inc. MacBookPro3,1
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: compiz
UpgradeStatus: Upgraded to quantal on 2012-08-07 (37 days ago)
dmi.bios.date: 03/05/08
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBP31.88Z.
dmi.board.
dmi.board.name: Mac-F4238BC8
dmi.board.vendor: Apple Inc.
dmi.board.version: PVT
dmi.chassis.
dmi.chassis.type: 2
dmi.chassis.vendor: Apple Inc.
dmi.chassis.
dmi.modalias: dmi:bvnAppleInc
dmi.product.name: MacBookPro3,1
dmi.product.
dmi.sys.vendor: Apple Inc.
version.compiz: compiz 1:0.9.8.0-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.39-0ubuntu1
version.
version.
version.
version.
version.
version.
version.
version.
version.
Related branches
- Daniel van Vugt: Approve
- jenkins (community): Needs Fixing (continuous-integration)
-
Diff: 49 lines (+34/-0)2 files modifiedgtk/window-decorator/wnck.c (+22/-0)
tests/manual/GTKWindowDecoratorResourceUsage.txt (+12/-0)
Changed in compiz: | |
importance: | Undecided → High |
Changed in compiz (Ubuntu): | |
importance: | Undecided → High |
tags: | added: compiz-0.9 |
Changed in compiz: | |
milestone: | none → 0.9.8.4 |
assignee: | nobody → Sam Spilsbury (smspillaz) |
Changed in compiz (Ubuntu Quantal): | |
assignee: | nobody → Sam Spilsbury (smspillaz) |
summary: |
- gtk-window-decorator leaking window handles + gtk-window-decorator leaking window handles. Window operations become + sluggish after a few days of usage |
Changed in compiz: | |
status: | Confirmed → In Progress |
Changed in compiz-core: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 0.9.7.12 |
milestone: | 0.9.7.12 → 0.9.7.10 |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
description: | updated |
Changed in compiz-core: | |
status: | Fix Committed → Fix Released |
I have attached the valgrind logs.