← Back to team overview

compiz team mailing list archive

[Bug 1050610] [NEW] gtk-window-decorator leaking window handles


Public bug reported:

gtk-window-decorator appears to be leaking window handles when windows
are opened. The leak(s) correspond with performance degradation over
time, especially on systems with relatively low amounts of VRAM (I have

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-decorator process
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-
decorator steadily climbs over time. While closing a window does appear
to release some pixmap memory, it does not seem to release all of it.
Performace on my system with 256MB VRAM got really bad when the number
of window handles in gtk-window-decorator climbed above 7000 and the
total pixmap memory used by gtk-window-decorator was about 75MB.

Killing + restarting gtk-window-decorator temporarily solves the

xrestop output:

xrestop - Display: localhost
          Monitoring 32 clients. XErrors: 7
          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:
ProcVersionSignature: Ubuntu 3.5.0-14.15-generic 3.5.3
Uname: Linux 3.5.0-14-generic x86_64
NonfreeKernelModules: nvidia
.proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory: '/proc/driver/nvidia/gpus/0'
.proc.driver.nvidia.registry: Binary: ""
 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)
 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/compiz-1/general/screen0/options/active_plugins'
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
 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
 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)
 kmod:nvidia_current_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
 kmod:nvidia_current - nvidia_current (Proprietary, Enabled, Not in use)
 kmod:nvidia_173_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
 kmod:nvidia_173 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
MachineType: Apple Inc. MacBookPro3,1
 PATH=(custom, no user)
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-14-generic root=UUID=4b3d81ed-fb5d-4946-97c0-ec537e1bfa3f ro quiet splash vt.handoff=7
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.0070.B07.0803051658
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: Mac-F4238BC8
dmi.board.vendor: Apple Inc.
dmi.board.version: PVT
dmi.chassis.asset.tag: Asset Tag#
dmi.chassis.type: 2
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-F4238BC8
dmi.modalias: dmi:bvnAppleInc.:bvrMBP31.88Z.0070.B07.0803051658:bd03/05/08:svnAppleInc.:pnMacBookPro3,1:pvr1.0:rvnAppleInc.:rnMac-F4238BC8:rvrPVT:cvnAppleInc.:ct2:cvrMac-F4238BC8:
dmi.product.name: MacBookPro3,1
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.
version.compiz: compiz 1:
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.39-0ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 9.0~git20120903.e1673d20.is.git20120821.c1114c61-0ubuntu1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.0~git20120903.e1673d20.is.git20120821.c1114c61-0ubuntu1
version.nvidia-graphics-drivers: nvidia-graphics-drivers N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.13.0-0ubuntu1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.99.99~git20120713.6ef1ad6a-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.20.7-0ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.2-0ubuntu1

** Affects: compiz (Ubuntu)
     Importance: Undecided
         Status: New

** Tags: amd64 apport-bug possible-manual-nvidia-install quantal running-unity ubuntu

You received this bug notification because you are a member of compiz
packagers, which is subscribed to compiz in Ubuntu.

  gtk-window-decorator leaking window handles

To manage notifications about this bug go to:

Follow ups