Sometimes configure events are missed and windows move slow as a result

Bug #866752 reported by Sam Spilsbury on 2011-10-04
32
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Compiz
Medium
Sam Spilsbury
Compiz Core
Medium
Sam Spilsbury
Unity
Fix Released
Medium
Sam Spilsbury
compiz (Ubuntu)
Undecided
Sam Spilsbury
Oneiric
Undecided
Unassigned
unity (Ubuntu)
Undecided
Unassigned
Oneiric
Undecided
Unassigned

Bug Description

Our current method of tracking configure events is error prone since it's liable to interference from other plugins. A better solution is to use X Request serials like metacity does, since this is not prone to be interfered with.

TESTCASE

Move windows around, maximize, unmaximize, semi-maximize, use alt-tab
Windows shouldn't move slowly

Related branches

Changed in compiz-core:
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Sam Spilsbury (smspillaz)
milestone: none → 0.9.6
status: In Progress → Fix Committed
Changed in compiz:
status: New → Fix Committed
Changed in compiz-core:
status: Fix Committed → In Progress
Changed in compiz:
status: Fix Committed → In Progress
importance: Undecided → Medium
Changed in unity:
importance: Undecided → Medium
Changed in compiz:
assignee: nobody → Sam Spilsbury (smspillaz)
Changed in unity:
assignee: nobody → Sam Spilsbury (smspillaz)
milestone: none → 4.22.0
Changed in unity:
milestone: 4.22.0 → 4.24.0
Changed in unity:
status: New → In Progress
Changed in compiz:
status: In Progress → Fix Committed
Changed in compiz-core:
status: In Progress → Fix Committed
Changed in unity:
status: In Progress → Fix Committed
Changed in compiz (Ubuntu):
status: New → In Progress
Didier Roche (didrocks) on 2011-10-10
Changed in compiz (Ubuntu Oneiric):
status: In Progress → Fix Committed

Hello Sam, or anyone else affected,

Accepted compiz into oneiric-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Ngassam Nkwenga (cyrildz) wrote :

a clear way for us tester to reproduce this bug is welcome. Since then I can not verify the validity of this bug.
I was not aware of this bug.

I'm on the proposed repository

description: updated
Nafallo Bjälevik (nafallo) wrote :

The might move to fast now or something. They disappear for me. They are still open according to the dash though.

EXAMPLE: firefox maximised on desktop 2. meta+s and go to desktop 1, meta+s back to desktop 2 and firefox is gone. meta+s to empty desktop 4 and then meta+s back to desktop 2 and firefox is back, sometimes...

It's a very weird behaviour and not consistent. I have downgraded to the version in oneiric. Let me know if I can help test something.

tags: added: verification-failed
removed: verification-needed
Nafallo Bjälevik (nafallo) wrote :

Actually. I'm still seeing this bug after the downgrade. I'll keep searching for the cause...

tags: added: verification-needed
removed: verification-failed
Carey Underwood (cwillu) wrote :

Still occurs with with -proposed (1:0.9.6+bzr20110929-0ubuntu5)

Interesting behaviour: a window smaller than the screen will move fluidly, until its touched a screen edge. At that point, it never moves fluidly again.

However, I also seem to be experiencing several other bugs which where also marked as fixed in (1:0.9.6+bzr20110929-0ubuntu4); one's I've checked:
 * bug #748840: Open inkscape, then click on this window; when inkscape opens, it steals focus.
 * bug #863328: Open three terminals, minimize one, and trigger spread; when closing spread, the minimized window is animated briefly at its unminimized location.
 * bug #869919: Full screen this window, and then alt-tab to the inkscape window from before to bring it to front. Alt-drag the inkscape window; inkscape window disappears below the fullscreen window after releasing the drag.
* bug #832150:

Is it possible that the changes got clobbered in some way, such that the released packages didn't actually include the fixes?

tags: added: verification-failed
Carey Underwood (cwillu) wrote :

Ignore the reference to 832150 above, I haven't experienced it.

Didier Roche (didrocks) on 2011-10-14
Changed in unity:
status: Fix Committed → Fix Released
Changed in compiz-core:
status: Fix Committed → Fix Released
Changed in compiz:
status: Fix Committed → Fix Released
Miklos Juhasz (mjuhasz) wrote :

I've been using the proposed version of compiz and compiz-plugins-main ever since they were released and I have not experienced this slow movement behaviour described in this bug (and I saw it before). Bug #863328 is also fixed for me. Carey: are you sure you restarted compiz (or your computer) before testing?
The compiz release in proposed is supposed to fix 22 bugs, 12 already marked as verified and this is the only one marked as failed. Even if the situation described in this bug did not get better for some people if it did not get worse either I would not hold this update back.

Martin Pitt (pitti) wrote :

For the record, in this case (when a bug didn't get fixed, but didn't make things worse) we'd still release the update, but reopen the bug.

Sam Spilsbury (smspillaz) wrote :
Download full text (8.1 KiB)

Proposed follow up fix pending verification:

=== modified file 'debian/patches/fix-864330.patch'
--- debian/patches/fix-864330.patch 2011-10-12 10:06:03 +0000
+++ debian/patches/fix-864330.patch 2011-10-17 07:10:33 +0000
@@ -1,8 +1,8 @@
 === modified file 'plugins/move/src/move.cpp'
 Index: compiz-0.9.6+bzr20110929/plugins/move/src/move.cpp
 ===================================================================
---- compiz-0.9.6+bzr20110929.orig/plugins/move/src/move.cpp 2011-10-12 17:00:11.359395413 +0800
-+++ compiz-0.9.6+bzr20110929/plugins/move/src/move.cpp 2011-10-12 17:00:22.599451570 +0800
+--- compiz-0.9.6+bzr20110929.orig/plugins/move/src/move.cpp 2011-10-17 15:09:58.353653059 +0800
++++ compiz-0.9.6+bzr20110929/plugins/move/src/move.cpp 2011-10-17 15:10:07.081696339 +0800
 @@ -525,7 +525,7 @@
    Window xid = CompOption::getIntOptionNamed (options, "window", 0);
    int lock = CompOption::getIntOptionNamed (options, "active", 0);
@@ -14,8 +14,8 @@
   }
 Index: compiz-0.9.6+bzr20110929/src/privatescreen.h
 ===================================================================
---- compiz-0.9.6+bzr20110929.orig/src/privatescreen.h 2011-10-12 17:00:11.319395193 +0800
-+++ compiz-0.9.6+bzr20110929/src/privatescreen.h 2011-10-12 17:00:22.599451570 +0800
+--- compiz-0.9.6+bzr20110929.orig/src/privatescreen.h 2011-10-17 15:09:58.369653137 +0800
++++ compiz-0.9.6+bzr20110929/src/privatescreen.h 2011-10-17 15:10:07.081696339 +0800
 @@ -111,6 +111,8 @@
      virtual ~PendingEvent ();

@@ -45,8 +45,8 @@
      bool removeIfMatching (const PendingEvent::Ptr &p, XEvent *);
 Index: compiz-0.9.6+bzr20110929/src/privatewindow.h
 ===================================================================
---- compiz-0.9.6+bzr20110929.orig/src/privatewindow.h 2011-10-12 17:00:11.243394758 +0800
-+++ compiz-0.9.6+bzr20110929/src/privatewindow.h 2011-10-12 17:00:22.599451570 +0800
+--- compiz-0.9.6+bzr20110929.orig/src/privatewindow.h 2011-10-17 15:09:58.385653215 +0800
++++ compiz-0.9.6+bzr20110929/src/privatewindow.h 2011-10-17 15:10:07.125696557 +0800
 @@ -211,7 +211,7 @@

   void readIconHint ();
@@ -66,8 +66,8 @@
   struct timeval lastConfigureRequest;

Index: compiz-0.9.6+bzr20110929/src/window.cpp
 ===================================================================
---- compiz-0.9.6+bzr20110929.orig/src/window.cpp 2011-10-12 17:00:11.283395067 +0800
-+++ compiz-0.9.6+bzr20110929/src/window.cpp 2011-10-12 17:02:55.120207454 +0800
+--- compiz-0.9.6+bzr20110929.orig/src/window.cpp 2011-10-17 15:09:58.357653075 +0800
++++ compiz-0.9.6+bzr20110929/src/window.cpp 2011-10-17 15:10:29.229806152 +0800
 @@ -868,13 +868,16 @@

       }
@@ -116,7 +116,25 @@

   if (serverFrameGeometry.x () == xwc.x)
       valueMask &= ~(CWX);
-@@ -1012,7 +1015,6 @@
+@@ -1004,6 +1007,17 @@
+
+ }
+
++ compiz::X11::PendingEvent::Ptr pc =
++ boost::shared_static_cast<compiz::X11::PendingEvent> (compiz::X11::PendingConfigureEvent::Ptr (
++ new compiz::X11::PendingConfigureEvent (
++ screen->dpy (), serverFrame, valueMask, &xwc)));
++
++ pendingConfigures.add (pc);
++ if (priv->mClearCheckTimeout.active ())
++ priv->mClearCheckT...

Read more...

Changed in unity:
milestone: 4.24.0 → 4.26.0
Changed in compiz (Ubuntu):
assignee: nobody → Sam Spilsbury (smspillaz)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.6+bzr20110929-0ubuntu5

---------------
compiz (1:0.9.6+bzr20110929-0ubuntu5) oneiric-proposed; urgency=low

  * debian/patches/fix-864330.patch:
    - fix windows which can have towed moving (LP: #864330)
  * debian/patches/fix-864478.patch:
    - Window shading is broken (LP: #864478)

compiz (1:0.9.6+bzr20110929-0ubuntu4) oneiric-proposed; urgency=low

  * debian/control:
    - don't suggest nvidia-glx, it's part of the old initial packaging
      and probably a bad hint on non nvidia system (LP: #844218)
  * Cherry-pick upstream patches:
    - Windows should not automatically be focused when opened if the focus
      is on another application (LP: #748840)
    - Launcher - If a spread contains minimised windows, when the spread
      exits, the minimised windows momentarily appear on the desktop
      before disappearing (LP: #863328)
    - reproducible stacking bug in compiz (LP: #869316)
    - Click-dragging a window that's stacked above a fullscreen window will
      cause it to go underneath the fullscreen window (LP: #869919)
    - sometimes the keyboard input doesn't go to the apparently focussed
      dialog (LP: #869967)
    - Opening mumble can cause it to be stacked above the dash if you
      open the dash at the same time (LP: #865863)
    - Sometimes configure events are missed and windows move slow as a result
      (LP: #866752)
    - Workaround ubuntu desktop unity. Mouse at the left side doesn't reveal
      launcher (LP: #832150)
 -- Didier Roche <email address hidden> Wed, 12 Oct 2011 10:44:49 +0200

Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
Changed in compiz (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Martin Pitt (pitti) wrote :

Carey, if this still happens for you, please yell here. But as it seems fixed for other people and you did not report the bug, you probably see a different cause, and it's better to open a new bug. Thanks!

tags: added: oneiric
removed: verification-failed verification-needed
Changed in unity (Ubuntu):
status: New → Invalid
Changed in unity (Ubuntu Oneiric):
status: New → Invalid
Mathew Hodson (mathew-hodson) wrote :

A task for the unity package was just added on 2014-07-24. Was that a mistake? It seems that this bug was fixed and should no longer affect the unity package.

Changed in unity (Ubuntu):
status: Invalid → New
Changed in unity (Ubuntu Oneiric):
status: Invalid → New
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in unity (Ubuntu Oneiric):
status: New → Won't Fix
Changed in unity (Ubuntu):
status: New → Fix Released
no longer affects: ayatana-design
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers