gnome-shell crashes on startup in `gdk_x11_screen_get_xscreen` called from `shell_tray_manager_manage_screen`
Affected version
gnome-shell-3.35.92 on Fedora 32
Bug summary
gnome-shell as a Wayland compositor (the default on Fedora) crashed at startup.
Another following attempt worked, smells like a race at startup.
Steps to reproduce
- Log in GNOME on Wayland
What happened
gnome-shell crashed and I was gently returned to the login screen.
What did you expect to happen
A gnome-shell on Wayland session
Relevant logs, screenshots, screencasts etc.
Backtrace gives:
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 gdk_x11_screen_get_xscreen (screen=screen@entry=0x0) at gdkscreen-x11.c:434
(gdb) bt
#0 gdk_x11_screen_get_xscreen (screen=screen@entry=0x0) at gdkscreen-x11.c:434
#1 0x00007f301514ec07 in na_tray_manager_manage_screen_x11 (manager=0x7f3008044ce0 [NaTrayManager]) at ../src/tray/na-tray-manager.c:708
#2 na_tray_manager_manage_screen (manager=0x7f3008044ce0 [NaTrayManager]) at ../src/tray/na-tray-manager.c:800
#3 0x00007f301514662c in shell_tray_manager_manage_screen (manager=0x564265248320 [ShellTrayManager], theme_widget=0x564264254f10 [Gjs_ui_panel_Panel])
at ../src/shell-tray-manager.c:215
#4 0x00007f301346baf0 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#5 0x00007f301346b2ab in ffi_call (cif=cif@entry=0x56426526d198, fn=<optimized out>, rvalue=<optimized out>,
rvalue@entry=0x7ffdd6b73778, avalue=avalue@entry=0x7ffdd6b73680) at ../src/x86/ffi64.c:525
#6 0x00007f301452b593 in gjs_invoke_c_function(JSContext*, Function*, JS::HandleObject, JS::HandleValueArray const&, mozilla::Maybe<JS::MutableHandle<JS::Value> >, GIArgument*) (context=<optimized out>, function=0x56426526d180, obj=..., args=..., js_rval=..., r_value=<optimized out>) at ../gi/function.cpp:1116
#7 0x00007f301452cea8 in function_call(JSContext*, unsigned int, JS::Value*) (context=0x564262dc12f0, js_argc=1, vp=0x564263152180)
at /usr/include/mozjs-68/js/RootingAPI.h:1212
#8 0x00007f30120a6df8 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
(args=..., native=0x7f301452cd70 <function_call(JSContext*, unsigned int, JS::Value*)>, cx=0x564262dc12f0)
at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/dist/include/js/CallArgs.h:284
#9 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (cx=0x564262dc12f0, args=..., construct=<optimized out>)
at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/vm/Interpreter.cpp:515
#10 0x00007f3012098495 in js::CallFromStack(JSContext*, JS::CallArgs const&) (args=..., cx=<optimized out>)
at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/vm/Interpreter.cpp:3082
#11 Interpret(JSContext*, js::RunState&) (cx=0x564262dc12f0, state=...) at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/vm/Interpreter.cpp:3082
#12 0x00007f30120a6386 in js::RunScript(JSContext*, js::RunState&) (cx=0x564262dc12f0, state=...)
at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/vm/Interpreter.cpp:423
#13 0x00007f30120a6d02 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
(cx=0x564262dc12f0, args=..., construct=js::NO_CONSTRUCT) at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/vm/Interpreter.cpp:563
#14 0x00007f30120a74cd in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)
(cx=<optimized out>, fval=..., thisv=..., args=..., rval=...) at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/vm/Interpreter.cpp:606
#15 0x00007f3011da026c in JS_CallFunction(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSFunction*>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) (cx=cx@entry=0x564262dc12f0, obj=obj@entry=..., fun=fun@entry=..., args=..., rval=..., rval@entry=...)
at /usr/src/debug/mozjs68-68.5.0-1.fc32.x86_64/dist/include/js/RootingAPI.h:1212
#16 0x00007f3014525812 in JS::Call (rval=..., args=..., fun=..., thisObj=..., cx=0x564262dc12f0) at /usr/include/mozjs-68/jsapi.h:1590
#17 gjs_closure_invoke(_GClosure*, JS::Handle<JSObject*>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>, bool)
(closure=0x5642659868b0, this_obj=this_obj@entry=..., args=..., retval=retval@entry=..., return_exception=return_exception@entry=true)
at ../gi/closure.cpp:211
#18 0x00007f301452d5ed in gjs_callback_closure(ffi_cif*, void*, void**, void*)
(cif=<optimized out>, result=0x7ffdd6b74ca0, ffi_args=0x7ffdd6b74b20, data=0x564264c6cb20) at /usr/include/mozjs-68/js/RootingAPI.h:1212
#19 0x00007f301346b8af in ffi_closure_unix64_inner
(closure=<optimized out>, rvalue=<optimized out>, reg_args=<optimized out>, argp=0x7ffdd6b74cc0 "\240\207IaBV") at ../src/x86/ffi64.c:670
#20 0x00007f301346bc58 in ffi_closure_unix64 () at ../src/x86/unix64.S:229
#21 0x00007f3014dba44b in g_idle_dispatch (source=source@entry=0x564265986900, callback=0x7f2ff981b1d0, user_data=0x564264c6cb20) at ../glib/gmain.c:5755
#22 0x00007f3014dbe76f in g_main_dispatch (context=0x5642614c8180) at ../glib/gmain.c:3309
#23 g_main_context_dispatch (context=0x5642614c8180) at ../glib/gmain.c:3974
--Type <RET> for more, q to quit, c to continue without paging--
#24 0x00007f3014dbeaf8 in g_main_context_iterate (context=0x5642614c8180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4047
#25 0x00007f3014dbee0b in g_main_loop_run (loop=0x564262d77ce0) at ../glib/gmain.c:4241
#26 0x00007f301423cba0 in meta_run () at ../src/core/main.c:676
#27 0x000056425fde9ca9 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:552
Edited by Olivier Fourdan