← Back to team overview

compiz team mailing list archive

[Bug 1885435] [NEW] The wrong sequence of mouse events can render the whole system unusable


You have been subscribed to a public bug:

This is 100% reproducible with any window, I'll use a terminal window as
an example.

Steps to reproduce:

- open a terminal window (again, this could be a Gedit, Nautilus window or any other window)
- make sure the window is not maximized
- Place the mouse cursor at the center of the right border of the window, press the mouse left button and don't release it, so as to resize the window by dragging its right border
- While dragging the terminal window's right border, press and hold the mouse right button too (remember you're still holding the left button too)
- While still holding both mouse buttons pressed, move the mouse cursor away from the border of the window fast. If you move it fast enough, at some point the border will stop following the mouse cursor (which wouldn't happen if you hadn't pressed both buttons).
- While the mouse cursor is outside the terminal winow, release the right button and then the left button. Now you are no longer holding any mouse button pressed
- move the mouse cursor to the left and to right "crossing" the terminal window border, that is, move the mouse inside and outside the terminal window. Notice how, whenever the cursor "crosses" the window's right border, the border nonsensically moves a little bit following the movements of the cursor for a fraction of a second, as if you were still dragging it, but then it stops following the cursor. This is the first sign that something has gone completely berserk, but it's still nothing compared to what is coming
- while the mouse cursor is outside of the offending window (i.e. the terminal window in our example), click on something outside of it. For example, in my case that's a maximized Chrome window that's behind.

Observed disaster:

now you are unable to do anything with the mouse. Try clicking on any
window to move, close, or resize it. Try to click on stuff to give it
focus. Try to click on Launcher icons. None of this has any effect. It's
as if your mouse buttons dead.

Not even by trying to go back to the original window and press and
release the mouse buttons in any particular order while the cursor is
over the window border seems to allow you to "unlock" the system.

There's no way to recover from this situation except by KILLING the
offending window without using the mouse. For example, by using alt+tab
as many time as needed to give it focus, and then, since in this case it
is a terminal, typing "exit" and hitting Enter, so the window gets
closed and normal functioning of the mouse gets restored. If the
offending window is not a terminal window, then you can hit Ctrl+Alt+T
to open a new terminal, and then use a "kill" or "killall" command to
kill the process that owns the offending window.

Both of these imply loss of any unsaved work.

This is a fucking disaster and an incredibly stupid bug of the kind that you usually observe in "software" written by novice programmers (or rather, non-programmers such as web designers playing around with javascript) who write their first programs with mouse events (press, release, rollover, etc) and forget to take into account all possible sequences of events. Seriously, I hadn't seen such stupid mouse behavior bugs outside of the scope of amateur website UIs.

Fucking unbelievable.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: xorg 1:7.7+13ubuntu3.1
ProcVersionSignature: Ubuntu 4.4.0-179.209-generic 4.4.219
Uname: Linux 4.4.0-179-generic x86_64
NonfreeKernelModules: nvidia_uvm nvidia
.proc.driver.nvidia.gpus.0000.01.00.0: Error: [Errno 21] Is a directory: '/proc/driver/nvidia/gpus/0000:01:00.0'
.proc.driver.nvidia.registry: Binary: ""
 NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.107  Thu May 24 21:54:01 PDT 2018
 GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)
ApportVersion: 2.20.1-0ubuntu2.23
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
CurrentDesktop: Unity
Date: Sun Jun 28 17:28:05 2020
DistUpgraded: Fresh install
DistroCodename: xenial
DistroVariant: ubuntu
ExtraDebuggingInterest: No
 Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Acer Incorporated [ALI] 3rd Gen Core processor Graphics Controller [1025:0647]
 NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] [10de:1140] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: Acer Incorporated [ALI] GeForce 710M [1025:0691]
InstallationDate: Installed on 2013-10-11 (2451 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
MachineType: Acer Aspire V3-571G
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-179-generic root=UUID=5830b30e-69e8-4bb4-8a2b-bc2b43c7414a ro quiet splash vt.handoff=7
SourcePackage: xorg
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/15/2012
dmi.bios.vendor: Acer
dmi.bios.version: V2.07
dmi.board.asset.tag: Type2 - Board Asset Tag
dmi.board.name: VA50_HC_CR
dmi.board.vendor: Acer
dmi.board.version: Type2 - Board Version
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: V2.07
dmi.modalias: dmi:bvnAcer:bvrV2.07:bd10/15/2012:svnAcer:pnAspireV3-571G:pvrV2.07:rvnAcer:rnVA50_HC_CR:rvrType2-BoardVersion:cvnAcer:ct10:cvrV2.07:
dmi.product.name: Aspire V3-571G
dmi.product.version: V2.07
dmi.sys.vendor: Acer
version.compiz: compiz 1:
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.91-2~16.04.1
version.libgl1-mesa-dri: libgl1-mesa-dri 18.0.5-0ubuntu0~16.04.1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 18.0.5-0ubuntu0~16.04.1
version.nvidia-graphics-drivers: nvidia-graphics-drivers-* N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.18.4-0ubuntu0.8
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.10.1-1ubuntu2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.7.0-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20160325-1ubuntu1.2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.12-1build2
xserver.bootTime: Thu Jun  4 15:27:33 2020
xserver.configfile: /etc/X11/xorg.conf
xserver.logfile: /var/log/Xorg.0.log
xserver.version: 2:1.18.4-0ubuntu0.8

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

** Tags: amd64 apport-bug compiz-0.9 third-party-packages ubuntu xenial
The wrong sequence of mouse events can render the whole system unusable
You received this bug notification because you are a member of compiz packagers, which is subscribed to compiz in Ubuntu.