"“<application>” is not responding" dialog caused shell to become unresponsive
shell/mutter 3.34.0 (Ubuntu packages). Xorg w/nvidia. I guess this is likely to be a mutter bug, so reassign there if appropriate please.
I was just debugging gnome-control-center
with GDB, and the usual "is not responding" modal popped up after a while:
but this time I couldn't click anything. The Shell was still vaguely alive, as the clock was updating. I could see in top
that it and Xorg
were chewing CPU. Getting a backtrace from the shell showed it was doing this in a loop (sometimes it was here, and sometimes it was running some Javascript stuff, presumably in the signal handler?).
(gdb) bt
#0 0x00007f7178647bff in __GI___poll (fds=fds@entry=0x7ffdeac42408, nfds=nfds@entry=1, timeout=timeout@entry=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f7176276917 in poll (__timeout=-1, __nfds=1, __fds=0x7ffdeac42408)
at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2 0x00007f7176276917 in _xcb_conn_wait
(c=c@entry=0x55960db77a50, cond=cond@entry=0x7ffdeac42520, vector=vector@entry=0x0, count=count@entry=0x0)
at ../../src/xcb_conn.c:479
#3 0x00007f717627825f in wait_for_reply
(c=c@entry=0x55960db77a50, request=request@entry=1027731, e=e@entry=0x7ffdeac425e0) at ../../src/xcb_in.c:516
#4 0x00007f71762783d1 in xcb_wait_for_reply64 (c=0x55960db77a50, request=1027731, e=0x7ffdeac425e0)
at ../../src/xcb_in.c:560
#5 0x00007f71780d8e38 in _XReply () at /usr/lib/x86_64-linux-gnu/libX11.so.6
#6 0x00007f71778e51c3 in () at /usr/lib/x86_64-linux-gnu/libXi.so.6
#7 0x00007f71778e52ff in XIGrabButton () at /usr/lib/x86_64-linux-gnu/libXi.so.6
#8 0x00007f71787cf72b in meta_change_button_grab
(keys=keys@entry=0x55960e29e158, xwindow=xwindow@entry=20971535, grab=grab@entry=1, sync=sync@entry=1, button=button@entry=1, modmask=modmask@entry=-2147483648) at ../src/core/keybindings.c:1204
#9 0x00007f71787cf7d2 in meta_change_button_grab
(modmask=-2147483648, button=1, sync=1, grab=1, xwindow=20971535, keys=0x55960e29e158)
at ../src/core/keybindings.c:1236
#10 0x00007f71787cf7d2 in meta_change_buttons_grab
(keys=keys@entry=0x55960e29e158, xwindow=20971535, grab=grab@entry=1, sync=sync@entry=1, modmask=modmask@entry=-2147483648) at ../src/core/keybindings.c:1236
#11 0x00007f71787d0e9b in meta_display_grab_focus_window_button
(display=0x55960e29e020 [MetaDisplay], window=0x55961b4431f0 [MetaWindowX11])
at ../src/core/keybindings.c:1320
#12 0x00007f71787e8350 in meta_window_set_focused_internal (window=<optimised out>, focused=<optimised out>)
at ../src/core/window.c:5356
#13 0x00007f71787c7fac in meta_display_update_focus_window
(display=display@entry=0x55960e29e020 [MetaDisplay], window=window@entry=0x0) at ../src/core/display.c:1304
#14 0x00007f71787c811a in meta_display_set_input_focus
(display=0x55960e29e020 [MetaDisplay], window=0x0, focus_frame=0, timestamp=<optimised out>)
at ../src/core/display.c:1368
#15 0x00007f71787fc052 in meta_x11_display_set_input_focus_xwindow
(x11_display=0x55960e0d8dd0 [MetaX11Display], window=4194315, timestamp=672164159)
at ../src/x11/meta-x11-display.c:1931
#19 0x00007f71794c69b3 in <emit signal notify:key-focus on instance 0x55960dfac390 [MetaStage]>
(instance=instance@entry=0x55960dfac390, signal_id=<optimised out>, detail=<optimised out>)
at ../../../gobject/gsignal.c:3453
#16 0x00007f71794a96e2 in g_closure_invoke
(closure=0x55960e5ef630, return_value=0x0, n_param_values=2, param_values=0x7ffdeac42a60, invocation_hint=0x7ffdeac429e0) at ../../../gobject/gclosure.c:810
#17 0x00007f71794bd544 in signal_emit_unlocked_R
(node=node@entry=0x55960db64c40, detail=detail@entry=626, instance=instance@entry=0x55960dfac390, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffdeac42a60)
at ../../../gobject/gsignal.c:3641
#18 0x00007f71794c6327 in g_signal_emit_valist
(instance=<optimised out>, signal_id=<optimised out>, detail=<optimised out>, var_args=var_args@entry=0x7ffdea
c42c30) at ../../../gobject/gsignal.c:3397
#20 0x00007f71794ae164 in g_object_dispatch_properties_changed
(object=0x55960dfac390 [MetaStage], n_pspecs=<optimised out>, pspecs=<optimised out>)
at ../../../gobject/gobject.c:1110
#21 0x00007f71794b0722 in g_object_notify_by_spec_internal
(pspec=<optimised out>, object=0x55960dfac390 [MetaStage]) at ../../../gobject/gobject.c:1203
#22 0x00007f71794b0722 in g_object_notify_by_pspec (object=0x55960dfac390 [MetaStage], pspec=<optimised out>)
at ../../../gobject/gobject.c:1313
#23 0x00007f717796681e in ffi_call_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.6
#24 0x00007f71779661ef in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6
#25 0x00007f7178b51482 in gjs_invoke_c_function(JSContext*, Function*, JS::HandleObject, JS::HandleValueArray const&, mozilla::Maybe<JS::MutableHandle<JS::Value> >, GIArgument*)
(context=0x55960e015570, function=<optimised out>, obj=..., args=..., js_rval=..., r_value=<optimised out>)
at gi/function.cpp:1106
#26 0x00007f7178b53006 in function_call(JSContext*, unsigned int, JS::Value*)
(context=0x55960e015570, js_argc=0, vp=0x55962a61eb90) at /usr/include/mozjs-60/js/RootingAPI.h:1128
#27 0x00007f71769e5a54 in js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
(args=..., native=0x7f7178b52ee0 <function_call(JSContext*, unsigned int, JS::Value*)>, cx=0x55960e015570)
at ./debian/build/dist/include/js/CallArgs.h:270
#28 0x00007f71769e5a54 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
(cx=0x55960e015570, args=..., construct=<optimised out>) at ./js/src/vm/Interpreter.cpp:416
#29 0x00007f71769d63f3 in js::CallFromStack(JSContext*, JS::CallArgs const&) (args=..., cx=0x55960e015570)
at ./js/src/vm/Interpreter.cpp:2873
#30 0x00007f71769d63f3 in Interpret(JSContext*, js::RunState&) (cx=0x55960e015570, state=...)
at ./js/src/vm/Interpreter.cpp:2873
#31 0x00007f71769e51c6 in js::RunScript(JSContext*, js::RunState&) (cx=0x55960e015570, state=...)
at ./js/src/vm/Interpreter.cpp:385
#32 0x00007f71769e59b3 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
(cx=0x55960e015570, args=..., construct=<optimised out>) at ./js/src/vm/Interpreter.cpp:457
#33 0x00007f71769e5c1d in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) (cx=cx@entry=0x55960e015570, fval=..., fval@entry=..., thisv=...,
thisv@entry=..., args=..., rval=...) at ./js/src/vm/Interpreter.cpp:500
#34 0x00007f7176d9028c in JS_CallFunction(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSFunction*>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)
(cx=cx@entry=0x55960e015570, obj=obj@entry=..., fun=fun@entry=..., args=..., rval=..., rval@entry=...)
at ./debian/build/dist/include/js/RootingAPI.h:1090
#35 0x00007f7178b4b7e6 in JS::Call (rval=..., args=..., fun=..., thisObj=..., cx=0x55960e015570)
at /usr/include/mozjs-60/jsapi.h:3098
#36 0x00007f7178b4b7e6 in gjs_closure_invoke(_GClosure*, JS::Handle<JSObject*>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>, bool)
(closure=0x55960ee745b0, this_obj=this_obj@entry=..., args=..., retval=retval@entry=..., return_exception=return_exception@entry=true) at gi/closure.cpp:208
#37 0x00007f7178b53705 in gjs_callback_closure(ffi_cif*, void*, void**, void*)
(cif=<optimised out>, result=0x7ffdeac440c0, ffi_args=0x7ffdeac43f40, data=0x55960ee740a0)
at /usr/include/mozjs-60/js/RootingAPI.h:1128
#38 0x00007f717796660b in ffi_closure_unix64_inner () at /usr/lib/x86_64-linux-gnu/libffi.so.6
#39 0x00007f7177966986 in ffi_closure_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#40 0x00007f71787c66db in meta_display_ping_timeout (data=0x559624cafdd0,
data@entry=<error reading variable: value has been optimised out>) at ../src/core/display.c:2035
#41 0x00007f71793bf258 in g_timeout_dispatch
(source=0x559629a0ef90, callback=<optimised out>, user_data=<optimised out>) at ../../../glib/gmain.c:4668
#42 0x00007f71793be72e in g_main_dispatch (context=0x55960db64640) at ../../../glib/gmain.c:3179
#43 0x00007f71793be72e in g_main_context_dispatch (context=context@entry=0x55960db64640)
at ../../../glib/gmain.c:3844
#44 0x00007f71793beae0 in g_main_context_iterate
(context=0x55960db64640, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimised out>)
at ../../../glib/gmain.c:3917
#45 0x00007f71793bedd3 in g_main_loop_run (loop=0x55960dfd8d80) at ../../../glib/gmain.c:4111
#46 0x00007f71787d4210 in meta_run () at ../src/core/main.c:668
#47 0x000055960cbb6db5 in ()
#48 0x00007f71785591e3 in __libc_start_main (main=
0x55960cbb6950, argc=1, argv=0x7ffdeac443b8, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffdeac443a8) at ../csu/libc-start.c:308
#49 0x000055960cbb6f8e in ()
Killing the original gdb
process that I was debugging with did not bring the shell back, but it did seem to kill the looping around notify:key-focus
interestingly (the CPU usage dropped off and the backtrace became quiet).