You are not logged in.

#1 2025-09-27 01:37:56

Birkov
Member
Registered: 2011-10-26
Posts: 27

[SOLVED] Pacman hangs during upgrade

I did:

# pacman -Rdd linux-firmware
# pacman -Syu linux-firmware

Last message from pacman:

(1151/1234) upgrading syslinux                                               [-------------------------------------------] 100%

According to btop, pacman is sleeping for over 30 minutes now.

# ps ax | grep pacman
253: 763264 pts/1    S+     3:24 pacman -Syu linux-firmware
257: 768696 ?        SLsl   0:00 /usr/bin/gpg-agent --homedir /etc/pacman.d/gnupg --supervised
258: 768698 ?        SLl    0:00 scdaemon --multi-server --homedir /etc/pacman.d/gnupg
260: 769117 ?        Ss     0:02 /usr/bin/dirmngr --homedir /etc/pacman.d/gnupg --supervised
# journalctl -t sudo
-- No entries --
# journalctl -t pacman
-- No entries --
# journalctl -u pacman.service
-- No entries --
# journalctl --grep=pacman
Sep 27 02:17:50 lappie archlinux-keyring-wkd-sync[768665]: pacman-conf: error while loading shared libraries: libgpgme.so.11: >
Sep 27 02:17:51 lappie systemd[1]: Started GnuPG cryptographic agent and passphrase cache for /etc/pacman.d/gnupg.
Sep 27 02:17:51 lappie gpg-agent[768696]: using fd 3 for browser socket (/etc/pacman.d/gnupg/S.gpg-agent.browser)
Sep 27 02:17:51 lappie gpg-agent[768696]: using fd 4 for ssh socket (/etc/pacman.d/gnupg/S.gpg-agent.ssh)
Sep 27 02:17:51 lappie gpg-agent[768696]: using fd 5 for extra socket (/etc/pacman.d/gnupg/S.gpg-agent.extra)
Sep 27 02:17:51 lappie gpg-agent[768696]: using fd 6 for std socket (/etc/pacman.d/gnupg/S.gpg-agent)
Sep 27 02:22:50 lappie archlinux-keyring-wkd-sync[769110]: Skipping key BF99988859EDD75C41028F7047BFFC072A42395B with UID pacm>
Sep 27 02:22:50 lappie systemd[1]: Started GnuPG network certificate management daemon for /etc/pacman.d/gnupg.
Sep 27 02:22:58 lappie archlinux-keyring-wkd-sync[769110]: Skipping key BF99988859EDD75C41028F7047BFFC072A42395B with UID pacm>

During the download part of the upgrade, i tried to unmount an USB ntfs external hdd, which 'failed' with a timeout. At the moment it seems to be unmounted but can't be remounted. Maybe this caused the issue (?)

# journalctl -p err..alert
Sep 27 01:55:48 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 122 seconds.
Sep 27 01:55:48 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 01:55:48 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 01:57:51 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 245 seconds.
Sep 27 01:57:51 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 01:57:51 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 01:59:54 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 368 seconds.
Sep 27 01:59:54 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 01:59:54 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:01:57 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 491 seconds.
Sep 27 02:01:57 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:01:57 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:03:59 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 614 seconds.
Sep 27 02:03:59 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:03:59 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:06:02 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 737 seconds.
Sep 27 02:06:02 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:06:02 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:08:05 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 860 seconds.
Sep 27 02:08:05 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:08:05 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:10:08 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 983 seconds.
Sep 27 02:10:08 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:10:08 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:12:11 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 1105 seconds.
Sep 27 02:12:11 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:12:11 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:14:14 lappie kernel: INFO: task pool-udisksd:748776 blocked for more than 1228 seconds.
Sep 27 02:14:14 lappie kernel:       Tainted: G     U    IOE      6.13.4-arch1-1 #1
Sep 27 02:14:14 lappie kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 27 02:17:50 lappie 30-systemd-environment-d-generator[768671]: /usr/lib/environment.d/99-environment.conf:7: invalid varia>
Sep 27 03:25:41 lappie systemd-udevd[298]: /usr/lib/udev/rules.d/90-image-dissect.rules:30 Unknown builtin command: factory_re>
Sep 27 03:25:41 lappie systemd-udevd[298]: /usr/lib/udev/rules.d/90-image-dissect.rules:34 Unknown builtin command: dissect_im>
Sep 27 03:25:41 lappie systemd-udevd[298]: /usr/lib/udev/rules.d/90-image-dissect.rules:35 Unknown builtin command: factory_re>
Sep 27 03:25:41 lappie systemd-udevd[298]: /usr/lib/udev/rules.d/90-image-dissect.rules:39 Unknown builtin command: dissect_im>
Sep 27 03:25:41 lappie systemd-udevd[298]: /usr/lib/udev/rules.d/90-image-dissect.rules:53 Unknown builtin command: factory_re>

Anyway, how do I safely complete my upgrade ?

Edit: is it OK to "replicate the exact update by supplying the entire list of packages that was upgraded during the failed transaction to pacman -Syu, allowing it to reinstall while resuming the original update":

# pacman -Syu $(grep "\[2025-09-27T02.*\] \[ALPM\] upgraded" /var/log/pacman.log | cut -d " " -f4 | tr "\n" " ")

Source: https://wiki.archlinux.org/title/Pacman … ed_upgrade
during the upgrade, some new packages got installed though.

Or is it better to reinstall all native packages with:

# pacman -Qqn | pacman -S -

Source: https://wiki.archlinux.org/title/Pacman … l_packages

Last edited by Birkov (2025-09-29 01:08:28)

Offline

#2 2025-09-27 19:07:18

twelveeighty
Member
Registered: 2011-09-04
Posts: 1,378

Re: [SOLVED] Pacman hangs during upgrade

What happens if you just try a full update again: `pacman -Syu`? I'm assuming you've killed that pacman process by now, if it hasn't completed yet, it's dead I'm sure.

When posting logs, please do not filter your journal, just post the full journal within a relevant timeframe. And afaik pacman doesn't log to the journal, it's in /var/log/pacman.log.

How long ago was the last time you updated before this one? 1234 packages is fairly large amount of updates for a regular update cycle. If it indeed has been a long time, did you check the News page for manual intervention steps that are relevant?

Last edited by twelveeighty (2025-09-27 19:10:31)

Offline

#3 2025-09-27 22:05:02

Birkov
Member
Registered: 2011-10-26
Posts: 27

Re: [SOLVED] Pacman hangs during upgrade

It was indeed a long time ago since I last updated. I checked the news before I updated, hence:

# pacman -Rdd linux-firmware
# pacman -Syu linux-firmware

which is the manual intervention as advised on june 22.

I haven't killed pacman yet. According to btop it is still sleeping.
I was hoping that mounting my external USB drive would wake up pacman but since mounting failed, I gave up on that idea.

My excuses for not posting full logs. I found out how to redirect the output of journalctl to a textfile so I can now post full logs if needed.

Here is the full line of the relevant journal that I posted earlier:

# journalctl --grep=pacman
Sep 27 02:17:50 lappie archlinux-keyring-wkd-sync[768665]: pacman-conf: error while loading shared libraries: libgpgme.so.11: cannot open shared object file: No such file or directory

According to the 'locate command', I have libgpgme.so.11:

# locate libgpgme.so.11
/usr/lib/libgpgme.so.11
/usr/lib/libgpgme.so.11.33.2

Acoording to the 'ls command', I don't:

/usr/bin/ls -alh /usr/lib/libgpgme.so*
lrwxrwxrwx 1 root root   18 Jun  3 18:27 /usr/lib/libgpgme.so -> libgpgme.so.45.0.0
lrwxrwxrwx 1 root root   18 Jun  3 18:27 /usr/lib/libgpgme.so.45 -> libgpgme.so.45.0.0
-rwxr-xr-x 1 root root 323K Jun  3 18:27 /usr/lib/libgpgme.so.45.0.0

Which could explain the following:

pacman -Qo /usr/lib/libgpgme.so.11
error: No package owns /usr/lib/libgpgme.so.11

I have the latest  version of gpgme on my system:

# pacman -Ss gpgme
core/gpgme 2.0.0-1 [installed]

But that one does not provide:

 /usr/lib/libgpgme.so.11

According to paccheck, gpgme is all good:

# paccheck --md5sum gpgme
gpgme: all files match mtree md5sums

# paccheck --sha256sum gpgme
gpgme: all files match mtree sha256sums

At the moment, the latest version of pacman is installed:

# pacman -Ss pacman
core/pacman 7.0.0.r6.gc685ae6-6 [installed]

So maybe this error is solved now (?)

Anyway why do you recommend

# pacman -Syu

over:

# pacman -Syu $(grep "\[2025-09-27T02.*\] \[ALPM\] upgraded" /var/log/pacman.log | cut -d " " -f4 | tr "\n" " ")

(which is the command that the Arch Wiki recommends to run in cases of interrupted upgrades: 'Replicating the exact upgrade is needed to ensure the right scriptlets and hooks will run."}

Sorry for making this way complicated than it probably is !
I am trying to solve this problem as careful as possible because I'm not looking forward to a situation where I have only TTY access while fixing an unbootable system.
I hope you understand.

Offline

#4 2025-09-27 22:28:03

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,575
Website

Re: [SOLVED] Pacman hangs during upgrade

The gpgme error is unrelated.

I assume it is actually the syslinux install script failing

https://gitlab.archlinux.org/archlinux/ … type=heads

post_install() {
  [ -f /boot/syslinux/SYSLINUX_AUTOUPDATE ] || show_bios_autoupdate_msg
  [ -d /sys/firmware/efi ] && show_efi_msg

  true
}

post_upgrade() {
  # Move /boot/syslinux/syslinux.cfg back now that it is not packaged anymore.
  if [ ! -f /boot/syslinux/syslinux.cfg -a -f /boot/syslinux/syslinux.cfg.pacsave ]; then
    mv /boot/syslinux/syslinux.cfg.pacsave /boot/syslinux/syslinux.cfg
  fi

  ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
  /usr/bin/syslinux-install_update -s

  post_install
}

Look for the syslinux-install_update process.

Offline

#5 2025-09-28 01:07:05

Birkov
Member
Registered: 2011-10-26
Posts: 27

Re: [SOLVED] Pacman hangs during upgrade

The syslinux-install_update process is indeed failing ... thank you very much for coming to the rescue !

According to the 'btop command', the process:

/usr/bin/bash /usr/bin/syslinux-install_update -s

is sleeping for over 23 hours now.

Looking at the output of the 'ls command':

# /usr/bin/ls -alh /boot/syslinux/
total 3.2M
drwxr-xr-x 2 root root 3.0K Sep 27 02:24 .
drwxr-xr-x 5 root root 1.0K Sep 27 02:21 ..
-rw-r--r-- 1 root root 1.8K Sep 27 02:24 cat.c32
-rw-r--r-- 1 root root  25K Sep 27 02:24 chain.c32
-rw-r--r-- 1 root root 1.5K Sep 27 02:24 cmd.c32
-rw-r--r-- 1 root root 3.9K Sep 27 02:24 cmenu.c32
-rw-r--r-- 1 root root 1.7K Sep 27 02:24 config.c32
-rw-r--r-- 1 root root 4.4K Sep 27 02:24 cptime.c32
-rw-r--r-- 1 root root 4.7K Sep 27 02:24 cpu.c32
-rw-r--r-- 1 root root 2.0K Sep 27 02:24 cpuid.c32
-rw-r--r-- 1 root root 3.0K Sep 27 02:24 cpuidtest.c32
-rw-r--r-- 1 root root 1.8K Sep 27 02:24 debug.c32
-rw-r--r-- 1 root root 4.2K Sep 27 02:24 dhcp.c32
-rw-r--r-- 1 root root 3.2K Sep 27 02:24 dir.c32
-rw-r--r-- 1 root root 2.2K Sep 27 02:24 disk.c32
-rw-r--r-- 1 root root 8.7K Sep 27 02:24 dmi.c32
-rw-r--r-- 1 root root  13K Sep 27 02:24 dmitest.c32
-rw-r--r-- 1 root root 3.5K Sep 27 02:24 elf.c32
-rw-r--r-- 1 root root 3.0K Sep 27 02:24 ethersel.c32
-rw-r--r-- 1 root root  11K Sep 27 02:24 gfxboot.c32
-rw-r--r-- 1 root root 1.8K Sep 27 02:24 gpxecmd.c32
-rw-r--r-- 1 root root 161K Sep 27 02:24 hdt.c32
-rw-r--r-- 1 root root 3.9K Sep 27 02:24 hexdump.c32
-rw-r--r-- 1 root root 2.0K Sep 27 02:24 host.c32
-rw-r--r-- 1 root root 2.0K Sep 27 02:24 ifcpu64.c32
-rw-r--r-- 1 root root 4.3K Sep 27 02:24 ifcpu.c32
-rw-r--r-- 1 root root 4.5K Sep 27 02:24 ifmemdsk.c32
-rw-r--r-- 1 root root 2.1K Sep 27 02:24 ifplop.c32
-rw-r--r-- 1 root root 1.9K Sep 27 02:24 kbdmap.c32
-rw-r--r-- 1 root root 5.0K Sep 27 02:24 kontron_wdt.c32
-rw-r--r-- 1 root root 116K Sep 27 02:24 ldlinux.c32
-r--r--r-- 1 root root  58K Sep 27 02:24 ldlinux.sys
-rw-r--r-- 1 root root 5.2K Sep 27 02:24 lfs.c32
-rw-r--r-- 1 root root 164K Sep 27 02:24 libcom32.c32
-rw-r--r-- 1 root root  66K Sep 27 02:24 libgpl.c32
-rw-r--r-- 1 root root 100K Sep 27 02:24 liblua.c32
-rw-r--r-- 1 root root  24K Sep 27 02:24 libmenu.c32
-rw-r--r-- 1 root root  25K Sep 27 02:24 libutil.c32
-rw-r--r-- 1 root root 4.9K Sep 27 02:24 linux.c32
-rw-r--r-- 1 root root 3.2K Sep 27 02:24 ls.c32
-rw-r--r-- 1 root root 7.1K Sep 27 02:24 lua.c32
-rw-r--r-- 1 root root  12K Sep 27 02:24 mboot.c32
-rw-r--r-- 1 root root 2.7K Sep 27 02:24 meminfo.c32
-rw-r--r-- 1 root root  26K Sep 27 02:24 menu.c32
-rw-r--r-- 1 root root 3.6K Sep 27 02:24 pci.c32
-rw-r--r-- 1 root root 1.5M Sep 27 02:24 pci.ids
-rw-r--r-- 1 root root 3.7K Sep 27 02:24 pcitest.c32
-rw-r--r-- 1 root root 3.2K Sep 27 02:24 pmload.c32
-rw-r--r-- 1 root root 1.9K Sep 27 02:24 poweroff.c32
-rw-r--r-- 1 root root 3.3K Sep 27 02:24 prdhcp.c32
-rw-r--r-- 1 root root 1.7K Sep 27 02:24 pwd.c32
-rw-r--r-- 1 root root  13K Sep 27 02:24 pxechn.c32
-rw-r--r-- 1 root root 1.6K Sep 27 02:24 reboot.c32
-rw-r--r-- 1 root root  14K Sep 27 02:24 rosh.c32
-rw-r--r-- 1 root root 1.9K Sep 27 02:24 sanboot.c32
-rw-r--r-- 1 root root 3.2K Sep 27 02:24 sdi.c32
-rw-r--r-- 1 root root 676K Dec 22  2014 splash.png
-rw-r--r-- 1 root root  15K Sep 27 02:24 sysdump.c32
-rw-r--r-- 1 root root    0 Dec  9  2014 SYSLINUX_AUTOUPDATE
-rw-r--r-- 1 root root 9.0K Sep 27 02:24 syslinux.c32
-rw-r--r-- 1 root root 2.5K Jul 28  2023 syslinux.cfg
-rw-r--r-- 1 root root 2.4K Dec 16  2014 syslinux.cfg.old
-rw-r--r-- 1 root root 3.2K Sep 27 02:24 vesa.c32
-rw-r--r-- 1 root root 2.4K Sep 27 02:24 vesainfo.c32
-rw-r--r-- 1 root root  27K Sep 27 02:24 vesamenu.c32
-rw-r--r-- 1 root root 2.1K Sep 27 02:24 vpdtest.c32
-rw-r--r-- 1 root root 2.7K Sep 27 02:24 whichsys.c32
-rw-r--r-- 1 root root 3.8K Sep 27 02:24 zzjson.c32

And the last message from the 'pacman command':

(1151/1234) upgrading syslinux                                               [-------------------------------------------] 100%

It seems that the upgrade of the 'syslinux package' went well.

The file

/boot/syslinux/syslinux.cfg.pacsave

is missing though.

And the file

/boot/syslinux/syslinux.cfg

isn't updated since Jul 28  2023

I took a look at the 'syslinux.cfg' file and noticed these lines:

LABEL usb
    MENU LABEL usb
    LINUX ../vmlinuz-linux
    APPEND root=UUID=79cab7df-76f3-4bd6-9aaf-616ed4aa9cb4 rw i915.modeset=1  i915.enable_psr=0
    INITRD ../intel-ucode.img,../initramfs-linux.img

LABEL usb2
        MENU LABEL usb2
        LINUX ../vmlinuz-linux-lts
        APPEND root=UUID=79cab7df-76f3-4bd6-9aaf-616ed4aa9cb4 rw i915.modeset=1  i915.enable_psr=0 fsck.mode=skip
        INITRD ../intel-ucode.img,../initramfs-linux-lts.img


LABEL usb3
    MENU LABEL usb3
    LINUX ../vmlinuz-linux
    APPEND root=/dev/sdb1 rw fsck.mode=skip
    INITRD ../initramfs-linux-fallback.img

I didn't even know that syslinux auto-configures entries for USB drives.

Does this confirm my first thought: pacman is hanging because the USB drive failed to unmount ?
(pacman is waiting for the syslinux install script and the syslinux install script is waiting for the USB drive)

And how to go from here ? Is there a way to tell pacman that the syslinux install script is finished so that the upgrade can continue
(I never use the USB entries so I think that the syslinux.cfg from 2023 is fine)

Ps I already tried to mount the USB drive again, which failed and when trying to mount it now, I get the message: "Failed to mount 'Elements'. An operation is already pending" while trying to mount with the XFCE places plugin.

Thank you very much in advance !

EDIT: according to the 'btop command', the process

/usr/bin/extlinux --update /boot/syslinux 

is waiting ... I guess for the USB drive.

Last edited by Birkov (2025-09-28 05:54:22)

Offline

#6 2025-09-28 07:32:06

cryptearth
Member
Registered: 2024-02-03
Posts: 1,706

Re: [SOLVED] Pacman hangs during upgrade

Birkov wrote:

During the download part of the upgrade, i tried to unmount an USB ntfs external hdd

why?
updates (any, no matter how big / how long since last) should be done atomic - that means: doing the update in the foreground and nothin else along it in the background

Offline

#7 2025-09-28 10:29:53

Birkov
Member
Registered: 2011-10-26
Posts: 27

Re: [SOLVED] Pacman hangs during upgrade

Did it to prevent having to manually power down my computer while my system is endlessly waiting for the unmount during a reboot. This happened many times before so I decided to unmount 'last minute'.

The unmount failed long before pacman started with the installation of the packages.
If I had the same unmount failure days before the upgrade, and never rebooted in the mean time, the USB drive would also be seen as

fuse: mount failed: Device or resource busy

probably causing the same problem while upgrading syslinux.

Offline

#8 2025-09-28 13:42:06

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,575
Website

Re: [SOLVED] Pacman hangs during upgrade

Kill the syslinux process.  Pacman will finish.   Then manually deal with the syslinux command.

Offline

#9 2025-09-28 13:43:38

cryptearth
Member
Registered: 2024-02-03
Posts: 1,706

Re: [SOLVED] Pacman hangs during upgrade

I would kill syslinux alltogether and change to something more modern - at least to grub

Offline

#10 2025-09-29 01:07:03

Birkov
Member
Registered: 2011-10-26
Posts: 27

Re: [SOLVED] Pacman hangs during upgrade

Allan wrote:

Kill the syslinux process.  Pacman will finish.   Then manually deal with the syslinux command.

After killing process

/usr/bin/bash /usr/bin/syslinux-install_update -s

pacman resumed and finished without any problems.

To bad that I had to arch-chroot into my system to reinstall syslinux but everything seems to be working fine now.

Once again, thank you very much for your help and ... cheers ... have a good one !

Offline

Board footer

Powered by FluxBB