Welcome to the Pacman bug tracker. Please search the current bugs and feature requests before filing a new one! Use advanced search and select "Search in Comments".

* Please select the correct category and version.
* Write a descriptive summary, background info, and provide a reproducible test case whenever possible.

FS#38777 - Pacman hangs when updating a package from a private repo with delta packages

Attached to Project: Pacman
Opened by Peter (Peetz0r) - Monday, 03 February 2014, 15:48 GMT
Task Type Bug Report
Category General
Status Assigned
Assigned To Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version 4.1.2
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 1
Private No


Summary and Info:
Pacman is eating 99% cpu while hanging on "looking for inter-conflicts..." when I try to install a package for which a delta package is available. It works normally when I repo-remove the delta packages on the repo server. But I would very much like to use delta packages anyway.

Steps to Reproduce:
- add a package with repo-add
- enable UseDelta on the client machine (with the default 0.7 value)
- install the package
- build a new version of the package
- add it with repo-add --delta
- try to update the package with pacman -Sy myrepo/mypackage (or any other pacman -S command that should work)
- hangs at "looking for inter-conflicts..."

More info:
The devices are BeagleBone Black's with Arch Linux ARM on them, and they will be using a UMTS connection. Therefore bandwidth is very expensive, and we would like to use delta packages to save bandwidth update our software. Our build/repo server is a VM with Arch. It runs makepkg and repo-add whenever we release a new version. The --debug output will be attached
This task depends upon

Comment by Dave Reisner (falconindy) - Monday, 03 February 2014, 16:03 GMT
An strace or backtrace from gdb at the time when pacman is hanging would be useful. The debug output doesn't really show anything interesting.
Comment by Peter (Peetz0r) - Thursday, 06 February 2014, 07:33 GMT
Sorry, I wasn't working on this project for two days, but here's the strace.
Comment by Dave Reisner (falconindy) - Thursday, 06 February 2014, 13:59 GMT
Nothing in that strace is potentially hanging, but that doesn't rule out the possibility of some sort of infinite loop in the delta calculation logic. gdb would be useful here...

How long have you left pacman to make sure that this isn't just taking a long time?
Comment by Peter (Peetz0r) - Thursday, 06 February 2014, 14:07 GMT
minutes. It comes to this point in maybe 10 seconds, but I left it there at more than 5 minutes
Comment by Peter (Peetz0r) - Thursday, 06 February 2014, 16:18 GMT
I have just left it running for over 7 minutes, bur strace only produces any output in the first few seconds. Strace wasn't using any cpu, it was definately pacman itself.

See the attachment for ps -Af f.

Note the cpu time of strace (0:00) and pacman (7:22). The output of 'time' indicated 7:28.8 seconds.

The full command was time strace pacman --needed -Sy myrepo/mypackage

Also, appending 'myrepo/' doesn't seem to make any difference.