Salix15 gslapt crash removing packages

You have a problem with Salix? Post here and we'll do what we can to help.
Post Reply
Abu.dedalus
Posts: 2
Joined: 14. Jan 2023, 07:36

Salix15 gslapt crash removing packages

Post by Abu.dedalus »

When i try to remove (or update) any installed package i have one error like this:

Removing package tinyterm-0.6.0-x86_64-1salix15.0...
(gslapt:10173): Gtk-CRITICAL **: 10:44:16.699: gtk_window_set_default_size: assertion 'GTK_IS_WINDOW (window)' failed

(gslapt:10173): Gtk-CRITICAL **: 10:44:16.699: gtk_window_move: assertion 'GTK_IS_WINDOW (window)' failed
ERROR: Package file removal failed. (Invalid cross-device link)
ERROR: Can't remove package from the database. (tinyterm-0.6.0-x86_64-1salix15.0)
ERROR: Package removal failed!
Failed to execute command: [/sbin/spkg -d tinyterm-0.6.0-x86_64-1salix15.0]
free(): invalid pointer
Annullato
I also manually update gslapt (0.5.9caf-x86_64-1gv) but crashes continue,

Thanks in advance...
User avatar
gapan
Salix Wizard
Posts: 6238
Joined: 6. Jun 2009, 17:40

Re: Salix15 gslapt crash removing packages

Post by gapan »

The problem is probably not gslapt, but this error you're getting:

Code: Select all

ERROR: Package file removal failed. (Invalid cross-device link)
What does your filesystem layout look like? What is the output of:

Code: Select all

mount
and

Code: Select all

cat /etc/fstab
I don't get anything like that with the tinyterm package here by the way.
Image
Image
Abu.dedalus
Posts: 2
Joined: 14. Jan 2023, 07:36

Re: Salix15 gslapt crash removing packages

Post by Abu.dedalus »

I installed Salix on BTRFS. this is the information you asked for, I also add the list of subvolumes:

- mount:
/dev/sda5 on / type btrfs (rw,noatime,subvol=/@,compress=zstd,discard=async)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda5 on /root type btrfs (rw,noatime,subvol=/@root,compress=zstd,discard=async)
/dev/sda5 on /home type btrfs (rw,noatime,subvol=/@home,compress=zstd,discard=async)
/dev/sda5 on /srv type btrfs (rw,relatime,subvol=/@srv,compress=zstd,discard=async,commit=120)
/dev/sda5 on /tmp type btrfs (rw,relatime,subvol=/@tmp,nodatacow,norecovery,discard=async,commit=120)
/dev/sda5 on /.cache type btrfs (rw,relatime,subvol=/@.cache,nodatacow,norecovery,discard=async,commit=120)
/dev/sda5 on /var/tmp type btrfs (rw,relatime,subvol=/@vartmp,nodatacow,norecovery,discard=async,commit=120)
/dev/sda5 on /var/log type btrfs (rw,noatime,subvol=/@varlog,nodatacow,norecovery,discard=async,commit=120)
/dev/sda5 on /var/spool type btrfs (rw,relatime,subvol=/@varspool,nodatacow,norecovery,discard=async,commit=120)
/dev/sda5 on /var/cache type btrfs (rw,relatime,subvol=/@varcache,nodatacow,norecovery,discard=async,commit=120)
/dev/sda5 on /.btrbk_snapshots type btrfs (rw,relatime,subvol=/@snapshot,nodatacow,norecovery,compress=zstd,discard=async)
/dev/sda2 on /mnt/win7 type ntfs3 (rw,fmask=133,dmask=022)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=admin)
/dev/sdb1 on /run/media/admin/0123-4567 type exfat (rw,nodev,nosuid,uid=1000,gid=100,iocharset=utf8,errors=remount-ro,uhelper=udisks2)
- cat /etc/fstab
UUID=f7a7f7ea-06a0-4a63-bd79-2fd85854084f swap swap defaults 0 0

UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 / btrfs subvol=/@,defaults,noatime,compress=zstd,discard=async 1 1
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /root btrfs subvol=/@root,defaults,noatime,compress=zstd,discard=async 1 2
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /home btrfs subvol=/@home,defaults,noatime,compress=zstd,discard=async 1 2
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /srv btrfs subvol=/@srv,defaults,relatime,compress=zstd,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /tmp btrfs subvol=/@tmp,defaults,relatime,nodatacow,norecovery,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /.cache btrfs subvol=/@.cache,defaults,relatime,nodatacow,norecovery,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /var/tmp btrfs subvol=/@vartmp,defaults,relatime,nodatacow,norecovery,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /var/log btrfs subvol=/@varlog,defaults,noatime,nodatacow,norecovery,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /var/spool btrfs subvol=/@varspool,defaults,relatime,nodatacow,norecovery,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /var/cache btrfs subvol=/@varcache,defaults,relatime,nodatacow,norecovery,discard=async,commit=120 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /.btrbk_snapshots btrfs subvol=/@snapshot,defaults,relatime,nodatacow,norecovery,compress=zstd,discard=async 0 0

/dev/sda2 /mnt/win7 ntfs3 fmask=133,dmask=022 1 0
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro,comment=x-gvfs-show 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nosuid,nodev,noexec 0 0
- btrfs subvol list /
ID 257 gen 19050 top level 5 path @
ID 258 gen 19050 top level 5 path @home
ID 259 gen 19042 top level 5 path @tmp
ID 260 gen 19049 top level 5 path @varcache
ID 261 gen 12657 top level 5 path @.cache
ID 262 gen 19049 top level 5 path @varlog
ID 263 gen 18799 top level 5 path @srv
ID 264 gen 12657 top level 5 path @snapshot
ID 265 gen 19011 top level 5 path @root
ID 268 gen 19007 top level 5 path @varspool
ID 269 gen 19007 top level 5 path @vartmp
ID 270 gen 6205 top level 5 path @media
ID 271 gen 6205 top level 5 path @mnt
ID 301 gen 5490 top level 264 path @snapshot/ROOT.20221108T2305
ID 341 gen 6473 top level 264 path @snapshot/ROOT.20221109T1651
ID 342 gen 8481 top level 264 path @snapshot/ROOT.20221113T1853
ID 343 gen 8698 top level 264 path @snapshot/ROOT.20221113T2255
ID 344 gen 9523 top level 264 path @snapshot/ROOT.20221114T1707
ID 345 gen 10797 top level 264 path @snapshot/ROOT.20221115T1317
ID 348 gen 18799 top level 5 path timeshift-btrfs/snapshots/2022-11-28_18-19-53/@
ID 349 gen 18799 top level 5 path timeshift-btrfs/snapshots/2022-12-03_01-19-52/@
ID 350 gen 18799 top level 5 path timeshift-btrfs/snapshots/2022-12-03_19-31-26/@
ID 352 gen 18799 top level 5 path timeshift-btrfs/snapshots/2023-01-11_18-50-27/@
ID 353 gen 18799 top level 5 path timeshift-btrfs/snapshots/2023-01-15_10-24-38/@
ID 354 gen 18799 top level 5 path timeshift-btrfs/snapshots/2023-01-15_10-37-59/@
ID 355 gen 18799 top level 5 path timeshift-btrfs/snapshots/2023-01-19_22-50-54/@
DidierSpaier
Posts: 518
Joined: 20. Jun 2016, 20:15

Re: Salix15 gslapt crash removing packages

Post by DidierSpaier »

I am puzzled as the main file system is on only one device (/dev/sda5), so I do not understand what you get the "Invalid cross-device link" message.

Did this happen recently? After the restoration of a snapshot? Anything in the logs that could give us a clue?

As an aside I see that that you have two top-level subvolumes hosting snapshots: timeshift (used by timeshift) and @snpahots (used by btrbk). Is it because the snapshots created by timeshift are read-write so not suitable for instance for an incremental backups with btrs send|btrfs receive and/or you use btrbk for backups?

Also, you have in /etc/fstab:
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 / btrfs subvol=/@,defaults,noatime,compress=zstd,discard=async 1 1
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /root btrfs subvol=/@root,defaults,noatime,compress=zstd,discard=async 1 2
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /home btrfs subvol=/@home,defaults,noatime,compress=zstd,discard=async 1 2

This is not good, no need to check a btrfs file system when booting so I suggest that you write instead:
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 / btrfs subvol=/@,defaults,noatime,compress=zstd,discard=async 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /root btrfs subvol=/@root,defaults,noatime,compress=zstd,discard=async 0 0
UUID=3fdc0a20-410e-4926-bf58-3fe19c3f4755 /home btrfs subvol=/@home,defaults,noatime,compress=zstd,discard=async 0 0
(and "defaults," is only useful if there is no other option - but won't hurt).

Last, I am guilty of absm, a BTRFS snapshots manager. Why absm instead of the (many) other tools? It's just a shell script with zero dependency beyond grub, the btrfs file system and btrfs-progs, but the menu allows to create/delete/restore snapshots (all actions logged) and populate grub.cfg with a boot entry for each snapshot. It can also be started unattended by a script you would write, to create snapshots upon events like after booting or before an upgrade, or periodically. A new snapshot of the state just before restoration of a snapshot is always created.

PS. To make sure I understand you layout, please type:

Code: Select all

mount /dev/sda5 /mnt -o subvolid=0
tree tree -d -L 2 /mnt
and provide the output of the last command.

Thanks.
Post Reply