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
Last edited by Allan McRae (Allan) - Wednesday, 30 October 2019, 08:48 GMT
Task Type Bug Report
Category General
Status Closed
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 100%
Votes 1
Private No

Details

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

Closed by  Allan McRae (Allan)
Wednesday, 30 October 2019, 08:48 GMT
Reason for closing:  None
Additional comments about closing:  "Fixed" by removing delta support...
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.

Loading...