FS#77830 - [caja] strange behavior after glib2 update

Attached to Project: Community Packages
Opened by Stefano Milani (sm92) - Sunday, 12 March 2023, 21:26 GMT
Last edited by Toolybird (Toolybird) - Sunday, 19 March 2023, 20:31 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander Epaneshnikov (alex19EP)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
After today's update from glib2 2.74.6-1 -> 2.76.0-1 the MATE desktop behaves strangely:
- desktop icons are NOT shown at startup
- if from the terminal I type e.g. caja /home I get an error message:
Could not register the application: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
- if I type caja --check from the terminal the icons reappear, but after a few seconds they disappear!
- in the panel the button that indicates the active window the small line at the bottom continues to flash
- some applications applied the default Adwaita theme, but after a few reboots they reverted to the theme chosen by the user
- i tried reinstalling glib2 but it didn't fix

Arch Linux x86_64
Kernel Linux 6.2.5-arch1-1 x86_64
MATE 1.26.0
CPU: AMD A8-7410 APU with AMD Radeon R5 Graphics × 4
GRAPHICS: KABINI (, LLVM 15.0.7, DRM 2.50, 6.2.5-arch1-1)

Steps to reproduce:
upgrade glib2 to 2.76.0-1 in a fully updated system with MATE DE and reboot
This task depends upon

Closed by  Toolybird (Toolybird)
Sunday, 19 March 2023, 20:31 GMT
Reason for closing:  Fixed
Additional comments about closing:  Reporter says "After update mate-desktop at 1.26.1-1 version works fine."
Comment by Toolybird (Toolybird) - Monday, 13 March 2023, 00:37 GMT
Cannot repro, all works fine here in a fresh VM test. The last time something like this happened at glib2 upgrade time, the user had a self-compiled gtk or AUR gtk-classic or some other AUR shite like that installed. Does this apply to you?
Comment by sparklyballs (sparklyballs) - Monday, 13 March 2023, 01:29 GMT
I'm having an issue with Gnome DE and this update.
if i try to open the users section of the settings , it displays a message that no users can be found and crashes out.
i downgraded to the previous version of the package and I can open the section.

also during a manual installation , there are a lot of critical errors appearing referencing glib:gio when installing gnome.


[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET]
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET] (appstreamcli:24920): GLib-GIO-CRITICAL **: 17:50:14.485: GFileInfo created without standard::is-hidden
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET]
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET] (appstreamcli:24920): GLib-GIO-CRITICAL **: 17:50:14.485: file ../glib/gio/gfileinfo.c: line 1587 (g_file_info_get_is_hidden): should not be reached
Comment by rgoose (rgoose) - Monday, 13 March 2023, 02:02 GMT
Same behavior. I can successfully execute caja as root

journalctl -b shows repeated core dumps

systemd-coredump[836]: [🡕] Process 668 (caja) of user 1000 dumped core.

Stack trace of thread 668:
#0 0x00007ff969959fc1 n/a (libmate-desktop-2.so.17 + 0x15fc1)
#1 0x00007ff9689c5afb g_main_context_dispatch (libglib-2.0.so.0 + 0x5aafb)
#2 0x00007ff968a225d9 n/a (libglib-2.0.so.0 + 0xb75d9)
#3 0x00007ff9689c3382 g_main_context_iteration (libglib-2.0.so.0 + 0x58382)
#4 0x00007ff968bf4cee g_application_run (libgio-2.0.so.0 + 0xddcee)
#5 0x0000559ab16811ce main (caja + 0x4a1ce)
#6 0x00007ff968396790 n/a (libc.so.6 + 0x23790)
#7 0x00007ff96839684a __libc_start_main (libc.so.6 + 0x2384a)
#8 0x0000559ab1681255 _start (caja + 0x4a255)

Comment by Toolybird (Toolybird) - Monday, 13 March 2023, 06:30 GMT
> if i try to open the users section of the settings , it displays a message that no users can be found and crashes out.

> also during a manual installation , there are a lot of critical errors appearing referencing glib:gio when installing gnome.

Just tried a fresh Gnome install in a VM and yeah, I'm seeing both of those symptoms.

Attached is a "bt full" of the the gnome-control-center crash.
Comment by Jan Alexander Steffens (heftig) - Monday, 13 March 2023, 13:31 GMT
Most likely a use-after-free in accountsservice that got exposed by the removal of the slice allocator.
Comment by Jan Alexander Steffens (heftig) - Monday, 13 March 2023, 17:14 GMT
The GNOME Settings crash should be fixed in accountsservice 22.08.8-3.
Comment by Toolybird (Toolybird) - Monday, 13 March 2023, 19:21 GMT
Thanks for the crash fix. The other Gnome issue is the spammy output in pacman.log during install. It's produced by:

90-update-appstream-cache.hook

It might just be harmless log spam but someone should look into it. Can be repro'd with:

$ /usr/bin/appstreamcli refresh-cache --force

Edit: https://github.com/ximion/appstream/issues/470
Comment by rgoose (rgoose) - Monday, 13 March 2023, 21:21 GMT
Unfortunately, updating accountsservice (with pacman -Syu) does not resolve this issue for me, caja still crashes repeatedly.

Reinstalling Mate "sudo pacman -S mate mate-extra" temporarily fixes the behavior, but it comes back when it start closing windows.

Suggestions on specific log files to post would be helpful!

Thanks!
Comment by sparklyballs (sparklyballs) - Monday, 13 March 2023, 21:26 GMT
Comment by Jan Alexander Steffens (heftig) - Monday, 13 March 2023, 17:14 GMT
The GNOME Settings crash should be fixed in accountsservice 22.08.8-3.


i can confirm it has fixed the user section crash in settings.
Comment by rgoose (rgoose) - Tuesday, 14 March 2023, 13:31 GMT
A few other comments, perhaps to help the OP:
It appears I can resolve this issue by creating a new user account. Despite my best efforts I can't replicate the crash on the new account.
I removed the whole .cache and .config folders from the home directory of the user experiencing the issue and was able to log in and operate the computer without caja crashing.
The crashing issue returns (for the user originally experiencing the issue) if I use a picture for a desktop background, if I switch back to the standard vertical gradient, the issue goes away. Again I can't replicate this for the new user.

Any suggestions on logs to post or hidden, user specific, config files to delete, would be awesome!

Comment by Stefano Milani (sm92) - Tuesday, 14 March 2023, 13:32 GMT
I can confirm latest update of accountsservice NOT solve the issue. Caja still crashes repeatedly and icons in desktop appear and disappear random.

I have tried to reinstall mate, but without success.

When icon disappear i try type $caja /home caja start, but with many errors and when click "X" to close application crash with core dump (SEE ATTACHED FILE caja_core_dump.txt)
after this try immediately type $caja /home and appears Could not register the application: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
and caja NOT start.
Then the icons return, randomly.

journalctl -b shows repeated core dumps
mar 14 12:59:50 flavio systemd[1]: systemd-coredump@2065-37100-0.service: Deactivated successfully.
mar 14 12:59:50 flavio systemd[1]: systemd-coredump@2065-37100-0.service: Consumed 1.480s CPU time.
mar 14 12:59:51 flavio kernel: traps: caja[37106] general protection fault ip:7f04c0251fc1 sp:7ffc29da47a0 error:0 in libmate-desktop-2.so.17.1.4[7f04c024d000+27000]
mar 14 12:59:51 flavio systemd[1]: Started Process Core Dump (PID 37117/UID 0).
mar 14 12:59:51 flavio systemd-coredump[37118]: Removed old coredump core.caja.1000.e726b8c023bd44129be73ea3d94f47c0.30186.1678794111000000.zst.
mar 14 12:59:52 flavio systemd-coredump[37118]: Process 37106 (caja) of user 1000 dumped core.

Stack trace of thread 37106:
#0 0x00007f04c0251fc1 n/a (libmate-desktop-2.so.17 + 0x15fc1)
#1 0x00007f04bf2b3afb g_main_context_dispatch (libglib-2.0.so.0 + 0x5aafb)
#2 0x00007f04bf3105d9 n/a (libglib-2.0.so.0 + 0xb75d9)
#3 0x00007f04bf2b1382 g_main_context_iteration (libglib-2.0.so.0 + 0x58382)
#4 0x00007f04bf4e2cee g_application_run (libgio-2.0.so.0 + 0xddcee)
#5 0x00005585cc0201ce main (caja + 0x4a1ce)
#6 0x00007f04bec86790 n/a (libc.so.6 + 0x23790)
#7 0x00007f04bec8684a __libc_start_main (libc.so.6 + 0x2384a)
#8 0x00005585cc020255 _start (caja + 0x4a255)

Stack trace of thread 37110:
#0 0x00007f04bed5d9df __poll (libc.so.6 + 0xfa9df)
#1 0x00007f04bf31053f n/a (libglib-2.0.so.0 + 0xb753f)
#2 0x00007f04bf2b1382 g_main_context_iteration (libglib-2.0.so.0 + 0x58382)
#3 0x00007f04bf2b13d2 n/a (libglib-2.0.so.0 + 0x583d2)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37111:
#0 0x00007f04bed5d9df __poll (libc.so.6 + 0xfa9df)
#1 0x00007f04bf31053f n/a (libglib-2.0.so.0 + 0xb753f)
#2 0x00007f04bf2b30cf g_main_loop_run (libglib-2.0.so.0 + 0x5a0cf)
#3 0x00007f04bf514e4c n/a (libgio-2.0.so.0 + 0x10fe4c)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37113:
#0 0x00007f04bed5d9df __poll (libc.so.6 + 0xfa9df)
#1 0x00007f04bf31053f n/a (libglib-2.0.so.0 + 0xb753f)
#2 0x00007f04bf2b1382 g_main_context_iteration (libglib-2.0.so.0 + 0x58382)
#3 0x00007f04bb611fde n/a (libdconfsettings.so + 0x5fde)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37116:
#0 0x00007f04bed630dd syscall (libc.so.6 + 0x1000dd)
#1 0x00007f04bf304ff3 g_cond_wait_until (libglib-2.0.so.0 + 0xabff3)
#2 0x00007f04bf27df93 n/a (libglib-2.0.so.0 + 0x24f93)
#3 0x00007f04bf2e3fbb n/a (libglib-2.0.so.0 + 0x8afbb)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37109:
#0 0x00007f04bed630dd syscall (libc.so.6 + 0x1000dd)
#1 0x00007f04bf304a35 g_cond_wait (libglib-2.0.so.0 + 0xaba35)
#2 0x00007f04bf27dfc4 n/a (libglib-2.0.so.0 + 0x24fc4)
#3 0x00007f04bf2e343e n/a (libglib-2.0.so.0 + 0x8a43e)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37112:
#0 0x00007f04bed630dd syscall (libc.so.6 + 0x1000dd)
#1 0x00007f04bf304ff3 g_cond_wait_until (libglib-2.0.so.0 + 0xabff3)
#2 0x00007f04bf27df93 n/a (libglib-2.0.so.0 + 0x24f93)
#3 0x00007f04bf2e3fbb n/a (libglib-2.0.so.0 + 0x8afbb)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37114:
#0 0x00007f04bed630dd syscall (libc.so.6 + 0x1000dd)
#1 0x00007f04bf304ff3 g_cond_wait_until (libglib-2.0.so.0 + 0xabff3)
#2 0x00007f04bf27df93 n/a (libglib-2.0.so.0 + 0x24f93)
#3 0x00007f04bf2e3fbb n/a (libglib-2.0.so.0 + 0x8afbb)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)

Stack trace of thread 37115:
#0 0x00007f04bed630dd syscall (libc.so.6 + 0x1000dd)
#1 0x00007f04bf304ff3 g_cond_wait_until (libglib-2.0.so.0 + 0xabff3)
#2 0x00007f04bf27df93 n/a (libglib-2.0.so.0 + 0x24f93)
#3 0x00007f04bf2e3fbb n/a (libglib-2.0.so.0 + 0x8afbb)
#4 0x00007f04bf2e17c5 n/a (libglib-2.0.so.0 + 0x887c5)
#5 0x00007f04bece8bb5 n/a (libc.so.6 + 0x85bb5)
#6 0x00007f04bed6ad90 n/a (libc.so.6 + 0x107d90)
ELF object binary architecture: AMD x86-64
mar 14 12:59:52 flavio systemd[1]: systemd-coredump@2066-37117-0.service: Deactivated successfully.
mar 14 12:59:52 flavio systemd[1]: systemd-coredump@2066-37117-0.service: Consumed 1.503s CPU time.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 14 March 2023, 14:18 GMT
This is most likely a use-after-free in Caja or one of its libraries that got exposed by the removal of the slice allocator in GLib.
Comment by Steve (TechXero) - Tuesday, 14 March 2023, 19:53 GMT
I have issue with dirty output with flatpak in terminal.. Nothing else yet...
```
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET]
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET] (appstreamcli:24920): GLib-GIO-CRITICAL **: 17:50:14.485: GFileInfo created without standard::is-hidden
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET]
[2023-03-12T17:50:17+0000] [ALPM-SCRIPTLET] (appstreamcli:24920): GLib-GIO-CRITICAL **: 17:50:14.485: file ../glib/gio/gfileinfo.c: line 1587 (g_file_info_get_is_hidden): should not be reached
```

It's all over, with `glib2-2.76.0-1` and `appstream-0.16.1-2`
Comment by Stefano Milani (sm92) - Tuesday, 14 March 2023, 20:55 GMT
After today's latest updates (and restart) caja got worse, besides not showing icons on the desktop now it ALWAYS crashes after a few seconds from startup. I wanted to use it to update the backup on the external drive before deleting all /home and recreating the user to (perhaps?) fix the problem, as another user suggested, but it's impossible... I'll have to do it tomorrow using the command line or another file manager. You can do something to solve it, because so MATE is really UNUSABLE. P.S. It always crashes whether the external drive is plugged in or unplugged...
Also the system is slow to shut down despite having an SSD.
Thank you.
Comment by Stefano Milani (sm92) - Wednesday, 15 March 2023, 18:32 GMT
I have tried to remove user and creating a new account with obviously NO results.
The problem is NOT in caja package BUT in libmate-desktop
Apply this commit [1] in mate-desktop package fix the issue.

[1] https://github.com/mate-desktop/mate-desktop/pull/538/commits/64a162e2e95a2943ca9f40562d091e7c86e27e0a

SEE ALSO: [2] https://github.com/mate-desktop/mate-desktop/issues/548
Comment by Alexander Epaneshnikov (alex19EP) - Saturday, 18 March 2023, 19:55 GMT
hello I updated mate to 1.27. pleas try that. it's currently in community-testing

Loading...