ugh. that's ugly. nice job figuring this out. the fix looks good to me, but i wonder if we could have caught this automatically (and perhaps prevent bugs like this in the future) by making the values in self.__possible_dict into immutable lists? ( __assign_fmri_ids() is the only place where self.__possible_dict values get updated.)
ed On Wed, Aug 29, 2012 at 04:58:53PM -0700, Shawn Walker wrote: > Greetings, > > The following webrev contains fixes for the following issue: > > 7194891 pkg solver operations can omit package dependencies > > https://cr.opensolaris.org/action/browse/pkg/swalker/pkg-solver/webrev/ > > I've verified that this resolves the original issue described in the > bug. Unfortunately, despite many hours of trying to devise a test > case, I've been unable to create one. > > Best I can tell, this bug only occurs whenever a certain chain of > dependencies is parsed an even number of times, which causes the > dependency list to be reversed at a point where the FMRI ids > (position in possible dict) is used to generate the SAT solver > clauses internally. > > The good new is that it's a tiny fix and seems pretty obvious that > it is the right one. > > Once reviewed, I will push to both the update branch and to the default one. > > -Shawn > _______________________________________________ > pkg-discuss mailing list > [email protected] > http://mail.opensolaris.org/mailman/listinfo/pkg-discuss _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
