From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QfisE-0004tM-Lj for garchives@archives.gentoo.org; Sun, 10 Jul 2011 01:31:54 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CD08E21C20B; Sun, 10 Jul 2011 01:31:45 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 81FC421C20B for ; Sun, 10 Jul 2011 01:31:45 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id AD9852AC130 for ; Sun, 10 Jul 2011 01:31:44 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id D8D6B8003D for ; Sun, 10 Jul 2011 01:31:43 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <58766559735c0d643bf1a9e5f2979ec6548fff94.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/resolver/circular_dependency.py X-VCS-Directories: pym/_emerge/resolver/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 58766559735c0d643bf1a9e5f2979ec6548fff94 Date: Sun, 10 Jul 2011 01:31:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: d4ab76f86d7c3306abff09e957802dd8 commit: 58766559735c0d643bf1a9e5f2979ec6548fff94 Author: Zac Medico gentoo org> AuthorDate: Sun Jul 10 01:26:26 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Sun Jul 10 01:26:26 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D58766559 circular_dependency: fix ridiculously long loop The flags from REQUIRED_USE were added to affecting_use, which was not really necessary and was a bad idea because a number of flags in affecting_use affects our number of loops exponentially. This will fix bug #374397 in which the large number of flags in the REQUIRED_USE of dev-lang/php-5.3.6-r1 triggered execution of 2 ^ 45 loops. --- pym/_emerge/resolver/circular_dependency.py | 10 ---------- 1 files changed, 0 insertions(+), 10 deletions(-) diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/re= solver/circular_dependency.py index 994e202..cb64962 100644 --- a/pym/_emerge/resolver/circular_dependency.py +++ b/pym/_emerge/resolver/circular_dependency.py @@ -138,17 +138,7 @@ class circular_dependency_handler(object): usemask, useforce =3D self._get_use_mask_and_force(parent) autounmask_changes =3D self._get_autounmask_changes(parent) untouchable_flags =3D frozenset(chain(usemask, useforce, autounmask_c= hanges)) - affecting_use.difference_update(untouchable_flags) - - #If any of the flags we're going to touch is in REQUIRED_USE, add all - #other flags in REQUIRED_USE to affecting_use, to not lose any soluti= on. - required_use_flags =3D get_required_use_flags(parent.metadata["REQUIR= ED_USE"]) - - if affecting_use.intersection(required_use_flags): - affecting_use.update(required_use_flags) - affecting_use.difference_update(untouchable_flags) - affecting_use =3D tuple(affecting_use) =20 if not affecting_use: