Bug 1581454 - mutter crash
Summary: mutter crash
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: mutter
Version: 7.4
Hardware: All
OS: Linux
urgent
high
Target Milestone: rc
: ---
Assignee: Florian Müllner
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: 1622035 1622036
TreeView+ depends on / blocked
 
Reported: 2018-05-22 19:20 UTC by Alan Matsuoka
Modified: 2018-10-30 10:29 UTC (History)
7 users (show)

Fixed In Version: mutter-3.28.2-5.el7
Doc Type: If docs needed, set a value
Doc Text:
Prior to this update, there was an error in the mutter compositor. As a consequence, in some cases the system terminated unexpectedly when a user moved parent window of a dialog. With this update, the bug has been fixed and the described problem no longer occurs.
Clone Of:
: 1622035 1622036 (view as bug list)
Environment:
Last Closed: 2018-10-30 10:28:16 UTC
Target Upstream Version:


Attachments (Terms of Use)
java reproducer (3.17 KB, text/plain)
2018-05-22 19:20 UTC, Alan Matsuoka
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:3140 0 None None None 2018-10-30 10:29:55 UTC

Description Alan Matsuoka 2018-05-22 19:20:06 UTC
Created attachment 1440280 [details]
java reproducer

Description of problem:
1) gnome-shell is "crashing" when a modal Java popup is programmatically popped down if the user is in the process of moving/resizing the parent window. 

Version-Release number of selected component (if applicable):
all

How reproducible:
recreateable using the attached test code.

Steps to Reproduce:

1) Start the SwingTest application
2) Click the "Popup" button.
3) Observe the new modal popup entitled "Modal" pops up.
4) Observe the stdout emits "In 3...\nIn 2...\nIn 1...\nBOOM!?".
5) Observe the modal popup comes down
6) Repeat steps 2-4, however during step 4, before "BOOM!?" is output, begin moving the parent window "Test" (grab title bar and start moving the window around), make sure the window is still being moved when "BOOM!?" is output.  (Note: being in the process of resizing also seems to work, there may be other actions that will cause the issue).
7) Observe that when the modal popup comes down the window manager "crashes" (in our environment, sometimes it restores itself others it kicks to login screen).


Actual results:
mutter will crash on an assertion

Expected results:

no crash
Additional info:

Comment 2 Alan Matsuoka 2018-05-22 19:21:20 UTC
Where are you experiencing the behavior?  What environment?

Within attached test application (which is a distillation of our production code).  Code was compiled and executed with Java jdk1.8.0_112 (and jdk1.6.0_15 and other Java versions, under no version was the proper behavior encountered, though different bad behavior can be seen in the resize tests from 1.6 to 1.8).

When does the behavior occur? Frequently?  Repeatedly?   At certain times?

Repeatedly

What information can you provide around timeframes and the business impact?

Our organization is migrating from RHEL 5 to RHEL 7 and this is impacting the deployment of our applications to the new hardware/software.

Comment 3 Alan Matsuoka 2018-05-22 19:23:57 UTC
diff -up mutter-3.26.2/src/core/window.c.focus-unmanage mutter-3.26.2/src/core/window.c
--- mutter-3.26.2/src/core/window.c.focus-unmanage	2018-05-22 10:32:59.495260835 -0400
+++ mutter-3.26.2/src/core/window.c	2018-05-22 10:34:03.824925352 -0400
@@ -1475,7 +1475,6 @@ meta_window_unmanage (MetaWindow  *windo
                   window->desc);
     }
 
-  g_assert (window->display->focus_window != window);
 
   if (window->struts)
     {

removing this assertion seems to resolve the problem. The assertion was introduced in 
https://bugzilla.gnome.org/show_bug.cgi?id=647706

But it's not in the original metacity code.

Comment 6 Florian Müllner 2018-05-25 20:24:00 UTC
(In reply to Alan Matsuoka from comment #3)
> removing this assertion seems to resolve the problem.

No, that's a work-around and not a fix - the issue is that for some reason we fail to move the focus to a different window when the focus window is destroyed.

I've been able to reproduce the problem and proposed a fix upstream:
https://gitlab.gnome.org/GNOME/mutter/merge_requests/118

Comment 7 Tomas Pelka 2018-05-30 06:39:25 UTC
(In reply to Florian Müllner from comment #6)
> (In reply to Alan Matsuoka from comment #3)
> > removing this assertion seems to resolve the problem.
> 
> No, that's a work-around and not a fix - the issue is that for some reason
> we fail to move the focus to a different window when the focus window is
> destroyed.
> 
> I've been able to reproduce the problem and proposed a fix upstream:
> https://gitlab.gnome.org/GNOME/mutter/merge_requests/118

I can see the proposed change was merged is there something else that need to be done?

Comment 12 Florian Müllner 2018-07-26 15:08:09 UTC
(In reply to Tomas Pelka from comment #7)
> (In reply to Florian Müllner from comment #6)
>
> > I've been able to reproduce the problem and proposed a fix upstream:
> > https://gitlab.gnome.org/GNOME/mutter/merge_requests/118
> 
> I can see the proposed change was merged

No, it hasn't been merge yet. But the feedback was generally positive, so this should be good to ship downstream.

Comment 26 errata-xmlrpc 2018-10-30 10:28:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:3140


Note You need to log in before you can comment on or make changes to this bug.