Last Softwareupdate critical - Desktop crashes

After a fresh installation of dietpi 8.15 (on raspberry pi 3+ 2GB) everything was running fine. So I did the last upgrade (yesterday) via apt upgrade and 3 packages were updated. I don’t know exactly which ones, but the last released ones.
I have the Mate-Desktop and it is working for days, but after last update it’s very unstable and crashes after few seconds/minutes. Display is gone and comes back after some minutes, but only again for a short time. I don’t have to take any action on the desktop the crashes will come for sure.

PS: I have taken a new Build from today and did all the updates only, started the mate-desktop and have the same effect - so it’s reproducable very easily.

What is to do? How can I undo the last upgrades? Can you fix it maybe with hotfix-upgrades directly???

As far as I understood you need only the content of file “.xsession-errors” and here it is:

Xsession: X session started for dietpi at Di 21. Mär 10:52:34 CET 2023
WARNING: tempfile is deprecated; consider using mktemp instead.
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: setting DISPLAY=:0
dbus-update-activation-environment: setting XAUTHORITY=/home/dietpi/.Xauthority
localuser:dietpi being added to access control list
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting USER=dietpi
dbus-update-activation-environment: setting XDG_SESSION_TYPE=x11
dbus-update-activation-environment: setting HOME=/home/dietpi
dbus-update-activation-environment: setting DESKTOP_SESSION=lightdm-xsession
dbus-update-activation-environment: setting XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: setting LOGNAME=dietpi
dbus-update-activation-environment: setting XDG_SESSION_CLASS=user
dbus-update-activation-environment: setting PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
dbus-update-activation-environment: setting XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
dbus-update-activation-environment: setting XDG_RUNTIME_DIR=/run/user/1000
dbus-update-activation-environment: setting DISPLAY=:0
dbus-update-activation-environment: setting LANG=de_DE.UTF-8
dbus-update-activation-environment: setting XDG_SESSION_DESKTOP=lightdm-xsession
dbus-update-activation-environment: setting XAUTHORITY=/home/dietpi/.Xauthority
dbus-update-activation-environment: setting XDG_GREETER_DATA_DIR=/var/lib/lightdm/data/dietpi
dbus-update-activation-environment: setting SHELL=/bin/bash
dbus-update-activation-environment: setting GDMSESSION=lightdm-xsession
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
dbus-update-activation-environment: setting PWD=/home/dietpi
dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/share/mate:/usr/local/share/:/usr/share/
Failed to spawn gnome-keyring-daemon: Kindprozess »gnome-keyring-daemon« konnte nicht ausgeführt werden (Datei oder Verzeichnis nicht gefunden)
x-session-manager[641]: WARNING: Could not parse desktop file /home/dietpi/.config/autostart/dietpi-desktop_setup.desktop: Die Schlüsselwertedatei hat keinen Schlüssel »Name« in der Gruppe »Desktop Entry«
x-session-manager[641]: GLib-GObject-CRITICAL: object GsmAutostartApp 0x55ad46d9a0 finalized while still in-construction
x-session-manager[641]: GLib-GObject-CRITICAL: Custom constructor for class GsmAutostartApp returned NULL (which is invalid). Please use GInitable instead.
x-session-manager[641]: WARNING: could not read /home/dietpi/.config/autostart/dietpi-desktop_setup.desktop
x-session-manager[641]: WARNING: Unable to find provider '' of required component 'dock'
Warnung der Fensterverwaltung:Log level 128: unsetenv() is not thread-safe and should not be used after threads are created

(caja:819): Gtk-WARNING **: 10:52:42.007: Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register client

(nm-applet:839): Gdk-CRITICAL **: 10:52:46.872: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

(mate-panel:733): Gtk-WARNING **: 10:52:55.535: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.

(caja:819): Gtk-WARNING **: 11:02:46.204: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.

(caja:819): Gtk-WARNING **: 11:03:03.046: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:03.051: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:03.339: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:03.341: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.057: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.057: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.075: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.076: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.094: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.095: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.114: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.115: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.188: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.189: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.206: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.206: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.223: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.224: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.241: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.242: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 11:03:08.258: GtkLabel 0x558989df30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 11:03:08.259: GtkLabel 0x558989df30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

(caja:819): Gtk-WARNING **: 12:00:20.081: GtkLabel 0x558a53cf30 adjusted size horizontal min 72 natural 72 must not decrease below min 73 natural 73

(caja:819): Gtk-WARNING **: 12:00:20.088: GtkLabel 0x558a53cf30 attempted to adjust its size allocation from 208,8 73x24 to 207,8 74x24. adjust_size_allocation must keep allocation inside original bounds

####################### EOF

I guess you updated to latest Raspberry Pi kernel. Theoretically you could try to go back to previous version. Maybe that would make a difference.

Or do you have a backup? If yes, you could restore to previous state and check what packages has been updated.

That is a good point - what is installed via apt (beside dietpi):

raspberrypi-kernel-headers
network-manager-gnome
traceroute
gedit
cmake
build-essential
libcupsimage2-dev
system-config-printer
and a proxydriver_1.62_all.deb


I just purged the raspberrypi-kernel-headers, but the effect is still the same!
Or did you mean it differently?

Unfortunately there is no backup and a fresh old installation will do the automatic updates. So :frowning:

How can I see the last updated packages? The file in /var/log/apt/history.log is empty.

grep " install " /var/log/dpkg.log

Even that file has 0 bytes - so no result. Anything else a hint what was updates latest? in var/log is nothing to find (why ever - I mean there were some updates, although I have taken the last release today)

Using default DeietPi log settings, /var/log is cleared on hourly basis. Therefore files are empty.

Yes, this is not what I mean. Headers are used to compile other modules using dpkg. probably you need to reinstall before next kernel update.

To downgrade your current kernel version, you can use rpi-update GitHub - raspberrypi/rpi-update: An easier way to update the firmware of your Raspberry Pi

apt install rpi-update
sudo rpi-update oldstable
reboot

This should downgrade your kernel from 6.1.19 to 5.10.103

Thankyou very much - that works.

Probably something that would need to be reported upstream to RPI developer to have a look why the new kernel is giving errors in your case.

Yes, that might help - any idea how I can contact they at best?

You can use the offical GitHub repository Issues · raspberrypi/firmware · GitHub

What for did you install raspberrypi-kernel-headers? I’m just thinking that a compiled kernel module of course needs to be recompiled to work with the new kernel.

Which 3 package upgrades were offered? raspberrypi-kernel, raspberrypi-kernel-headers and raspberrypi-bootloader, nothing else?

I’ve done it because the instruction for a wifi-software 88x2bu said that this is necessary (but finally I changed the package anyway - so maybe not needed now).
The effect I’ve got was happening on a DEV-System, and I had no idea what to do. The final phase of the project was reached and now such an effect. Then I thought, we have no way back so just try it on the other device:
RPi4 (8GB) instead of RPi 3+ (2GB)
and a bigger Screen.

I’ve done step by step from the beginning on (starting with the same last dietpi-image and take all updates) and it was stable there :face_exhaling:
So if I will find more insights, I will share with you but for now I’m focus on the Pi4 and there it runs since hours without the desktop crashing.

Theoretically you could try to swap SD card from RPi4 into RPi3, just for testing. And did you checked how memory consumption looks like? Maybe it’s reaching some limits on the RPi3?

Probably its also the GPU driver/settings. On Raspberry Pi OS, KMS is the default since a while, probably the desktop/X has issues with the legacy driver. Compare /boot/config.txt of both systems, especially if the SD card working fine on RPi 4 does work on RPi 3 as well.

If I see it right, the only difference is that in the RP4-config there is the only one additional line at the end (the other small differences are commented out):
dtoverlay=rpivid-v4l2

BUT, I take the complete configured and working sdcard from the RP4 to the RP3 with the smaller screen and effect was the same.

SO, I’ve take the Raspberry3+ (2GB) and connected that with the bigger screen and it was stable enough.

Ergo: For whatever reason, the last update has problems with the smaller screen only.

did you already report to Raspberry kernel developer?

yes

1 Like

ok let’s see if someone is going to react from kernel developer side.

Very strange that a smaller screen causes issues.

Do you use KMS?

grep 'dtoverlay=vc4-kms-v3d' /boot/config.txt

If not, use it and see whether this makes a difference:

G_CONFIG_INJECT 'dtoverlay=vc4-kms-v3d' 'dtoverlay=vc4-kms-v3d' /boot/config.txt

Btw, wrap console logs like this into code fences to make them readable (on GitHub, but same here => Markdown syntax):

```
code line 1
code line 2
```