Bug 2255719 - Reproducible gnome-shell signal 11 crash at on_got_localed_proxy_for_getting_default_input_sources
Summary: Reproducible gnome-shell signal 11 crash at on_got_localed_proxy_for_getting_...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-shell
Version: 39
Hardware: aarch64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-12-23 17:33 UTC by pjv
Modified: 2024-01-04 21:44 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
trace (123.67 KB, text/plain)
2024-01-01 19:08 UTC, pjv
no flags Details

Description pjv 2023-12-23 17:33:10 UTC
Affected version

Fedora Asahi Remix 39. 6.6.3-406.asahi.fc39.aarch64+16k. (Apple ARM)
gnome-shell-45.2-1.fc39
Wayland. Same with Xorg but gives a crash screen instead of black screen.
Extensions disabled with gnome-extensions-app.


Bug summary
When starting gdm, gnome-shell crashes. I am able to start Gnome with ‘dbus-run-session – gnome-shell --display-server --wayland’ without problems. The problem started when I upgraded from Fedora Asahi Remix 38 to 39. This is 100% reproducible and does not depend on load.

The root cause of the bug has been discovered over at gnome, see https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7262. They point to a merge request from downstream, so I am assuming that is Fedora. See also my post at Asahi Fedora remix: https://discussion.fedoraproject.org/t/upgrade-to-fedora-39-results-in-black-screen-no-terminal/99118/8.

Steps to reproduce

systemctl start gdm (or simply at boot if service is enabled)

What happened
Gdm freezes. Black screen with tiny cursor. Can´t switch tty. From journalctl I see that gnome-shell has crashed.

Trace with gdb: https://pastebin.com/afnthAqG
journalctl -g gdm -r : https://pastebin.com/ZfqBMez0

Reproducible: Always

Comment 1 Adam Williamson 2023-12-30 22:15:09 UTC
it was backported to support the new installer workflow. that was pushed to rawhide, so the backport might not really be needed in f39 any more (I actually thought ray might have taken it out already).

Comment 2 Michael Catanzaro 2023-12-30 23:41:02 UTC
It's indeed not actually needed in F39, but probably for the best that we shipped it as now we learn about this problem now rather than six months from now.

Anyway, nice backtrace, but please attach it directly to the bug so we don't lose it in case pastebin ever decides to delete old pastes in the future. Here are the top few frames. Looks like we failed to get the localed proxy for some reason, which is really bad. Worse, ***sd_dbus_locale1_proxy_new_finish() failed to return an error*** which is why it crashed. Perhaps we should check whether the return value is NULL rather than whether the error is set for additional robustness, but IMO this is a bug in GDBus as it should surely set the error if it returns NULL.

Thread 1 (Thread 0xffff0b708020 (LWP 1873) "gnome-shell"):
#0  on_got_localed_proxy_for_getting_default_input_sources (object=<optimized out>, result=<optimized out>, main_task=0xaaabbbbb0b90) at ../libgnome-desktop/gnome-languages.c:1579
        proxy = 0xaaabba9f63f0
        error = 0x0
        input_sources = 0xaaabbbc58180
        locale_input_source = 0x0
        input_method_language = 0x0
        locale_data = <optimized out>
        system_locale = 0x0
        layouts_string = 0x0
        variants_string = 0x0
        options_string = 0x0
        layouts = 0x0
        number_of_layouts = 0
        variants = 0x0
        number_of_variants = 0
        options = 0x0
        type = 0x0
        id = 0x0
        i = 0
        defaults = <optimized out>
#1  0x0000ffff0bbe2178 [PAC] in g_task_return_now (task=0xaaabbbbb0c50) at ../gio/gtask.c:1371
No locals.
#2  0x0000ffff0bbe6a0c [PAC] in g_task_return (type=<optimized out>, task=0xaaabbbbb0c50) at ../gio/gtask.c:1440
        source = 0xfffee4018b70
        source = <optimized out>
        source_name = <optimized out>
#3  g_task_return (task=0xaaabbbbb0c50, type=<optimized out>) at ../gio/gtask.c:1397
        source = <optimized out>
        source_name = <optimized out>
#4  0x0000ffff0bbe7004 [PAC] in g_task_return_pointer (task=<optimized out>, result=<optimized out>, result_destroy=<optimized out>) at ../gio/gtask.c:1881
        __func__ = "g_task_return_pointer"
#5  0x0000ffff0a3e6118 in on_got_localed_proxy (object=<optimized out>, result=<optimized out>, sub_task=0xaaabbbbb0c50) at ../libgnome-desktop/gnome-languages.c:1492
        proxy = 0x0
        error = 0x0

Comment 3 pjv 2024-01-01 19:08:50 UTC
Created attachment 2006743 [details]
trace

Comment 4 pjv 2024-01-01 19:21:07 UTC
How many Fedora 39 users are affected by this bug? Or why am only I seeing this? My locale is nl-BE. But I've tried removing that system locale in /etc/locale.conf with no success. I didn´t think of changing it in gnome. (I am currently on Fedora 38.) 

gsettings get org.gnome.system.locale region
'nl_BE.UTF-8'

Comment 5 Michael Catanzaro 2024-01-01 23:42:55 UTC
(In reply to pjv from comment #4)
> How many Fedora 39 users are affected by this bug?

To answer this question, you can look in ABRT and see if you can find a link to a report on retrace.fedoraproject.org.

It looks like your localed is broken, which is bad. But I have seen similar crashes reported in the past, and of course we shouldn't crash just because a service is broken.

Comment 6 pjv 2024-01-02 14:52:47 UTC
Indeed,

sudo localectl status
Could not get properties: Access denied

Due to SELinux, which I managed to repair now.

Comment 7 pjv 2024-01-04 21:44:11 UTC
It seems the repair indeed took away the triggering issue for me. I went back to Fedora 39 and am now successfully running gnome-shell-45.2-1.fc39.


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