Pamac-cli and pamac-manager unreliable

TL;DR: Both pamac CLI and the pamac-manager GUI are unreliable for system upgrades. They are prone to crashing in the middle of an update, leaving the user with no feedback that the upgrade is continuing in the background.


Having previously tried to do a system update using the GUI, followed by the GUI crashing and the update continuing in the background, this time I tried the commandline:

$ pamac upgrade
…
Total download size: 1.4 GB
Total installed size: -1.1 GB

Apply transaction ? [y/N] y
Download of firefox (146.0.1-1) started
Download of firefox (146.0.1-1) finished
Download of rust (1:1.92.0-1) started
Download of linux612 (6.12.63-1) finished
Download of wine (10.20-2) started
Download of rust (1:1.92.0-1) finished
Download of linux612-headers (6.12.63-1) started
Download of blender (17:5.0.1-1) finished
Download of webkit2gtk-4.1 (2.50.4-1) started
809.4 MB/1.4 GB About 43 seconds remaining[1]    1202062 terminated  pamac upgrade

Then I tried again:

$ pamac upgrade
pamac: error while loading shared libraries: libalpm.so.15: cannot open shared object file: No such file or directory

I’m going to assume pamac is just a broken tool for system upgrades.

Minutes later, I tried pacman:

$ sudo pacman -Syu
:: Synchronising package databases...
 core is up to date
 extra is up to date
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do

Hmm… Did the upgrade happen in the background? What has just happened? Let me try pamac again:

$ pamac upgrade
Synchronizing package databases...
Refreshing AUR...
Nothing to do.
…
(plus a few extra AUR updates)

So, yeah, yet again pamac crashed, and the updated continued in the background with NO user feedback whatsoever.

1 Like

Yes, I’ve seen occasional reports of something similar – as I recall, user systems were in an unsupported state at the time, for various reasons. I’ve never experienced it myself. However, search the forum and you might find a topic or three about it that might be helpful.


The suggested command is:

pamac update --no-aur

when performing a large update.


I was recently made aware of another option (topgrade) which you might find of interest. The script handles virtually everything including repo packages, software sourced via the AUR, flatpack containerised apps, and even homebrew (for Linux) if one happens to have it installed:

sudo pacman -S topgrade

It takes one simple command topgradesudo is not required as the script will prompt you for your password when elevated privileges are needed.


Your post has been moved to a dedicated topic.


Please provide your system information as described (below) along with any useful detail that might help others to help you.

Regards.


System Information

While information from *-fetch type apps might be fine for someone wishing to buy your computer, for Support purposes it’s better to ask your system directly; :eyes:

Output of the inxi command (with appropriate parameters, and formatted according to forum guidelines) will generate information useful for those wishing to help:

Suggested inxi command (use either):

inxi -zv8 (short-form)
inxi --filter --verbosity=8 (long-form)
inxi man pages (manual)
Running `inxi` within a `chroot` environment
  • Add --color=0 to the long-form command, or…
  • Change the short-form command to inxi -zv8c0
Your privacy is respected

I think you are using unstable branch with pacman 7.1 which provides libalpm 16.

So I am thinking because you are running pamac to do the upgrade then pamac will upgrade itself then, the in memory version of pamac will look for libalpm 15 which has been removed and thus shut down unexpectedly.

This is the previous issue I had, half year ago: [Stable Update] 2025-05-19 - Firefox, Thunderbird, KDE Gear, KDE Frameworks - #56 by denilsonsa

I also found a few other posts of users talking about pamac crashing:


Well, that seems to be just a wrapper around common system tools across multiple distros. Specifically for Manjaro, it will call pamac upgrade. So, I’m sorry, but that seems like it won’t solve the issue. In fact, it sounds like it can suffer from the exact same issue.


I don’t remember ever switching to an unstable branch of anything. Looking at the pamac history, I see these relevant lines:

[2025-12-23T11:49:45+0100] [ALPM] upgraded pamac-gtk (11.7.4-1 -> 11.7.4-2)
[2025-12-23T11:49:45+0100] [ALPM] upgraded pamac-cli (11.7.4-1 -> 11.7.4-2)
[2025-12-23T11:49:45+0100] [ALPM] upgraded pacutils (0.15.0-1 -> 0.15.0-2)
[2025-12-23T11:49:45+0100] [ALPM] upgraded pacman-static (7.0.0.r6.gc685ae6-9 -> 7.1.0.r7.gb9f7d4a-1)
[2025-12-23T11:49:43+0100] [ALPM] upgraded pacman-contrib (1.13.0-1 -> 1.13.1-1)
[…]
[2025-12-23T11:49:35+0100] [ALPM] upgraded libpamac-flatpak-plugin (11.7.4-1 -> 11.7.4-4)
[2025-12-23T11:49:34+0100] [ALPM] upgraded libpamac (11.7.4-1 -> 11.7.4-4)
[2025-12-23T11:49:21+0100] [ALPM] upgraded pacman (7.0.0.r10.ga2d0293-3 -> 7.1.0.r7.gb9f7d4a-3)
[…]
[2025-12-23T11:49:20+0100] [ALPM] warning: /etc/pacman.conf installed as /etc/pacman.conf.pacnew
[2025-12-23T11:49:20+0100] [ALPM] warning: /etc/makepkg.conf.d/fortran.conf installed as /etc/makepkg.conf.d/fortran.conf.pacnew
[2025-12-23T11:49:20+0100] [ALPM] warning: /etc/makepkg.conf installed as /etc/makepkg.conf.pacnew

And the output of inxi -zv8, with several sections redacted for privacy and for brevity (as those sections are not relevant):

inxi -zv8
System:
  Kernel: 6.12.61-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.12-x86_64
    root=UUID=c2c41a52-2ae1-4701-a1c2-364264ddb6c0 rw quiet threadirqs
    udev.log_priority=3
  Desktop: KDE Plasma v: 6.5.4 tk: Qt v: N/A info: frameworks v: 6.21.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop System: HP product: HP EliteDesk 800 G2 DM 65W v: N/A
    serial: <superuser required> Chassis: type: 15 serial: <superuser required>
  Mobo: HP model: 8056 v: KBC Version 05.39 serial: <superuser required>
    part-nu: L2X86AV uuid: <superuser required> Firmware: UEFI vendor: HP
    v: N21 Ver. 02.61 date: 03/17/2023
Battery:
[…]
Memory:
[…]
PCI Slots:
  Permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i7-6700 bits: 64 type: MT MCP arch: Skylake-S
    gen: core 6 level: v3 note: check built: 2015 process: Intel 14nm family: 6
    model-id: 0x5E (94) stepping: 3 microcode: 0xF0
  Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 threads: 8 tpc: 2
    smt: enabled cache: L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB
    desc: 4x256 KiB L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 1718 min/max: 800/4000 scaling: driver: intel_pstate
    governor: powersave cores: 1: 1718 2: 1718 3: 1718 4: 1718 5: 1718 6: 1718
    7: 1718 8: 1718 bogomips: 54417
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid lahf_lm lm mca mce md_clear mmx monitor movbe mpx msr
    mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge
    pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep
    sgx smap smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm
    tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi vpid x2apic
    xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling status: Vulnerable: No microcode
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: conditional;
    RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds mitigation: Microcode
  Type: tsa status: Not affected
  Type: tsx_async_abort mitigation: TSX disabled
  Type: vmscape mitigation: IBPB before exit to userspace
Graphics:
[…]
Audio:
[…]
Network:
[…]
Bluetooth:
[…]
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 238.47 GiB used: 165.62 GiB (69.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: MZ7LN256HMJP-000H1
    size: 238.47 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 1H3Q temp: 25.0 C scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 238.17 GiB size: 233.38 GiB (97.99%)
    used: 165.62 GiB (71.0%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: c2c41a52-2ae1-4701-a1c2-364264ddb6c0
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 328 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1 label: NO_LABEL
    uuid: 8D09-CB07
[…]
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: file size: 512 MiB used: 504.4 MiB (98.5%) priority: -2
    file: /swapfile
Unmounted:
  Message: No unmounted partitions found.
USB:
[…]
Sensors:
  System Temperatures: cpu: 36.0 C pch: 37.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Repos:
  Packages: 2849 pm: dpkg pkgs: 0 pm: pacman pkgs: 2786 libs: 443 tools: pamac
    pm: flatpak pkgs: 63
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: https://mirror.futureweb.be/manjaro/stable/$repo/$arch
    2: https://manjaro.kurdy.org/stable/$repo/$arch
    3: https://manjaro.syxpi.fr/manjaro/stable/$repo/$arch
    4: https://mirror.alpix.eu/manjaro/stable/$repo/$arch
    5: https://mirror.easyname.at/manjaro/stable/$repo/$arch
    6: https://manjaro.ynh.ovh/stable/$repo/$arch
    7: https://ftp.gwdg.de/pub/linux/manjaro/stable/$repo/$arch
    8: https://manjaro.mirrors.lavatech.top/stable/$repo/$arch
Processes:
[…]
Info:
  Processes: 340 Power: uptime: 13d 15h 22m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 28 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 12.39 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 258 default: graphical
    tool: systemctl
  Compilers: clang: 21.1.6 gcc: 15.2.1 Shell: Zsh v: 5.9 default: Bash
    v: 5.3.9 running-in: konsole inxi: 3.3.40

Also stable and testing branch got updated to pacman 7.1 and therefore libalpm 0.16.

It wasn’t intended to solve an issue; it was intended as an alternative that might have been of interest. Yes, it’s a script, or a wrapper, if that’s what you prefer to call it.

If installed, it will use yay.

Good luck.

Sorry if I sounded rude, not my intention at all. topgrade sounds like a nice tool for people managing multiple distros.


Maybe pamac should be resilient to updating libalpm. Otherwise, it will crash on every system update that upgrades the pacman version. Should I create an issue about it on GitHub - manjaro/pamac: Graphical Package Manager for Manjaro Linux with Alpm, AUR, Appstream, Flatpak and Snap support ?

You may have a fundamental misunderstanding of the process, and in particular, the relationship between Arch and Manjaro branches.

TL/DR: Most packages comprising Manjaro are inherited from Arch Linux, who in turn receive those same packages from whosoever is the “upstream” developer/maintainer/organisation.

Manjaro cannot update any of these packages without it first being available from Arch Stable – from there, it must proceed to Manjaro Unstable, Manjaro Testing and finally Manjaro Stable.

Manjaro has to wait as often as you or I for most packages.

Looking at pacman as one example (which uses libalpm), you’ll notice the same version currently in all branches, including Arch Stable:

mbn info pacman -q
Branch         : archlinux
Name           : pacman
Version        : 7.1.0.r7.gb9f7d4a-1
Repository     : core
Build Date     : Fri 12 Dec 2025 23:33:39 
Packager       : Antonio Rojas <arojas@archlinux.org>
Branch         : unstable
Name           : pacman
Version        : 7.1.0.r7.gb9f7d4a-3
Repository     : core
Build Date     : Thu 18 Dec 2025 13:44:08 
Packager       : Philip Mueller <philm@manjaro.org>
Branch         : testing
Name           : pacman
Version        : 7.1.0.r7.gb9f7d4a-3
Repository     : core
Build Date     : Thu 18 Dec 2025 13:44:08 
Packager       : Philip Mueller <philm@manjaro.org>
Branch         : stable
Name           : pacman
Version        : 7.1.0.r7.gb9f7d4a-3
Repository     : core
Build Date     : Thu 18 Dec 2025 13:44:08 
Packager       : Philip Mueller <philm@manjaro.org>

As you can hopefully now appreciate, it’s not simply a case that “Manjaro should update a random-package”. :wink:


As far as the issue itself is concerned, I have every confidence that any problem will be identified and fixed in due course.

Until then consider using yay or another AUR helper.

sudo pacman -S yay

Have an enjoyable festive season.

My mistake - I didn’t know it was rolled out to all branches.

I don’t know how this can be handled, but making the developer aware that the update to pacman’s libalpm made pamac crash mid update - I agree.

2 Likes

An easy solution would be to not link to the *.so.xx but to the *.so file, however I didn’t saw any crashes on my end when an update was performed. Might only happen mid-update when some download error or something else happens and some parts got updated already …

If that’s the case, maybe pamac should be more conservative whenever pacman-related packages are going to be updated. MAYBE in such cases pamac should do a two-step process: first download everything, and then start the actual update.


Or maybe pamac should actually be executed as two processes:

  • The parent process wouldn’t depend on libalpm or anything else, and its sole purpose is to monitor the child process. Due to not depending on other libraries and due to simplified logic, this parent process shouldn’t crash at all. It should be resilient.
  • The child process would be the actual pamac that actually interacts with the packages.

Whenever an update starts, the parent process should observe if the child pamac crashes. If it does, for whatever reason, then the parent process should be able to recover from it, even if that means a partial recovery. After all, if pamac crashes, the upgrade already continues happening in background by some other process; thus the parent process should be able to fork a new child that would contact with that background process.

In the worst case, the new child process could be equivalent to tail -f on whatever the pacman/pamac daemon is doing. This would be a partial recovery. The user would still be able to see some feedback, even though the user wouldn’t be able to interact/stop it at all. (If this was a GUI, this partial recovery would be a minimalist dialog that outputs the results of the logs, but without the normal pamac-manager buttons and widgets.)


As a developer myself, I know this is easier said than done. It’s not unfeasible, but requires some work to get it implemented correctly. Additionally, I understand it’s difficult to fix something that cannot be easily reproduced.

1 Like

Anecdotal:-

As mentioned, this isn’t the first time I’ve seen similar issues mentioned in the forum, where the update would seem to freeze or stall in the GUI, but complete in the background, regardless.

For a long while the general recommendation when using pamac was to maintain separation between software sources;

Effectively, a two step process:

1. Update packages from the Manjaro repo(s):

  • pamac update --no-aur

2. Build/update software sourced via the AUR:

  • pamac update --aur

It seems pamac was changed sometime earlier this year to handle that separation internally. Whether it was believed that not having that separation contributed in some way to the issue at hand, I can’t say, but if so, those changes haven’t helped.

Please make the upgrade process a two step process: First upgrade repo packages only, then upgrade AUR packages #488

Photon89 opened on Feb 23

Mar 1 - fixed in manjaro/libpamac@c629d1d

If I recall correct, pamac was alleged to be less reliable than another AUR helper that had a 2 stage process, and that it was possible to have an AUR package replace a repository package

1 Like

I think that may have been the case with pamac in the past, but if so, then that situation was remedied quite a while ago already.

Either way, pamac will prioritize and update the repo packages first, and will only update the AUR packages after that, just as yay does.

4 Likes

Once again, pamac GUI crashed and disappeared while the update continued running in background. This happened while the updates were still being downloaded. As a workaround, I had to open htop and keep monitoring the CPU usage to have a feeling of when the update was completed.

This time, AFAIK, neither libalpm nor any pacman/pamac-related package was updated.


Could this potentially happen because I had uninstalled packagekit and packagekit-qt5 and packagekitd years ago?

I took note that multiple times in 2022 and 2023 it was using between 5% and 12% of my 32GB RAM. That’s a lot of memory to be eaten for something that is only needed a few times per week. The Arch Wiki recommends against it anyway, and someone else also had similar trouble with packagekit.

1 Like

System is using GTK4 version of pamac GUI

I suggest install pamac-gtk3 to replace this package

https://download.manjaro.org/kde/26.0.1/manjaro-kde-26.0.1-260114-linux618.iso.pkgs

pamac-gtk3 10.7.0-1

Unlikely since these packages have not been included in Manjaro Live ISOs since Manjaro 24.1 Xahea released October 2024

No, pamac does not use packagekit.

If you don’t use any Snaps or FlatPaks, then, given that you are on Plasma, I recommend using octopi as a graphical package manager. It acts as a direct GUI front-end to pacman and to an AUR helper — we recommend installing yay for that. :backhand_index_pointing_down:

It also comes with its own notifier icon for the system tray.

sudo pacman -S octopi yay

You’ll need to configure it a bit though, because it doesn’t know which AUR helper you want it to use.

1 Like

Why? I’m curious to know why we should prefer one over another.

Also worth noting that pamac-cli crashed (on the message from 24 days ago). So it wasn’t related to GTK3 or GTK4. (But yesterday I used the GTK4 GUI and it also crashed.)


So far I’ve only faced this kind of issue after a new stable update, when updating the whole system. So I can only “reproduce” it a few times per year. If someone tells me what are the extra steps I can do so I can get some kind of stacktrace to help pinpoint the source of this bug… Please tell me!

True, but pamac-gtk3 is scheduled to be dropped in favor of pamac-gtk.

(Don’t ask me when, though. :man_shrugging:)

Anyway, my recommendation to use octopi still stands. It’s a more than viable alternative to pamac-gtk{,3}, and especially so if you’re using Plasma, because it’s qt6-based.

The only downside — as I said already — is if you want to use Snaps or FlatPaks, because octopi doesn’t cover those. Personally I have no need for Snaps or FlatPaks, but many people here do. :man_shrugging:

1 Like

Nobody should use snaps and for flatpak there are other tools (flatseal, warehouse, flathub.org, flatpak update from terminal).
So this is ok.

2 Likes