Issue1221

Title Assertion failing using "--debug" and "--alias lama-first" options
Priority bug Status resolved
Superseder Nosy List clemens
Assigned To Keywords
Optional summary
I am encountering an unexpected failed assertion on the debug build of the newest revision b9fba250f of Fast Downward. In contrast, the task is solved without problems using the release build. See the attached domain and task to recreate this error. I was able to recreate this on the cluster as well as locally.

Call string to recreate:
python3 build.py debug && python3 fast-downward.py --alias lama-first --debug ~/3-muddy.pddl

Program output:
[t=0.000211s, 10540 KB] Search code revision: b9fba250f
[t=0.000350s, 10540 KB] reading input...
[t=0.001289s, 10540 KB] done reading input!
[t=0.003020s, 10928 KB] Initializing landmark sum heuristic...
[t=0.003080s, 10928 KB] Generating landmark graph...
[t=0.003147s, 10928 KB] Building a landmark graph with reasonable orders.
[t=0.003200s, 10928 KB] Initializing Exploration...
[t=0.003325s, 10928 KB] Generating landmarks using the RPG/SAS+ approach
downward: /infai/heuser0000/reference-repo/src/search/landmarks/landmark_factory_rpg_sasp.cc:123: void landmarks::add_binary_variable_conditions(const TaskProxy&, const Landmark&, const EffectsProxy&, const std::unordered_set&, utils::HashSet&): Assertion `ranges::none_of( result, [&](const FactPair &result_atom) { return result_atom.var == var_id; })' failed.
Peak memory: 11060 KB
caught signal 6 -- exiting
Remove intermediate file output.sas
search exit code: -6

Created on 2026-06-10.14:48:52 by Benedikt, last changed by clemens.

Summary
I am encountering an unexpected failed assertion on the debug build of the newest revision b9fba250f of Fast Downward. In contrast, the task is solved without problems using the release build. See the attached domain and task to recreate this error. I was able to recreate this on the cluster as well as locally.

Call string to recreate:
python3 build.py debug && python3 fast-downward.py --alias lama-first --debug ~/3-muddy.pddl

Program output:
[t=0.000211s, 10540 KB] Search code revision: b9fba250f
[t=0.000350s, 10540 KB] reading input...
[t=0.001289s, 10540 KB] done reading input!
[t=0.003020s, 10928 KB] Initializing landmark sum heuristic...
[t=0.003080s, 10928 KB] Generating landmark graph...
[t=0.003147s, 10928 KB] Building a landmark graph with reasonable orders.
[t=0.003200s, 10928 KB] Initializing Exploration...
[t=0.003325s, 10928 KB] Generating landmarks using the RPG/SAS+ approach
downward: /infai/heuser0000/reference-repo/src/search/landmarks/landmark_factory_rpg_sasp.cc:123: void landmarks::add_binary_variable_conditions(const TaskProxy&, const Landmark&, const EffectsProxy&, const std::unordered_set<int>&, utils::HashSet<FactPair>&): Assertion `ranges::none_of( result, [&](const FactPair &result_atom) { return result_atom.var == var_id; })' failed.
Peak memory: 11060 KB
caught signal 6 -- exiting
Remove intermediate file output.sas
search exit code: -6
Files
File name Uploaded Type Edit Remove
pddl-files.zip Benedikt, 2026-06-10.14:48:52 application/zip
Messages
msg12079 (view) Author: clemens Date: 2026-06-11.15:00:47
I introduced the assertion during the last larger cleanup of the landmark code in issue992. The assertion assumes that there is at most one effect for each variable which must have appeared convincing to me at the time. This assumption is incorrect, as shown for example by the provided PDDL domain where multiple conditional effects affect the same variable. I just made a trivial commit removing the assertion.
History
Date User Action Args
2026-06-11 15:00:47clemenssetmessages: + msg12079
nosy: + clemens
status: unread -> resolved
2026-06-10 14:57:17Benediktsetsummary: I am encountering an unexpected failed assertion on the debug build of the newest revision b9fba250f of Fast Downward. In contrast, the task is solved without problems using the release build. See the attached domain and task to recreate this Error. I was able to recreate this on the cluster as well as locally. Call string to recreate: python3 build.py debug && python3 fast-downward.py --alias lama-first --debug ~/3-muddy.pddl Program output: [t=0.000211s, 10540 KB] Search code revision: b9fba250f [t=0.000350s, 10540 KB] reading input... [t=0.001289s, 10540 KB] done reading input! [t=0.003020s, 10928 KB] Initializing landmark sum heuristic... [t=0.003080s, 10928 KB] Generating landmark graph... [t=0.003147s, 10928 KB] Building a landmark graph with reasonable orders. [t=0.003200s, 10928 KB] Initializing Exploration... [t=0.003325s, 10928 KB] Generating landmarks using the RPG/SAS+ approach downward: /infai/heuser0000/reference-repo/src/search/landmarks/landmark_factory_rpg_sasp.cc:123: void landmarks::add_binary_variable_conditions(const TaskProxy&, const Landmark&, const EffectsProxy&, const std::unordered_set<int>&, utils::HashSet<FactPair>&): Assertion `ranges::none_of( result, [&](const FactPair &result_atom) { return result_atom.var == var_id; })' failed. Peak memory: 11060 KB caught signal 6 -- exiting Remove intermediate file output.sas search exit code: -6 -> I am encountering an unexpected failed assertion on the debug build of the newest revision b9fba250f of Fast Downward. In contrast, the task is solved without problems using the release build. See the attached domain and task to recreate this error. I was able to recreate this on the cluster as well as locally. Call string to recreate: python3 build.py debug && python3 fast-downward.py --alias lama-first --debug ~/3-muddy.pddl Program output: [t=0.000211s, 10540 KB] Search code revision: b9fba250f [t=0.000350s, 10540 KB] reading input... [t=0.001289s, 10540 KB] done reading input! [t=0.003020s, 10928 KB] Initializing landmark sum heuristic... [t=0.003080s, 10928 KB] Generating landmark graph... [t=0.003147s, 10928 KB] Building a landmark graph with reasonable orders. [t=0.003200s, 10928 KB] Initializing Exploration... [t=0.003325s, 10928 KB] Generating landmarks using the RPG/SAS+ approach downward: /infai/heuser0000/reference-repo/src/search/landmarks/landmark_factory_rpg_sasp.cc:123: void landmarks::add_binary_variable_conditions(const TaskProxy&, const Landmark&, const EffectsProxy&, const std::unordered_set<int>&, utils::HashSet<FactPair>&): Assertion `ranges::none_of( result, [&](const FactPair &result_atom) { return result_atom.var == var_id; })' failed. Peak memory: 11060 KB caught signal 6 -- exiting Remove intermediate file output.sas search exit code: -6
2026-06-10 14:55:16Benediktsetsummary: I am encountering an unexpected failed assertion on the debug build of the newest revision b9fba250f of Fast Downward. In contrast, the task is solved without problems using the release build. See the attached domain and task to recreate this Error. Call string to recreate: python3 build.py debug && python3 fast-downward.py --alias lama-first --debug ~/3-muddy.pddl Program output: [t=0.000211s, 10540 KB] Search code revision: b9fba250f [t=0.000350s, 10540 KB] reading input... [t=0.001289s, 10540 KB] done reading input! [t=0.003020s, 10928 KB] Initializing landmark sum heuristic... [t=0.003080s, 10928 KB] Generating landmark graph... [t=0.003147s, 10928 KB] Building a landmark graph with reasonable orders. [t=0.003200s, 10928 KB] Initializing Exploration... [t=0.003325s, 10928 KB] Generating landmarks using the RPG/SAS+ approach downward: /infai/heuser0000/reference-repo/src/search/landmarks/landmark_factory_rpg_sasp.cc:123: void landmarks::add_binary_variable_conditions(const TaskProxy&, const Landmark&, const EffectsProxy&, const std::unordered_set<int>&, utils::HashSet<FactPair>&): Assertion `ranges::none_of( result, [&](const FactPair &result_atom) { return result_atom.var == var_id; })' failed. Peak memory: 11060 KB caught signal 6 -- exiting Remove intermediate file output.sas search exit code: -6 -> I am encountering an unexpected failed assertion on the debug build of the newest revision b9fba250f of Fast Downward. In contrast, the task is solved without problems using the release build. See the attached domain and task to recreate this Error. I was able to recreate this on the cluster as well as locally. Call string to recreate: python3 build.py debug && python3 fast-downward.py --alias lama-first --debug ~/3-muddy.pddl Program output: [t=0.000211s, 10540 KB] Search code revision: b9fba250f [t=0.000350s, 10540 KB] reading input... [t=0.001289s, 10540 KB] done reading input! [t=0.003020s, 10928 KB] Initializing landmark sum heuristic... [t=0.003080s, 10928 KB] Generating landmark graph... [t=0.003147s, 10928 KB] Building a landmark graph with reasonable orders. [t=0.003200s, 10928 KB] Initializing Exploration... [t=0.003325s, 10928 KB] Generating landmarks using the RPG/SAS+ approach downward: /infai/heuser0000/reference-repo/src/search/landmarks/landmark_factory_rpg_sasp.cc:123: void landmarks::add_binary_variable_conditions(const TaskProxy&, const Landmark&, const EffectsProxy&, const std::unordered_set<int>&, utils::HashSet<FactPair>&): Assertion `ranges::none_of( result, [&](const FactPair &result_atom) { return result_atom.var == var_id; })' failed. Peak memory: 11060 KB caught signal 6 -- exiting Remove intermediate file output.sas search exit code: -6
2026-06-10 14:48:52Benediktcreate