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

Reply via email to