New window tracking system breaks in the case where windows try to restack relative to destroyed windows that were never mapped

Bug #723014 reported by Sam Spilsbury
112
This bug affects 23 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Critical
Sam Spilsbury
compiz (Ubuntu)
Fix Released
Critical
Jason Smith
Natty
Fix Released
Critical
Jason Smith
unity (Ubuntu)
Fix Released
Critical
Canonical Desktop Experience Team
Natty
Fix Released
Critical
Canonical Desktop Experience Team

Bug Description

Binary package hint: compiz

Currently we aren't tracking windows that haven't been mapped in the case that they are override redirect, however sometimes these windows can be destroyed by the time CreateNotify arrives and we might get Configure requests to try and stack windows relative to them however since they are not in our internal window lists this will fail and cause weird things to happen. For example

 - Invisible windows (windows being managed the wrong way around)
 - On suspend resume, gnome-screensaver creates a few windows then destroys them right afterwards, this causes weirdness when it tries to stack relative to those windows and fails.

Changed in compiz (Ubuntu):
assignee: nobody → Sam "SmSpillaz" Spilsbury (smspillaz)
importance: Undecided → Critical
milestone: none → ubuntu-11.04-beta-1
status: New → Confirmed
Changed in unity:
importance: Undecided → Critical
assignee: nobody → Sam "SmSpillaz" Spilsbury (smspillaz)
milestone: none → 3.6
Alex Launi (alexlauni)
Changed in unity:
status: New → Confirmed
Changed in unity (Ubuntu Natty):
status: New → Confirmed
Changed in unity:
milestone: 3.6 → 3.6.2
Changed in unity:
milestone: 3.6.2 → 3.6.8
Revision history for this message
Jason Smith (jassmith) wrote :

Working on creating the ability to keep invalid windows in the compiz stack for a couple seconds after deletion

Changed in compiz (Ubuntu Natty):
assignee: Sam "SmSpillaz" Spilsbury (smspillaz) → Jason Smith (jassmith)
status: Confirmed → In Progress
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

@Sam, Jason: I marked bu #733409 as a duplicate, seems to give some info there.

Revision history for this message
Ngassam Nkwenga (cyrildz) wrote :

I'm the one who post the bug 733409, I re-put here what I said before as I think it is a path of the solution for this weird problem :

every time I open a new window, this one hasn't the focus,
what is expected is that this window gets the focus when it get opened.

What I noticed :
when launching the new window application, the launcher hide itself, but as the window is not maximized , the launcher reappear, that is why the window looses the focus once opened.

way to reproduce it : launch an application
if the application is not maximized and far away from the launcher, the window looses the focus.

very Important : observe all details when the window is getting opened : the launcher hide itself and reappear again after the window is opened , I think this behavior is related to other bugs with same problem : Bug 729929, Bug 728690 and other related.
 May be here that is main problem.

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 723014] Re: New window tracking system breaks in the case where windows try to restack relative to destroyed windows that were never mapped

On Sat, Mar 12, 2011 at 1:38 AM, Jason Smith <email address hidden> wrote:
> Working on creating the ability to keep invalid windows in the compiz
> stack for a couple seconds after deletion
>

This is not the correct solution. A better way of doing this is making
sure that we track the windows somehow in core (have two lists?) and
ensure that plugins don't get initialized until MapRequest.

> ** Changed in: compiz (Ubuntu Natty)
>       Status: Confirmed => In Progress
>
> ** Changed in: compiz (Ubuntu Natty)
>     Assignee: Sam "SmSpillaz" Spilsbury (smspillaz) => Jason Smith (jassmith)
>
> --
> You received this bug notification because you are a member of Unity
> Bugs, which is subscribed to unity in ubuntu.
> https://bugs.launchpad.net/bugs/723014
>
> Title:
>  New window tracking system breaks in the case where windows try to
>  restack relative to destroyed windows that were never mapped
>
> Status in Unity:
>  Confirmed
> Status in “compiz” package in Ubuntu:
>  In Progress
> Status in “unity” package in Ubuntu:
>  Confirmed
> Status in “compiz” source package in Natty:
>  In Progress
> Status in “unity” source package in Natty:
>  Confirmed
>
> Bug description:
>  Binary package hint: compiz
>
>  Currently we aren't tracking windows that haven't been mapped in the
>  case that they are override redirect, however sometimes these windows
>  can be destroyed by the time CreateNotify arrives and we might get
>  Configure requests to try and stack windows relative to them however
>  since they are not in our internal window lists this will fail and
>  cause weird things to happen. For example
>
>   - Invisible windows (windows being managed the wrong way around)
>   - On suspend resume, gnome-screensaver creates a few windows then destroys them right afterwards, this causes weirdness when it tries to stack relative to those windows and fails.
>

--
Sam Spilsbury

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Working on some testcases at lp:~smspillaz/testing/stackingtest to try and figure out roughly what is going on.

Revision history for this message
Ngassam Nkwenga (cyrildz) wrote :

I tried the today update, and I notice that there is a change, still some issue with focus , but it is better now

Revision history for this message
Marco Biscaro (marcobiscaro2112) wrote :

The same is happening here and with some other people (see bug #740905) when using the classical desktop. Almost sure it's a compiz' issue, not an unity's one.

Changed in unity:
milestone: 3.6.8 → 3.8
Revision history for this message
Ngassam Nkwenga (cyrildz) wrote :

Hey Guys, this issue is fixed for me now. Great Job, Congrats to all of you !!!!!!!!!!

Changed in unity:
milestone: 3.8 → 3.8.2
Changed in compiz (Ubuntu Natty):
milestone: ubuntu-11.04-beta-1 → ubuntu-11.04
Changed in unity (Ubuntu Natty):
milestone: none → ubuntu-11.04
assignee: nobody → Canonical Desktop Experience Team (canonical-dx-team)
importance: Undecided → Critical
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

It should be fixed with the stack attack hack for now. But will reopen for oneric

Changed in unity:
status: Confirmed → Fix Committed
Changed in unity (Ubuntu Natty):
status: Confirmed → Fix Committed
Changed in compiz (Ubuntu Natty):
status: In Progress → Fix Committed
Changed in unity:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.9 KiB)

This bug was fixed in the package unity - 3.8.2-0ubuntu1

---------------
unity (3.8.2-0ubuntu1) natty; urgency=low

  * New upstream release.
    - compiz crashed with SIGSEGV in std::_List_node_base::_M_hook()
      (LP: #711916)
    - New window tracking system breaks in the case where windows try to
      restack relative to destroyed windows that were never mapped
      (LP: #723014)
    - does not display icons until hovered (LP: #726033)
    - Unity Launcher has black spaces where icons should be (LP: #729353)
    - compiz crashed with SIGSEGV in sigc::internal::signal_emit0<void,
      sigc::nil>::emit() (LP: #729715)
    - compiz crashed with SIGSEGV in SimpleLauncherIcon::OnIconThemeChanged()
      (LP: #741652)
    - compiz crashed with SIGSEGV in free() (LP: #738864)
    - compiz crashed with SIGSEGV in g_closure_invoke() (LP: #741674)
    - compiz crashed with SIGSEGV in free() (LP: #742300)
    - Unity can't get touch the touch initialization signals from GEIS
      (LP: #742555)
    - Windows that reparent away from the root before they are mapped can
      cause other windows to become invisible (and compiz to crash)
      (LP: #743011)
    - compiz crashed with SIGSEGV in gdk_cairo_set_source_pixbuf()
      (LP: #744231)
    - [dash] Keyboard navigation not implemented as specified (LP: #608132)
    - xterms broken in unity (LP: #692463)
    - Unity opens application menu on Alt+F10 shortcut (LP: #722674)
    - First four items in Dash begin "Find" "Find" "Find" "Find" (LP: #729002)
    - Increase the size of the top left Launcher reveal area from 1px to a
      slightly larger triangle that comes out of the top left corner
      (LP: #736034)
    - Add a test case for invisible windows regressions (LP: #736876)
    - Re-sync with xquerytree to avoid stacking order issues (LP: #740465)
    - Keyboard navigation: quicklist not opening for Trash launcher item
      (LP: #741793)
    - Wrong window moves (LP: #741656)
    - compiz crashed with SIGSEGV in
      SimpleLauncherIcon::ActivateLauncherIcon() (LP: #742110)
    - Combo in the search bar did not disappear after the places was closed
      (LP: #742712)
    - Expo doesn't quit reliably when using keynav or shortcut (LP: #744196)
    - Make the BFB icon turn blue when an application goes urgent
      (LP: #744973)
    - Launcher - increase "launcher reveal %" for 'Fade and slide' launcher
      reveal transition to 65% (LP: #745602)
    - Arrows do not fade out with rest of launcher durring DND (LP: #746811)
    - Don't create windows over the launcher (LP: #688816)
    - Launcher - Indicate which application is currently focused with a
      glowing Launcher icon (LP: #676604)
    - Unity Grid is broken for multi-monitor setups (LP: #709221)
    - dynamic quicklists are not working (LP: #729074)
    - When windows open for the first time they should not hide the launcher
      (LP: #723878)
    - it is still possible to quit unity from the panel (LP: #733725)
    - Selection does not fit small icons in Unity Dash (LP: #735746)
    - Unmounting media gives no error when failed (LP: #737633)
    - ATI/fglrx workaround patch (LP: #740298)
    - "Files & Folders" tooltip say...

Read more...

Changed in unity (Ubuntu Natty):
status: Fix Committed → Fix Released
Changed in unity:
milestone: 3.8.2 → 3.8.4
status: Fix Released → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.4+bzr20110406-0ubuntu1

---------------
compiz (1:0.9.4+bzr20110406-0ubuntu1) natty; urgency=low

  * new upstream bzr tarball:
    - display/size problems with xterm (LP: #748137)
    - fix crashes on tcl/tk applications (LP: #741074, #747439)
    - fix grab on compose keys (LP: #747323)
    - resync stack at regular interval to avoid invisible windows
      (LP: #723014, #743011, #736876, #740465, #684590)
    - fix weird order in alt + tab (LP: #175874)
    - fix crash in gitk (LP: #743011, #741074)
    - avoid compiz detection by fglrx driver (LP: #740298)
    - Wrong window moves (LP: #741656, #743634)
    - Unity Grid is broken for multi-monitor setups (LP: #709221)
    - Feature Freeze Exception: Animation for Grid Plugin Previews (LP: #744104)
    - unity-window-decorator crashed with SIGSEGV in gdk_window_get_events()
      (LP: #725284)
    - fix xterm (LP: #692463)
    - start the decorator on a secondary screen (LP: #730495)
  * debian/patches/090_git_fix_new_invisible_windows.patch,
    debian/patches/100_bump_core.h.patch:
    - upstreamed
  * debian/patches/01_unity_window_decorator.patch
    debian/patches/085_add_grid_plugin.patch:
    - in bzr upstream tarball
 -- Didier Roche <email address hidden> Wed, 06 Apr 2011 19:37:45 +0200

Changed in compiz (Ubuntu Natty):
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
Revision history for this message
Peter Gaultney (petergaultney) wrote :

Running a fairly well-updated version of the Natty beta, and I'm having this issue. At first I thought it was Chrome being weird, but it's definitely certain regions of the screen that don't respond to any mouse clicks. Seems like there may have been a regression?

Linux emperornattyx64-U33Jc 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Compiz 0.9.4.0
unity 3.8.6

Unrelatedly, "compiz -v" cores, saying that -v is an unknown option, despite the insistence of the man page that it's a valid shorthand for --version. I might file a separate bug report for this if I can't find another record of it.

I'm happy to provide debug support today if anyone has the time to suggest test cases, etc. Also, if any additional information about my system would be helpful, let me know.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

I got redirected here from bug 740905 (Some buttons are (partly) un-clickable), which is STILL NOT FIXED FOR ME.
See also bug 709461 and this thread: ubuntuforums.org/showthread.php?t=1747222.

Revision history for this message
Paul van Genderen (paulvg) wrote :

Either this hasn't been fixed yet or there's another issue which hasn't been properly triaged yet. It occurs rather frequently, even inside the text box where I'm writing this comment right now. It's as if there's a hidden-but-always-on-top U-shaped window, but it could be a box as well. I wanted to make a screencast but I could only click the istanbul icon once. I think it's still recording. Anyway, I used a camera phone to record the attached video but I couldn't see it myself because of #327082. FGLRX is enabled.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

That's the switcher frame being left behind bug. This will be fixed in
the next natty update

On Tue, Jun 7, 2011 at 7:07 AM, Paul van Genderen
<email address hidden> wrote:
> Either this hasn't been fixed yet or there's another issue which hasn't
> been properly triaged yet. It occurs rather frequently, even inside the
> text box where I'm writing this comment right now. It's as if there's a
> hidden-but-always-on-top U-shaped window, but it could be a box as well.
> I wanted to make a screencast but I could only click the istanbul icon
> once. I think it's still recording. Anyway, I used a camera phone to
> record the attached video but I couldn't see it myself because of
> #327082. FGLRX is enabled.
>
> ** Attachment added: "bug.webm"
>   https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/723014/+attachment/2157922/+files/bug.webm
>
> --
> You received this bug notification because you are a member of Canonical
> Desktop Experience Team, which is a bug assignee.
> https://bugs.launchpad.net/bugs/723014
>
> Title:
>  New window tracking system breaks in the case where windows try to
>  restack relative to destroyed windows that were never mapped
>
> Status in Unity:
>  Fix Released
> Status in “compiz” package in Ubuntu:
>  Fix Released
> Status in “unity” package in Ubuntu:
>  Fix Released
> Status in “compiz” source package in Natty:
>  Fix Released
> Status in “unity” source package in Natty:
>  Fix Released
>
> Bug description:
>  Binary package hint: compiz
>
>  Currently we aren't tracking windows that haven't been mapped in the
>  case that they are override redirect, however sometimes these windows
>  can be destroyed by the time CreateNotify arrives and we might get
>  Configure requests to try and stack windows relative to them however
>  since they are not in our internal window lists this will fail and
>  cause weird things to happen. For example
>
>   - Invisible windows (windows being managed the wrong way around)
>   - On suspend resume, gnome-screensaver creates a few windows then destroys them right afterwards, this causes weirdness when it tries to stack relative to those windows and fails.
>

--
Sam Spilsbury

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

@Paul:
See bug 789580, which is already fixed in natty-proposed.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.