Bug#833848: [gnome-shell] windows hang detection dialog had bad defaults

Landry MINOZA lminoza at mgi.fr
Tue Aug 9 12:00:05 UTC 2016


Package: gnome-shell
Version: 3.20.3-1+b1
Severity: normal

--- Please enter the report below this line. ---
When a windowed application hangs, gnome launchs a dialog asking if
user want to force close the application or wait the the application
become available.
This dialog is launched with bad defaults, if one closes it with the
window decoration button or typing [ESC] key, the application is
killed.
It caused me to lose some work a few times when an application is a
little slow to respond and I press [ESC] key to dismiss the force close
dialog. This behavior is very counter intuitive.

Expected behavior:
 - A clic on "kill" button, kills the hanging application.
 - A clic on "wait" button, closes the dialog and wait the application
become available or show the dialog again after a timeout.
 - A clic on the dialog's "close" window decoration, closes the dialog
and wait the application become available or show the dialog again
after a timeout.
 - An [ESC] key press, closes the dialog and wait the application
become available or show the dialog again after a timeout.


For information, on my system (French locale), the dialog is launched
via:
zenity --question --display :0.0 --class mutter-dialog --title  --text
<big><b>« Hello World » ne répond pas.</b></big>  Vous pouvez patienter
un instant pour continuer ou forcer l'application à quitter
définitivement. --ok-label _Attendre --cancel-label _Forcer à quitter
--icon-name face-sad-symbolic --modal


It is simple to test with a simple python script launched in a terminal
#!/usr/bin/env python
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

class MyWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Hello World")

        self.button = Gtk.Button(label="Click Here")
        self.button.connect("clicked", self.on_button_clicked)
        self.add(self.button)

    def on_button_clicked(self, widget):
        while True:
		pass

win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

After a clic on "Click Here" button, this application hangs (eating CPU
in infinite loop), clic on the "close" window decoration and gnome
suggest to kill it after a few seconds.


--- System information. ---
Architecture: amd64
Kernel:       Linux 4.6.0-1-amd64

Debian Release: stretch/sid
  500 unstable        httpredir.debian.org 
  500 testing         httpredir.debian.org 
  500 stable          security.debian.org 
  500 stable          httpredir.debian.org 
  101 experimental    httpredir.debian.org 

--- Package information. ---
Depends                              (Version) | Installed
==============================================-+-===============
gir1.2-clutter-1.0                   (>= 1.22) | 1.26.0-2
gir1.2-glib-2.0                    (>= 1.45.3) | 1.48.0-3
gir1.2-gtk-3.0                       (>= 3.16) | 3.20.7-1
gir1.2-mutter-3.0               (>= 3.20.3-1~) | 3.20.3-2
gir1.2-networkmanager-1.0                      | 1.2.2-2
gir1.2-soup-2.4                    (>= 2.40.1) | 2.54.1-1
gir1.2-telepathyglib-0.12                      | 0.24.1-1.1
dconf-gsettings-backend                        | 0.26.0-1
 OR gsettings-backend                          | 
libatk-bridge2.0-0                  (>= 2.5.3) | 2.20.1-2
libatk1.0-0                        (>= 1.12.4) | 
libc6                                (>= 2.14) | 
libcairo2                          (>= 1.10.0) | 
libcanberra-gtk3-0                   (>= 0.25) | 
libcanberra0                          (>= 0.2) | 
libclutter-1.0-0                   (>= 1.23.4) | 
libcogl-pango20                    (>= 1.17.4) | 
libcogl20                          (>= 1.17.4) | 
libcroco3                           (>= 0.6.2) | 
libdbus-glib-1-2                     (>= 0.78) | 
libecal-1.2-19                       (>= 3.17) | 
libedataserver-1.2-21                (>= 3.17) | 
libgcr-base-3-1                     (>= 3.8.0) | 
libgdk-pixbuf2.0-0                 (>= 2.22.0) | 
libgirepository-1.0-1               (>= 0.9.2) | 
libgjs0-libmozjs-24-0                          | 
libgjs0e                           (>= 1.45.4) | 
libglib2.0-0                       (>= 2.45.3) | 
libgstreamer1.0-0                   (>= 1.4.0) | 
libgtk-3-0                           (>= 3.16) | 
libical2                            (>= 2.0.0) | 
libicu57                          (>= 57.1-1~) | 
libjson-glib-1.0-0                 (>= 0.13.2) | 
libmozjs-24-0                                  | 
libmutter0h                        (>= 3.19.0) | 
libnm-glib4                       (>= 0.8.998) | 
libnm-util2                       (>= 0.8.998) | 
libpango-1.0-0                     (>= 1.14.0) | 
libpangocairo-1.0-0                (>= 1.14.0) | 
libpolkit-agent-1-0                  (>= 0.99) | 
libpolkit-gobject-1-0                (>= 0.94) | 
libpulse-mainloop-glib0            (>= 0.99.1) | 
libpulse0                          (>= 0.99.1) | 
libsecret-1-0                         (>= 0.7) | 
libstartup-notification0             (>= 0.11) | 
libsystemd0                                    | 
libtelepathy-glib0                 (>= 0.17.5) | 
libx11-6                                       | 
libxfixes3                                     | 
evolution-data-server              (>= 3.17.2) | 
gir1.2-gdm-1.0                     (>= 3.18.2) | 
gir1.2-accountsservice-1.0                     | 
gir1.2-atspi-2.0                   (>= 2.9.91) | 
gir1.2-caribou-1.0                  (>= 0.4.8) | 
gir1.2-freedesktop                             | 
gir1.2-gdesktopenums-3.0             (>= 3.12) | 
gir1.2-gcr-3                        (>= 3.7.5) | 
gir1.2-gnomebluetooth-1.0          (>= 3.12.0) | 
gir1.2-gnomedesktop-3.0            (>= 3.12.0) | 
gir1.2-gweather-3.0                            | 
gir1.2-ibus-1.0                     (>= 1.5.2) | 
gir1.2-nmgtk-1.0                    (>= 0.9.8) | 
gir1.2-pango-1.0                               | 
gir1.2-polkit-1.0                              | 
gir1.2-telepathylogger-0.2          (>= 0.8.0) | 
gir1.2-upowerglib-1.0                (>= 0.99) | 
gjs                                (>= 1.39.0) | 
gnome-settings-daemon              (>= 3.16.0) | 
gnome-shell-common                (= 3.20.3-1) | 
gnome-backgrounds                 (>= 3.13.90) | 
gsettings-desktop-schemas          (>= 3.19.2) | 
mutter                          (>= 3.20.3-1~) | 
python3                                        | 
telepathy-mission-control-5                    | 


Recommends                            (Version) | Installed
===============================================-+-=================
gkbd-capplet                                    | 3.6.0-1
gnome-contacts                                  | 3.20.0-1
gnome-control-center                            | 1:3.20.1-2
gnome-themes-standard-data                      | 3.20.2-3
gnome-user-guide                                | 3.20.2-1
gdm3                           (>= 3.10.0.1-3~) | 3.20.1-1
iio-sensor-proxy                                | 1.1-1
unzip                                           | 6.0-20


Package's Suggests field is empty.
-- 


Landry MINOZA

MGI Sud-Ouest
Chef de projet technique Linux et réseaux

E-mail : lminoza at mgi.fr



 Tél :
01 45 44 54 10






MGI France : 11 rue de Téhéran - 75008 Paris
|
RCS: Paris B 382 770 584
|
www.mgi.fr

MGI SO :
281 route d'Espagne - 31100 Toulouse
|
RCS: Toulouse B 421 125 816
|
www.mgi.fr

MGI Suisse :
5 avenue de Rothorn - CH3960 Sierre
|
TVA 517-269
|
www.mgiconsultants.ch
 



More information about the pkg-gnome-maintainers mailing list