Closed ohauer closed 10 years ago
I've recreated it here with -ud
. Will debug.
A workaround is pkg upgrade -Fy
(gdb) bt #0 pkg_jobs_add_req (j=0x803436a40, uid=0x803448700 "libX11~x11/libX11", item=0x0) at pkg_jobs.c:263 #1 0x0000000800881fe8 in pkg_jobs_universe_process_deps (universe=0x803446cd0, pkg=0x8034e9600, flags=) at pkg_jobs_universe.c:256 #2 0x0000000800880502 in pkg_jobs_universe_process_item (universe= , pkg= , result= ) at pkg_jobs_universe.c:494 #3 0x000000080087bd0f in pkg_jobs_process_remote_pkg (j= , rp= , force= , unit= ) at pkg_jobs.c:598 #4 0x000000080087b613 in pkg_jobs_find_upgrade (j=0x803436a40, pattern=0x8034da2d0 "R~math/R", m= ) at pkg_jobs.c:737 #5 0x0000000800879355 in pkg_jobs_solve (j=0x803436a40) at pkg_jobs.c:1436 #6 0x000000000040e05f in exec_fetch (argc= , argv= ) at fetch.c:199 #7 0x000000000041042d in main (argc= , argv=0x7fffffffe7a8) at main.c:904
Hm good to know, at last for all my DMZ systems. As bonus it seems the command explains more what will happen during the upgrade and this can be logged remote e.g. via salt before the final upgrade.
pkg fetch -d <pkg already installed>
has the same crash/trace:
#0 pkg_jobs_add_req (j=0x803436d40, uid=0x8034d0d80 "ruby~lang/ruby19", item=0x0) at pkg_jobs.c:263 #1 0x0000000800881fe8 in pkg_jobs_universe_process_deps (universe=0x8034edb80, pkg=0x803544300, flags=) at pkg_jobs_universe.c:256 #2 0x0000000800880502 in pkg_jobs_universe_process_item (universe= , pkg= , result= ) at pkg_jobs_universe.c:494 #3 0x000000080087bd0f in pkg_jobs_process_remote_pkg (j= , rp= , force= , unit= ) at pkg_jobs.c:598 #4 0x000000080087b613 in pkg_jobs_find_upgrade (j=0x803436d40, pattern=0x803527080 "sysutils/zfstools", m= ) at pkg_jobs.c:737 #5 0x000000080087958c in pkg_jobs_solve (j=0x803436d40) at pkg_jobs.c:1445 #6 0x000000000040e05f in exec_fetch (argc= , argv= ) at fetch.c:199 #7 0x000000000041042d in main (argc= , argv=0x7fffffffe790) at main.c:904
pkg fetch -u
is pulling in things that are not updated as well. Likely a separate issue.
Hm, -u always pulled the pkg when the checksum has changed, so the fetched files in the cache where always consistent with the information in the $repo-site.sqlite database. This was a nice feature for short update times and In case someone has not a stable or slow access to the update servers or only limited time to fetch new / changed packages. I used it also to fetch all files to one remote system, sync /var/cache/pkg /var/db/repo-site.sqlite to all other systems on the remote site and then run pkg upgrade -U. Similar to the `yum --downloadonly' plugin on RHEL.
From Kris Moore:
# pkg -R /root/pcbsd-build-10.0-EDGE/tmp/repo/ fetch -y -o /root/pcbsd-build-10.0-EDGE/tmp -d www/firefox Updating repository catalogue pcbsd-build repository is up-to-date All repositories are up-to-date Child process pid=75269 terminated abnormally: Segmentation fault
$pkg update -f