29

I have installed a Ubuntu GNOME and found that I am getting lots of PROGRAM is not responding messages.

I have either to "Force Quit" the program or "Wait" for it a little more.

I've noticed that each time I wait for the program, the program eventually continues without issues.

So, I think there might be a "timeout" configuration for programs to be considered non-responding and I want to increase this timeout.

Lucio
  • 18,843
malhobayyeb
  • 1,422
  • Same issue here. I working often on a network directory and my the message came in most case just before the file is saved. So I need to just click on wait. I search for a solution with gnome-shell. – Willi Mar 04 '14 at 02:36
  • I am also facing the same issue, however I have figured out where exactly the problem lies. Care to collaborate on fixing this ? http://tuxdna.in/blog/2014/07/15/how-to-configure-is-not-responding-window-timeout/ – tuxdna Jul 16 '14 at 11:24
  • Feature request I filed independently of reading this: https://gitlab.gnome.org/GNOME/mutter/issues/32 – Nathaniel M. Beaver Aug 06 '19 at 17:53
  • What is happening for me is that I am loading back into a game, the loading screen is working fine, then I get this warning which exits the loading back to desktop, I go to open the game again.. get the warning again.. repeat – Callam Delaney Apr 15 '20 at 14:48

4 Answers4

16

It could not be configured, because the timeout value is defined as constant value in the mutter source. gnome-shell refers mutter library. I found the timeout value at the mutter source, mutter-3.10.4/src/core/display.c.

...
#define PING_TIMEOUT_DELAY 5000

And it's used by a below function named as meta_display_ping_window

ping_data->ping_timeout_id = g_timeout_add (PING_TIMEOUT_DELAY, meta_display_ping_timeout, ping_data);

It's referred from the function when the window is activated:

window_activate(mutter-3.10.4/src/core/window.c) -> meta_window_check_alive(mutter-3.10.4/src/core/delete.c) -> meta_display_ping_window(mutter-3.10.4/src/core/display.c)

As you can see at above, the timeout is 5 seconds.

You can modify the value just for you because mutter is open source project.

And the timeout value is referred another case when the window is closed. Window delete flow is as

meta_window_delete(mutter-3.10.4/src/core/delete.c) -> meta_window_check_alive(mutter-3.10.4/src/core/delete.c) -> meta_display_ping_window(mutter-3.10.4/src/core/display.c)

However, I think that you need to modify the source for your delayed window. Or I think that you can discuss about it with the mutter developers/maintainers.

You can prepare the build environment and get the source with following commands.

$ sudo apt-get build-dep mutter
$ sudo apt-get source mutter

To build it, Refer

https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html https://wiki.debian.org/BuildingTutorial

kos
  • 35,891
xiaodongjie
  • 2,824
  • 1
  • 18
  • 37
4

Use can change the mutter value via dconf (/org/gnome/mutter/check-alive-timeout) - default is 5000.

  • Good but some reference / explanation on how to do that would be helpful. – Marc Vanhoomissen Oct 17 '23 at 10:32
  • use the ubuntu dconf editor (sudo apt-get -y install dconf-editor if you do not have it installed yet), go to the describes path and alter the value > 5000. Really not that hard to do even for novices (it's like Windows registry) – Stefan Haas Oct 19 '23 at 16:43
2

This bug was fixed. A backport was released for Ubuntu 18 as gnome-shell 3.28.4 on 2019-6-6. See How To Disable the "Window not responding" Dialog

user10489
  • 4,051
  • 1
    pulling info from the link: for mutter ≥ 3.35.92, gsettings set org.gnome.mutter check-alive-timeout 60000 sets it to 60 seconds – chronospoon Jan 09 '24 at 18:58
0

I don’t know if answering this old question has any sense, but maybe for someone it will be helpful.

I tried to build the mutter library from source, but I gave up, because this library depends on many other libraries, and those libraries also depends on other libraries.

I needed a way to close this dialog once if it appears, but I was not able to close it in the wine application. So I wrote a small script in bash, that will kill this window if it appears.

#!/bin/bash 

while [  true ]; do
    VAL=$(ps -fA | grep "class mutter-dialog" | grep -cv grep)

    if [ $VAL -eq 1 ]
    then
            ID=$(ps -fA | grep "class mutter-dialog" | grep -v grep | awk '{print $2}')
            sleep 5
            echo killing $ID
            kill $ID
            exit 0
    fi

    sleep 10
done
Tom
  • 29
  • 7