# HG changeset patch # User Sylvain Thénault # Date 1287761927 -7200 # Node ID 78eaccfbd2b76fc9f048dad3905cc6cf943b4d33 # Parent ba9fb496ad879075ee74a2f99bef289128005f8e [ms] fix an infinite loop in ms planner and another crash diff -r ba9fb496ad87 -r 78eaccfbd2b7 server/msplanner.py --- a/server/msplanner.py Fri Oct 22 17:10:31 2010 +0200 +++ b/server/msplanner.py Fri Oct 22 17:38:47 2010 +0200 @@ -1032,7 +1032,7 @@ if isinstance(term, Relation) and term in cross_rels: cross_terms = cross_rels.pop(term) base_accept_term = accept_term - accept_term = lambda x: (accept_term(x) or x in cross_terms) + accept_term = lambda x: (base_accept_term(x) or x in cross_terms) for refed in cross_terms: if not refed in candidates: terms.append(refed) @@ -1125,7 +1125,7 @@ def build_final_part(self, select, solindices, inputmap, sources, insertedvars): solutions = [self._solutions[i] for i in solindices] - if self._conflicts: + if self._conflicts and inputmap: for varname, mappedto in self._conflicts: var = select.defined_vars[varname] newvar = select.make_variable()