FS#12000 - Pacman segfault when trying update package
Attached to Project:
Pacman
Opened by Vitaliy Berdinskikh (skipper13) - Wednesday, 05 November 2008, 08:06 GMT
Last edited by Dan McGee (toofishes) - Friday, 05 December 2008, 02:28 GMT
Opened by Vitaliy Berdinskikh (skipper13) - Wednesday, 05 November 2008, 08:06 GMT
Last edited by Dan McGee (toofishes) - Friday, 05 December 2008, 02:28 GMT
|
Details
Summary and Info:
When I update package from my own repo pacman shutdown with segfault. Steps to Reproduce: my repo: http://skipper13.root.ua/packages/i686 package: mysql-jdbc command: sudo pacman -S mysql-jdbc |
This task depends upon
Closed by Dan McGee (toofishes)
Friday, 05 December 2008, 02:28 GMT
Reason for closing: Fixed
Additional comments about closing: Commit b99bebc008dcf944a88f99bb44ac9029557e414 9
Friday, 05 December 2008, 02:28 GMT
Reason for closing: Fixed
Additional comments about closing: Commit b99bebc008dcf944a88f99bb44ac9029557e414 9
Delta support in pacman is quite broken atm (off-topic question: or does delta work for you?). However, your log doesn't show any delta related stuff. I guess compute_download_size causes this segfault in sync.c, but this is just a random idea (ALPM_LOG_DEBUG is missing from that function!)
I removed previous version of package, rebuit package (without delta) and repo-db, uploaded all to host. Package successfully updated. :(
pacman.conf:
------------
UseDelta
...
[skipper13]
Server=http://skipper13.root.ua/packages/i686
------------
# pacman -Ud http://skipper13.root.ua/packages/i686/jna-3.0.4-2-i686.pkg.tar.gz
# pacman -Sd jna
------------
gdb says:
Program received signal SIGSEGV, Segmentation fault.
_alpm_delta_parse (line=0xbfe440d7 "3.0.4-2") at delta.c:285
285 *(tmp++) = '\0';
Maybe we should completely remove our not-yet-complete delta implementation (and move into a new branch)...
So basically the current delta implementation is working. Only the support in makepkg/repo-add is wrong. I am not exactly sure though, why libalpm expects the md5sums of the old and the new package. I am not sure if these are even used anywhere. I would feel save enough with xdelta checking those and then libalpm checking the md5sum of the final patched package.