compiz leaks window handles (and pixmaps?)

Bug #1065657 reported by Steve Magoun on 2012-10-11
This bug affects 13 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)

Bug Description

Compiz leaks window handles when closing windows, according to xrestop.

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 pixmap memory ('Pxm mem') associated with the Compiz 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 3 extra window handles for the Compiz on my system.
4) Close the window

Expected results:
After closing the terminal window, the number of window handles held by the compiz process returns to the level observed in step 2

Actual results:
The number of window handles does not decrease; Compiz retains the window handles for the closed window. It's reliably 3 window handles for each terminal window on my system. I haven't checked other window types (dialogs, etc).

The above steps also produce a 1KB leak of pixmap memory on my system. I am not sure if this is related.

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: compiz 1:
ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5
Uname: Linux 3.5.0-17-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.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)
 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.6.1-0ubuntu3
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
Date: Thu Oct 11 15:04:36 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-17-generic, x86_64: installed
 virtualbox, 4.1.18, 3.5.0-14-generic, x86_64: installed
 virtualbox, 4.1.18, 3.5.0-15-generic, x86_64: installed
 virtualbox, 4.1.18, 3.5.0-16-generic, x86_64: installed
 virtualbox, 4.1.18, 3.5.0-17-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_experimental_304 - Experimental 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)
 kmod:nvidia_current_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
 kmod:nvidia_173_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)
MachineType: Apple Inc. MacBookPro3,1
PackageArchitecture: all
 PATH=(custom, no user)
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-17-generic root=UUID=4b3d81ed-fb5d-4946-97c0-ec537e1bfa3f ro quiet splash
SourcePackage: compiz
UpgradeStatus: Upgraded to quantal on 2012-08-07 (65 days ago) 03/05/08
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBP31.88Z.0070.B07.0803051658
dmi.board.asset.tag: Base Board Asset Tag 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: 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-0ubuntu1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.0-0ubuntu1
version.nvidia-graphics-drivers: nvidia-graphics-drivers N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.13.0-0ubuntu6
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.99.99~git20120913.8637f772-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.20.9-0ubuntu2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.2-0ubuntu3

Steve Magoun (smagoun) wrote :
Changed in compiz:
milestone: none →
Daniel van Vugt (vanvugt) wrote :

I can't test this on quantal due to bug 1065794 :(

Changed in compiz:
importance: Undecided → High
Launchpad Janitor (janitor) wrote :

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

Changed in compiz (Ubuntu):
status: New → Confirmed
Changed in compiz:
milestone: →
Steve Magoun (smagoun) wrote :

I can't reproduce the pixmap leak in 13.04 (compiz 1:0.9.9~daily13.01.21-0ubuntu1), but the window handle leak is still present. After a few days' usage in 13.04, the compiz process has more than a thousand window handles even though I have only a handful of apps+windows open (browser, editor, terminal, mail client).

Changed in compiz:
milestone: →
Changed in compiz:
milestone: →
MC Return (mc-return) on 2013-07-24
Changed in compiz:
milestone: →
Steve Magoun (smagoun) wrote :

I can no longer reproduce this on 13.10 with compiz 1:0.9.10+13.10.20131011-0ubuntu1

Stephen M. Webb (bregma) wrote :

I can reproduce the window handle leak in Compiz (Ubuntu 14.04 LTS) but not the pixmap leak.

Changed in compiz:
milestone: →
status: New → Triaged
Changed in compiz (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → High

I see the Window handle leak also in Ubuntu 14.10. With newer kernel & HW, it once cause Compiz to be OOM-killed (see bug 1415926).

This was with Compiz 1:0.9.12+14.10.201409.

Stephen M. Webb (bregma) on 2015-02-03
Changed in compiz:
milestone: →
To post a comment you must log in.