Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#39103 - [pacman] CheckSpace enabled didn't prevent from a failed -Syu

Attached to Project: Pacman
Opened by Damian Nowak (Nowaker) - Sunday, 02 March 2014, 15:38 GMT
Last edited by Allan McRae (Allan) - Wednesday, 19 November 2014, 07:16 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version 4.1.2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

root@nwkrpi ~ # pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
alarm is up to date
aur is up to date
:: Starting full system upgrade...
:: Replace libusbx with core/libusb? [Y/n]
resolving dependencies...
looking for inter-conflicts...

Packages (65): cryptsetup-1.6.4-1 dbus-glib-0.102-1 device-mapper-2.02.105-2 dhcpcd-6.2.1-1 dialog-1:1.2_20140219-1 elfutils-0.158-1 ffmpeg-1:2.1.4-1 file-5.17-1 gawk-4.1.0-2.1 gnupg-2.0.22-2.2
gnutls-3.2.11-1 grep-2.18-1 grml-zsh-config-0.9.3-1 harfbuzz-0.9.26-1 hicolor-icon-theme-0.13-1 js185-1.0.0-2.1 ldns-1.6.17-1 libass-0.11.1-1 libldap-2.4.39-1 libpng-1.6.9-1
libsasl-2.1.26-7 libtirpc-0.2.4-1 libusb-1.0.18-1 libusbx-1.0.17-1 [removal] libwbclient-4.1.5-1 linux-api-headers-3.13.2-1 linux-firmware-20140217.343e460-1 linux-raspberrypi-3.10.32-1
linux-raspberrypi-headers-3.10.32-1 localepurge-0.7.3.2-1 lvm2-2.02.105-2 man-pages-3.61-1 mesa-10.0.3-1 mesa-libgl-10.0.3-1 mpd-0.18.8-1 mpg123-1.18.1-1 ncurses-5.9-6.1 nspr-4.10.3-1
openjpeg-1.5.1-2 openssh-6.5p1-2 p11-kit-0.20.2-1 pacman-mirrorlist-20140220-1 pam-1.1.8-3 pango-1.36.2-1 ppp-2.4.6-2 python2-2.7.6-3 raspberrypi-firmware-20140223-1
raspberrypi-firmware-bootloader-20140223-1 raspberrypi-firmware-bootloader-x-20140223-1 raspberrypi-firmware-emergency-kernel-20140223-1 raspberrypi-firmware-examples-20140223-1
raspberrypi-firmware-tools-20140223-1 readline-6.3-1.1 s-nail-14.6.1-1 samba-4.1.5-1 sg3_utils-1.37-1 smbclient-4.1.5-1 sqlite-3.8.3.1-1 sudo-1.8.9.p5-1 synergy-1.4.16-1 systemd-208-11
systemd-sysvcompat-208-11 wpa_supplicant-2.1-3.1 xdg-utils-1.1.0.git20140207-1 xkeyboard-config-2.11-2

Total Installed Size: 403.14 MiB
Net Upgrade Size: 4.09 MiB

:: Proceed with installation? [Y/n]
(64/64) checking keys in keyring [#############################################################################] 100%
(64/64) checking package integrity [#############################################################################] 100%
(64/64) loading package files [#############################################################################] 100%
(64/64) checking for file conflicts [#############################################################################] 100%
(65/65) checking available disk space [#############################################################################] 100%
(1/1) removing libusbx [#############################################################################] 100%
( 1/64) upgrading libtirpc [#############################################################################] 100%
( 2/64) upgrading pam [#############################################################################] 100%
( 3/64) upgrading systemd [#############################################################################] 100%
( 4/64) upgrading device-mapper [#############################################################################] 100%
( 5/64) upgrading cryptsetup [#############################################################################] 100%
( 6/64) upgrading dbus-glib [#############################################################################] 100%
( 7/64) upgrading dhcpcd [#############################################################################] 100%
( 8/64) upgrading ncurses [#############################################################################] 100%
error: could not extract usr/share/terminfo/h/hp2622 (Write failed)

... and tons of other errors for ncurses package.



Then, once again for ncurses only:

root@nwkrpi ~ # pacman -S ncurses
warning: ncurses-5.9-6.1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Packages (1): ncurses-5.9-6.1

Total Installed Size: 3.50 MiB
Net Upgrade Size: 0.00 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [#############################################################################] 100%
(1/1) checking package integrity [#############################################################################] 100%
(1/1) loading package files [#############################################################################] 100%
(1/1) checking for file conflicts [#############################################################################] 100%
(1/1) checking available disk space [#############################################################################] 100%
(1/1) reinstalling ncurses [#############################################################################] 100%
error: could not extract usr/share/terminfo/w/wyse185-vb (Write failed)



root@nwkrpi ~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 1.7G 1.7G 4.5M 100% /
devtmpfs 210M 0 210M 0% /dev
tmpfs 218M 0 218M 0% /dev/shm
tmpfs 218M 316K 218M 1% /run
tmpfs 218M 0 218M 0% /sys/fs/cgroup
tmpfs 218M 0 218M 0% /tmp
/dev/mmcblk0p1 94M 24M 70M 26% /boot
/dev/sda1 184G 84G 100G 46% /mnt/usb




Net Upgrade Size is 4.09 MiB, whereas df -h reports 4.5MiB free space. This probably makes pacman believe the update will succeed. Theoretically it should succeed - I'm able to allocate more or less 4.5M with dd before I get "no space left on device".

I guess pacman creates some temporary files that are not counted towards the prediction. When pacman is trying to update ncurses, df -h reports:

/dev/root 1.7G 1.7G 0 100% /


Maybe it's possible to improve the prediction algorithm. Or maybe it's just easier to assume some minimal threshold needed to proceed with the update?


Using Pacman v4.1.2 - libalpm v8.0.2 on armv6h (Raspberry Pi).
This task depends upon

Closed by  Allan McRae (Allan)
Wednesday, 19 November 2014, 07:16 GMT
Reason for closing:  No response
Comment by Dave Reisner (falconindy) - Sunday, 02 March 2014, 15:49 GMT
None of your guesses about pacman's behavior are really correct. We pad out the needed blockcount to avoid running the filesystem out of space. The only temporary files we create are the tiny scriptlets which are extracted to /tmp.

You're missing critical information from your bug report -- namely, debug output from pacman on the failed install operation, and the contents of /proc/mounts at the time (I'm assuming /etc/mtab is a symlink to /proc/mounts, yes?).

Comment by Damian Nowak (Nowaker) - Sunday, 02 March 2014, 20:05 GMT
lrwxrwxrwx 1 root root 17 Jun 4 2013 /etc/mtab -> /proc/self/mounts
lrwxrwxrwx 1 root root 11 Mar 2 20:04 /proc/mounts -> self/mounts

Now that I already freed some space, I have to downgrade some package, fill the disk with dd, and perform the upgrade once again. I will provide you with debug output for that.
Comment by Allan McRae (Allan) - Sunday, 02 March 2014, 21:21 GMT
Are you using btrfs?
Comment by Damian Nowak (Nowaker) - Sunday, 02 March 2014, 21:27 GMT
No, ext4.

/dev/mmcblk0p2 on / type ext4 (rw,relatime,data=ordered)
Comment by Allan McRae (Allan) - Sunday, 02 March 2014, 21:29 GMT
OK - definitely need the debug output then.
Comment by Dave Reisner (falconindy) - Monday, 03 March 2014, 15:38 GMT
Still looking for the contents of /proc/mounts, too...
Comment by Damian Nowak (Nowaker) - Monday, 03 March 2014, 15:42 GMT
Sorry, I missed you want the contents of it.

rootfs / rootfs rw 0 0
/dev/root / ext4 rw,noatime,data=ordered 0 0 (WAS: relatime at that time)
devtmpfs /dev devtmpfs rw,relatime,size=214488k,nr_inodes=53622,mode=755 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
tmpfs /run tmpfs rw,nosuid,nodev,mode=755 0 0
tmpfs /sys/fs/cgroup tmpfs rw,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_prio 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=38,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
tmpfs /tmp tmpfs rw 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/mmcblk0p1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0
/dev/sda1 /mnt/usb ext4 rw,relatime,data=ordered 0 0
Comment by Allan McRae (Allan) - Sunday, 29 June 2014, 10:05 GMT
Can you provide the --debug output?
Comment by Damian Nowak (Nowaker) - Monday, 30 June 2014, 12:14 GMT
Debug output of what?
Comment by Allan McRae (Allan) - Monday, 30 June 2014, 12:20 GMT
Debug output from a pacman update/install (--debug). We need to see what it detects as your free space and what your actual free space is, so provide the df output too.
Comment by Damian Nowak (Nowaker) - Monday, 30 June 2014, 13:12 GMT
Sorry, I forgot about providing the debug output. I will try reproducing it.
Comment by Allan McRae (Allan) - Monday, 30 June 2014, 13:27 GMT
You can do it on any update. We just need to look at it and your df output to see if they match what we expect.
Comment by Damian Nowak (Nowaker) - Monday, 30 June 2014, 13:39 GMT
Oh, I see. That's better. I will wait for an update (I'm fresh atm) and provide the log.

Loading...