Desktop error after updating glib2?

Hello dear Garuda Linux forum. About two days ago, there was an update from glib2 version 2.74.6-1 to 2.76.0-1. I believe there were about 12 other updates included as well.

The next day when I started my laptop, I immediately noticed that the mouse icon was switching back and forth between normal and the hourglass. At the same time, all icons for apps/programs on the desktop were disappearing and reappearing briefly, then disappearing again and so on. Right-clicking on the desktop no longer brought up a context menu, and launching apps/programs from the desktop was also no longer possible. So I reverted the update using a snapshot.

Today, I took the trouble to update one program at a time, then rebooted each time, and lo and behold, the described error/bug always occurred when I updated glib2. Currently, all apps/programs have been updated except for glib2, and I no longer have any errors on my desktop. I wanted to ask if anyone has had similar experiences? I tried several different kernels, but the error occurred with all of them.

Here is my garuda-inxi (although without the latest version of glib2):

garuda-inxi

System:
  Kernel: 6.2.6-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=ba56f824-905b-4446-b2a6-3eb12bddbe2d rw [email protected]
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3 ibt=off
  Desktop: MATE v: 1.26.0 info: mate-panel wm: marco v: 1.26.1 vt: 7
    dm: LightDM v: 1.32.0 Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Micro-Star product: GF75 Thin 10UEK v: REV:1.0
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Micro-Star model: MS-17F5 v: REV:1.0 serial: <superuser required>
    UEFI: American Megatrends v: E17F5IMS.103 date: 04/14/2021
Battery:
  ID-1: BAT1 charge: 28.3 Wh (58.6%) condition: 48.3/51.3 Wh (94.2%)
    volts: 11.6 min: 11.4 model: MSI BIF0_9 type: Li-ion serial: N/A
    status: not charging
CPU:
  Info: model: Intel Core i7-10750H bits: 64 type: MT MCP arch: Comet Lake
    gen: core 10 level: v3 note: check built: 2020 process: Intel 14nm family: 6
    model-id: 0xA5 (165) stepping: 2 microcode: 0xF4
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
    L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 2791 high: 4901 min/max: 800/5000 scaling:
    driver: intel_pstate governor: performance cores: 1: 2600 2: 4901 3: 2600
    4: 2600 5: 2600 6: 2600 7: 2600 8: 2600 9: 2600 10: 2600 11: 2600 12: 2600
    bogomips: 62399
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Micro-Star MSI
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: none bus-ID: 00:02.0 chip-ID: 8086:9bc4
    class-ID: 0300
  Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q]
    vendor: Micro-Star MSI driver: nvidia v: 525.89.02
    alternate: nouveau,nvidia_drm non-free: 525.xx+
    status: current (as of 2023-02) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 16 link-max: gen: 4 speed: 16 GT/s bus-ID: 01:00.0
    chip-ID: 10de:2520 class-ID: 0300
  Device-3: Bison HD Webcam type: USB driver: uvcvideo bus-ID: 1-11:6
    chip-ID: 5986:211c class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.7 with: Xwayland v: 22.1.8
    compositor: marco v: 1.26.1 driver: X: loaded: modesetting,nvidia
    unloaded: nouveau alternate: fbdev,intel,nv,vesa dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1016x286mm (40.00x11.26")
    s-diag: 1055mm (41.55")
  Monitor-1: HDMI-1-0 pos: primary,right res: 1920x1080 hz: 60 dpi: 82
    size: 598x336mm (23.54x13.23") diag: 686mm (27.01") modes: N/A
  Monitor-2: eDP-1 pos: left res: 1920x1080 hz: 144 dpi: 128
    size: 382x215mm (15.04x8.46") diag: 438mm (17.26") modes: N/A
  API: OpenGL v: 4.6 Mesa 22.3.6 renderer: Mesa Intel UHD Graphics (CML GT2)
    direct-render: Yes
Audio:
  Device-1: Intel Comet Lake PCH cAVS vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel bus-ID: 1-5:4
    alternate: snd_soc_skl,snd_sof_pci_intel_cnl chip-ID: 9886:0015
    class-ID: 0300 bus-ID: 00:1f.3 chip-ID: 8086:06c8 class-ID: 0403
  Device-2: NVIDIA GA106 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 01:00.1 chip-ID: 10de:228e
    class-ID: 0403
  Device-3: Astro Gaming A50 type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Sound API: ALSA v: k6.2.6-zen1-1-zen running: yes
  Sound Interface: sndio v: N/A running: no
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.67 running: yes
Network:
  Device-1: Intel Comet Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:06f0 class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 3000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 1-14:7 chip-ID: 8087:0026 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 0 state: down
    bt-service: enabled,running rfk-block: hardware: no software: yes
    address: <filter>
Drives:
  Local Storage: total: 953.87 GiB used: 253.73 GiB (26.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVLQ1T0HALB-00000 size: 953.87 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: FXV7000Q temp: 17.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 427.52 GiB size: 427.52 GiB (100.00%)
    used: 253.72 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p6 maj-min: 259:6
  ID-2: /boot/efi raw-size: 524 MiB size: 523 MiB (99.80%)
    used: 908 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p8 maj-min: 259:8
  ID-3: /home raw-size: 427.52 GiB size: 427.52 GiB (100.00%)
    used: 253.72 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p6 maj-min: 259:6
  ID-4: /var/log raw-size: 427.52 GiB size: 427.52 GiB (100.00%)
    used: 253.72 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p6 maj-min: 259:6
  ID-5: /var/tmp raw-size: 427.52 GiB size: 427.52 GiB (100.00%)
    used: 253.72 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p6 maj-min: 259:6
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.44 GiB used: 1.8 MiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 7.67 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p7 maj-min: 259:7
Sensors:
  System Temperatures: cpu: 51.0 C pch: 43.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 356 Uptime: 54m wakeups: 1 Memory: 15.44 GiB
  used: 7.78 GiB (50.4%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 Packages: pm: pacman pkgs: 1750
  libs: 537 tools: octopi,pamac,paru,trizen Shell: Bash v: 5.1.16
  running-in: mate-terminal inxi: 3.3.25
Garuda (2.6.15-1):
  System install date:     2022-12-16
  Last full system update: 2023-03-12
  Is partially upgraded:   Yes
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            accounts-daemon.service 
  • HookZ-
    "Translated with ChatGPT" :stuck_out_tongue_winking_eye:

P.S.: ChatGPT says:
One possible solution would be to skip the update of glib2 and wait for the next update that may fix the issue. Alternatively, you could try manually rolling back glib2 by installing the previous version. You can do this by running the following command in the terminal application:

sudo pacman -U /var/cache/pacman/pkg/glib2-2.74.6-1-x86_64.pkg.tar.zst

This will roll back glib2 to the previous version. However, note that rolling back packages to an older version can potentially affect other dependencies and may compromise system stability, so you should make sure to have a backup of your data and proceed with caution.

Actually, not bad ChatGPT, although in your case the extremely useful downgrade package has been installed so you don't need to bother with the long-winded way.

sudo downgrade glib2

It makes managing your downgrades much easier.

ChatGPT was spot on with this one though:

That is especially true for a low-level package like glib2. Check out how many things depend on it:

pacman -Sii glib2
Repository      : core
Name            : glib2
Version         : 2.74.6-1
Description     : Low level core library
Architecture    : x86_64
URL             : https://wiki.gnome.org/Projects/GLib
Licenses        : LGPL
Groups          : None
Provides        : libglib-2.0.so=0-64  libgio-2.0.so=0-64  libgmodule-2.0.so=0-64  libgobject-2.0.so=0-64  libgthread-2.0.so=0-64
Depends On      : libffi  libsysprof-capture  pcre2  util-linux-libs  zlib  libffi.so=8-64  libmount.so=1-64
Optional Deps   : gvfs: most gio functionality
                  libelf: gresource inspection tool
                  python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
Required By     : accountsservice  amsynth  amtk  anydesk-bin  ardour  ardour-git  at-spi2-core  audacious  audacity  avahi
                  avldrums.lv2  ayatana-indicator-session  babeltrace  babeltrace2  bluez  bluez-git  bluez-utils
                  bluez-utils-compat  brltty  bumblebee  bustle  cairo  callaudiod  capnet-assist  castget  cerbere
                  chromium-widevine  cinnamon-menus  clapper  conky  conmon  connman  connman-git  connman-gtk  consolekit
                  contractor  contractor-git  contrast  ctpl  curlftpfs  datagrip  datagrip-jre  dataspell  dataspell-jre  dbus-c++
                  dbus-glib  dbus-python  dconf  ddcutil  ddcutil-git  dee  deepin-api  desktop-file-utils  desmume-git  dino
                  dino-git  displaycal  dsniff  dunst  duperemove  dwarffortress  easytag  emacs  emacs-nativecomp  emby-theater
                  enchant  etherape  fastgame-git  fcitx5-gtk  firewalld  flat-remix-gnome  flatpak  fluidsynth  fprintd
                  fprintd-libfprint2  fs-uae  fuseiso  gala  gambas3-gb-net-smtp  gamehub  gammastep  gammu  ganv  gcab  gcin  gcr-4
                  gdk-pixbuf2  gdm-settings-git  gdm-tools-git  geary  geocode-glib-common  gigedit  girara  gitg  glib-networking
                  glib-perl  glibd  glibmm  glibmm-2.68  glyr  gmime  gmime3  gnome-autoar  gnome-color-manager  gnome-firmware
                  gnome-menus  gnome-notes  gnome-remote-desktop  gnome-shell-pomodoro  gnome-text-editor  gnome-user-share  gob2
                  gobject-introspection-runtime  goland  goland-jre  gom  google-webdesigner  granite  granite7  graphene
                  gromit-mpx  grub-customizer  gsettings-desktop-schemas  gsettings-desktop-schemas-git  gsound  gspell  gssdp
                  gst-plugin-libcamera  gstreamer  gstreamer0.10  gtk-gnutella  gtk3  gtk3-patched-filechooser-icon-view  gtk4
                  gtk4-telegrand  gtkmathview  gtkwave-tcl  gts  gtuber-git  guitarix  gupnp  gupnp-av  gupnp-dlna  gupnp-igd
                  harfbuzz  harfbuzz-utils  haskell-gi  haskell-gi-base  haskell-gi-gio  haskell-gi-glib  haskell-gi-gmodule
                  haskell-gi-gobject  haskell-gio  haskell-glib  hexchat  hexter  imagemagick-full-git  ir.lv2  irqbalance  irssi
                  irssi-xmpp  jack_mixer  jalv  jami-qt  jetbrains-toolbox  jgmenu  jnettop  json-glib  klavaro
                  kotatogram-desktop-beta-dynamic-bin  lensfun  lensfun-git  lib2geom  lib32-glib2  libaccounts-glib  libass  libaxc
                  libcacard  libcalfbox-lss  libcheese  libcheese-git  libcloudproviders  libcolord  libcroco  libdbusmenu-glib
                  libdnf  libdsme  libfm-extra  libgbinder  libgdiplus  libgdm  libgdm-plymouth  libgdm-plymouth-prime  libgdm-prime
                  libgee  libgepub  libgexiv2  libgit2-glib  libglib-testing  libglibutil  libgnome-keyring  libgnt  libgrss
                  libgsystem  libgtop  libgudev  libgusb  libhandy  libhandy0  libibus  libical  libidl2  libinfinity  libinstpatch
                  liblangtag  libldm  liblqr  libmalcontent  libmarble-git  libmatemixer  libmbim  libmediainfo  libmirage
                  libmm-glib  libmodulemd  libmpd  libmypaint  libnautilus-extension  libnice  libnids  libnm  libnm-iwd  libnotify
                  libomemo  libosinfo  libots  libpackagekit-glib  libpamac-aur  libpinyin  libportal  libproxy  libqrtr-glib
                  libquvi  libratbag  librepo  librest  libretro-pcsx2  librsvg  libsearpc  libsecret  libshumate  libsigrokdecode
                  libslirp  libsmf  libsoup  libsoup3  libspectrum  libspeechd  libwacom  libwebsockets  libwireplumber
                  libxfce4util  libxklavier  libxmlb  libxmlbird  light-locker  lightdm  lightdm-pantheon-greeter  lilypond
                  loginized  loudmouth  lua-lgi  lua53-lgi  lutris  lutris-git  lxqt-archiver  malcontent  mate-menus  mc  mcabber
                  megatools  minecraft-launcher  mintlocale  mintstick  mixxx  mmsd-git  modemmanager  mpv-mpris  mtpfs  mtr-gtk
                  munt-smf2wav  muse  nautilus-sendto  nbd  neard  netplan  notion  nwg-look  nyrna  ofono  openipmi  opensc
                  osinfo-db-tools  ostree  pacrunner  pamac-aur  pantheon-applications-menu  pantheon-calculator  pantheon-calendar
                  pantheon-camera  pantheon-code  pantheon-files  pantheon-geoclue2-agent  pantheon-music  pantheon-notifications
                  pantheon-onboarding  pantheon-photos  pantheon-polkit-agent  pantheon-print  pantheon-screenshot
                  pantheon-settings-daemon  pantheon-shortcut-overlay  pantheon-sideload  pantheon-terminal  pantheon-videos
                  patchage  pdf2svg  pebbles-git  perf  phodav  phpstorm  phpstorm-jre  pinentry  pipewire
                  pipewire-common-pulse-git  pipewire-pulse  plank  playerctl  polkit  polkit-consolekit  pop-bin  pop-gtk-theme-git
                  poppler-glib  poppler-glib-git  pqiv  preload  profanity  profanity-gtk  pycharm-community-eap
                  pycharm-community-edition  python-bluepy  python-dbus-fast  python-dbus-next  pyzy  qemu-arch-extra-git
                  qemu-audio-dbus  qemu-common  qemu-git  qemu-guest-agent  qemu-guest-agent-git  qemu-headless-arch-extra-git
                  qemu-headless-git  qemu-hw-usb-smartcard  qemu-img  qemu-pr-helper  qemu-system-aarch64  qemu-system-alpha
                  qemu-system-arm  qemu-system-avr  qemu-system-cris  qemu-system-hppa  qemu-system-loongarch64  qemu-system-m68k
                  qemu-system-microblaze  qemu-system-mips  qemu-system-nios2  qemu-system-or1k  qemu-system-ppc  qemu-system-riscv
                  qemu-system-rx  qemu-system-s390x  qemu-system-sh4  qemu-system-sparc  qemu-system-tricore  qemu-system-x86
                  qemu-system-xtensa  qemu-tools  qemu-ui-curses  qemu-ui-dbus  qemu-ui-gtk  qemu-ui-sdl  qemu-ui-spice-app
                  qemu-user  qemu-vhost-user-gpu  qemu-virtiofsd  qt5-gsettings  quickdocs  rauc  rest  retro-gtk  rnote  rspamd
                  ruby-glib2  sane  sdcv  setbfree  share-preview  shared-mime-info  skktools  slirp4netns  snes9x-gtk  spectmorph
                  spice  spice-gtk  spice-vdagent  spot-client  spot-client-git  sshfs  steam-native-runtime  swayimg  swaync  sweep
                  switchboard  switchboard-plug-a11y  switchboard-plug-about  switchboard-plug-applications
                  switchboard-plug-bluetooth  switchboard-plug-datetime  switchboard-plug-desktop  switchboard-plug-display
                  switchboard-plug-keyboard  switchboard-plug-locale  switchboard-plug-mouse-touchpad  switchboard-plug-network
                  switchboard-plug-notifications  switchboard-plug-parental-controls  switchboard-plug-power
                  switchboard-plug-printers  switchboard-plug-security-privacy  switchboard-plug-sharing  switchboard-plug-sound
                  switchboard-plug-user-accounts  switchboard-plug-wacom  switcheroo-control  swtpm  syslog-ng
                  telegram-desktop-bin-dev  template-glib  tepl  themix-theme-arc-git  themix-theme-materia-git
                  themix-theme-oomox-git  thunderbird  timidity++  totem-pl-parser  touchegg  tpm2-abrmd  tracker3
                  tracktion-waveform  transmission-remote-gtk  uhttpmock  ukui-menus  upower  uresourced  usbguard  usbip  usbredir
                  vala  vala-panel-appmenu-jayatana-git  vala-panel-appmenu-registrar  vala-panel-appmenu-registrar-git  vala0.44
                  vala0.52  valabind  vbam-wx  vico  vital-synth  wavebox-beta  webkit2gtk  webkit2gtk-4.1  webkit2gtk-5.0  webstorm
                  webstorm-jre  webwatcher-git  weston  wingpanel  wingpanel-indicator-a11y  wingpanel-indicator-bluetooth
                  wingpanel-indicator-datetime  wingpanel-indicator-keyboard  wingpanel-indicator-network
                  wingpanel-indicator-nightlight  wingpanel-indicator-notifications  wingpanel-indicator-power
                  wingpanel-indicator-session  wingpanel-indicator-sound  wired  wireplumber-git  wireshark-cli  wmctrl
                  wpebackend-fdo  wpewebkit  x42-plugins  xdg-dbus-proxy  xdg-desktop-portal  xemu-git  xen  xfce4-dev-tools
                  xfce4-docklike-plugin  xscreensaver  xss-lock  zile  zoom  zsa-wally
Optional For    : clevis  fastfetch  fastfetch-git  garuda-fastfetch-git  glusterfs  intel-oneapi-basekit  libpulse  lvtk  suil
                  visual-studio-code-bin  visual-studio-code-insiders-bin
Conflicts With  : None
Replaces        : None
Download Size   : 3.72 MiB
Installed Size  : 23.22 MiB
Packager        : Jan Alexander Steffens (heftig) <[email protected]>
Build Date      : Thu 23 Feb 2023 03:56:21 PM EST
MD5 Sum         : 1eaef59b1d05ee613b87a59becb79e7d
SHA-256 Sum     : b9f5411edd8613cbca3e172cbf7359e1ea52b5ac6ade5826b974aa03fa7c8692
Signatures      : 3B94A80E50A477C7

Most packages do not have such a massive "required by" section. Sometimes it's fine to downgrade a package and hold it back for a while until a bug gets worked out or whatever, but really you should only be doing it when it's a standalone package that isn't tied into a bunch of dependencies. When such a huge package base is affected I would advise against it.

This is a big no-no:

This basically means your system is broken. In some cases binaries will be unable to find the libraries they are linked against, and it won't be long before you run into problems.

It is better to run your system way out of date but not partially upgraded, than to bring in a partial upgrade with a smattering of fresh packages.

There are six open bug reports for glib at the moment here: Arch Linux Bugtracker:: All Projects: Tasklist You can read through those and see if you can learn anything more about what is going on, or just monitor the progress of the bug reports and see when they turn up a fix.

Other than that, unless you are desperate for an update that is coming down for another package I would just hold off on updating for now. Try again next week and see how it goes. :slightly_smiling_face:

3 Likes