[Aptitude-devel] Bug#659341: aptitude: loops while resolving dependencies
Hector Oron
zumbi at debian.org
Fri Feb 10 11:47:14 UTC 2012
Package: aptitude
Version: 0.6.5-1
Severity: important
Hello,
On Debian armhf build daemons, when using sbuild for building packages and using aptitude as resolver for experimental distribution, the resolver loops with following output:
$ strace sbuild --apt-update --no-apt-upgrade --no-apt-distupgrade --batch --stats-dir=/home/buildd/stats --dist=experimental --keyid=XXXXXXXX --build-dep-resolver=aptitude --arch=armhf digikam_4:2.5.0-1
[..]
write(7, " sbuild-build-depends-digikam-d"..., 41 sbuild-build-depends-digikam-dummy{b}
) = 41
write(7, "0 packages upgraded, 51 newly in"..., 730 packages upgraded, 51 newly installed, 0 to remove and 7 not upgraded.
) = 73
write(7, "Need to get 21.9 MB/21.9 MB of a"..., 79Need to get 21.9 MB/21.9 MB of archives. After unpacking 55.0 MB will be used.
) = 79
write(7, "The following packages have unme"..., 48The following packages have unmet dependencies:
) = 48
write(7, " sbuild-build-depends-digikam-d"..., 108 sbuild-build-depends-digikam-dummy: Depends: kdelibs5-dev (>= 4:4.7) but it is not going to be installed.
) = 108
write(7, " "..., 111 Depends: kdepimlibs5-dev (>= 4:4.7) but it is not going to be installed.
) = 111
write(7, " "..., 109 Depends: libmarble-dev (>= 4:4.7) but it is not going to be installed.
) = 109
[..]
write(7, " "..., 101 Depends: libexpat1-dev but it is not going to be installed. or
) = 101
write(7, " "..., 88 libexpat-dev which is a virtual package.
) = 88
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
read(8, "Resolving dependencies...\n", 8192) = 26
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
read(8, "Resolving dependencies...\n", 8192) = 26
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
read(8, "Resolving dependencies...\n", 8192) = 26
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
read(8, "Resolving dependencies...\n", 8192) = 26
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
read(8, "Resolving dependencies...\n", 8192) = 26
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
read(8, "Resolving dependencies...\n", 8192) = 26
write(7, "Resolving dependencies...\n", 26Resolving dependencies...
) = 26
[..]
Loops here for ever...
Aptitude calls are:
$ schroot -d / -c sid-experimental-armhf-sbuild-318c96a4-e978-46c8-afd6-07e7e6281343 --run-session -q -u root -p -- aptitude -y --without-recommends -o Dpkg::Options::=--force-confold -o Aptitude::CmdLine::Ignore-Trust-Violations=false -o Aptitude::ProblemResolver::StepScore=100 -o Aptitude::ProblemResolver::SolutionCost=safety, priority, non-default-versions -o Aptitude::ProblemResolver::Hints::KeepDummy=reject sbuild-build-depends-kdeutils-dummy :UNINST -o Aptitude::ProblemResolver::Keep-All-Level=55000 -o Aptitude::ProblemResolver::Remove-Essential-Level=maximum install sbuild-build-depends-kdeutils-dummy
$ aptitude -y --without-recommends -o Dpkg::Options::=--force-confold -o Aptitude::CmdLine::Ignore-Trust-Violations=false -o Aptitude::ProblemResolver::StepScore=100 -o Aptitude::ProblemResolver::SolutionCost=safety, priority, non-default-versions -o Aptitude::ProblemResolver::Hints::KeepDummy=reject sbuild-build-depends-kdeutils-dummy :UNINST -o Aptitude::ProblemResolver::Keep-All-Level=55000 -o Aptitude::ProblemResolver::Remove-Essential-Level=maximum install sbuild-build-depends-kdeutils-dummy
Looking into aptitude sources, looks like it might be related to this code snippet, but I have not been able to verify it.
<src/cmdline/cmdline_resolver.cc line 1180>
try
>...{
>... cwidget::threads::box<cmdline_resolver_continuation::resolver_result> retbox;
>... resman->safe_resolve_deps_background(no_new_installs, no_new_upgrades,
>...>...>...>...>... boost::make_shared<cmdline_resolver_continuation>(boost::ref(retbox)),
>...>...>...>...>... cmdline_resolver_trampoline);
>... cmdline_spinner spin(aptcfg->FindI("Quiet", 0), term_metrics);
>... // TODO: maybe we should say "calculating upgrade" if we're
>... // running safe-upgrade?
>... std::cout << _("Resolving dependencies...") << std::endl;
>... generic_solution<aptitude_universe> sol = wait_for_solution(retbox, spin);
>... if(show_story)
>... show_resolver_actions(sol, term_metrics);
>... (*apt_cache_file)->apply_solution(sol, NULL);
>...}
Best regards,
Hector Oron
More information about the Aptitude-devel
mailing list