Issue937

Title landmark code chokes on certain unsolvable problems
Priority bug Status chatting
Superseder Nosy List jendrik, malte, silvan
Assigned To Keywords
Optional summary
Related to issue467.

Created on 2019-10-26.21:30:13 by malte, last changed by silvan.

Summary
Related to issue467.
Messages
msg9025 (view) Author: malte Date: 2019-10-26.21:30:13
When a landmark factory produces a cycle of natural (or stronger) orderings, LandmarkFactory::remove_first_weakest_cycle_edge will choke because it cannot break the cycle by removing a reasonable or obedient-reasonable ordering.

The correct behaviour in such a case is to notice that the task is unsolvable.

An example task that showcases this behaviour was sent to the Fast Downward mailing list on 25.10.2019.

In debug mode, the example task triggers an assertion because there is a landmark without achievers, which is what issue467 is about, and therefore in debug mode it never actually gets to the stage where the cycle issue is encountered. However, in release mode it does, and I get a crash when trying (and failing) to break the cycle.

The two problems are related in the sense that they can both be triggered by unsolvable tasks, but they are unrelated in the sense that they require independent fixes.

In this example task, fixing issue467 by avoiding further landmark processing when landmarks without achievers are encountered would address the problem, but for other tasks all landmarks might have achievers, but we might still detect an unresolvable cycle.
History
Date User Action Args
2019-10-28 10:39:49silvansetnosy: + silvan
2019-10-26 21:30:13maltecreate