[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