VAL
VAL copied to clipboard
Validating plan fails after bad_alloc
We recently stumbled on a memory issue in the validate tool. We still use an old version that is bundled with Fast Downward, so I'm not sure if this still applies to the current version. It's also not a big problem for us, I just wanted to let you know.
When running the 32-bit version of validate on large inputs, it can run out of memory for some tasks in the psr-large domain. After a running out of memory it reports plans as invalid that are otherwise reported as valid. In the example below, checking only plan 1 leads to an out-of-memory exception; checking only plan 2 reports the plan as valid; checking both plans reports the exception for plan 1 but then reports plan 2 as invalid.
Domain: http://pastebin.com/4gth80vW Task: http://pastebin.com/RrA1LN8T plan1: http://pastebin.com/Zvczsv3q plan2: http://pastebin.com/mrFx5JWs
$ validate benchmarks/psr-large/domain.pddl benchmarks/psr-large/p41-s201-n60-l2-f30.pddl sas_plan.1
Checking plan: sas_plan.1
Plan executed successfully - checking goal
Error occurred in validation attempt:
std::bad_alloc
Queries (validator failed):
sas_plan.1
$ validate benchmarks/psr-large/domain.pddl benchmarks/psr-large/p41-s201-n60-l2-f30.pddl sas_plan.2
Checking plan: sas_plan.2
Plan executed successfully - checking goal
Plan valid
Final value: 91
Successful plans:
Value: 91
sas_plan.2 91
$ validate benchmarks/psr-large/domain.pddl benchmarks/psr-large/p41-s201-n60-l2-f30.pddl sas_plan.1 sas_plan.2
Checking plan: sas_plan.1
Plan executed successfully - checking goal
Error occurred in validation attempt:
std::bad_alloc
Checking plan: sas_plan.2
Plan executed successfully - checking goal
Goal not satisfied
Plan invalid
Failed plans:
sas_plan.2
Interesting - I will look at this one.