Issue1139

Title unhandled exception in driver when portfolio cannot run any search configs
Priority bug Status chatting
Superseder Nosy List jendrik, malte
Assigned To Keywords driver
Optional summary

Created on 2024-06-18.10:24:44 by malte, last changed by malte.

Messages
msg11600 (view) Author: malte Date: 2024-06-18.10:24:44
When the portfolio runner fails to execute any search configuration because the time limit is too low, we get an unhandled exception:

=========================================
$ ./fast-downward.py --alias seq-sat-fdss-2018 --search-time-limit 0s ~/downward/benchmarks/blocks/probBLOCKS-4-0.pddl 
INFO     planner time limit: None
INFO     planner memory limit: None
[...]
Writing output... [0.000s CPU, 0.000s wall-clock]
Done! [0.010s CPU, 0.008s wall-clock]
translate exit code: 0

INFO     Running search (release).
INFO     search portfolio: /home/helmert/downward/master/driver/portfolios/seq_sat_fdss_2018.py
remaining time: 0.0
config 0: relative time 26, remaining time 1583, absolute time 0
remaining time: 0.0
config 1: relative time 25, remaining time 1557, absolute time 0
remaining time: 0.0
config 2: relative time 135, remaining time 1532, absolute time 0
remaining time: 0.0
config 3: relative time 59, remaining time 1397, absolute time 0
remaining time: 0.0
config 4: relative time 23, remaining time 1338, absolute time 0
remaining time: 0.0
config 5: relative time 57, remaining time 1315, absolute time 0
remaining time: 0.0
config 6: relative time 17, remaining time 1258, absolute time 0
remaining time: 0.0
config 7: relative time 12, remaining time 1241, absolute time 0
remaining time: 0.0
config 8: relative time 26, remaining time 1229, absolute time 0
remaining time: 0.0
config 9: relative time 28, remaining time 1203, absolute time 0
remaining time: 0.0
config 10: relative time 29, remaining time 1175, absolute time 0
remaining time: 0.0
config 11: relative time 88, remaining time 1146, absolute time 0
remaining time: 0.0
config 12: relative time 8, remaining time 1058, absolute time 0
remaining time: 0.0
config 13: relative time 54, remaining time 1050, absolute time 0
remaining time: 0.0
config 14: relative time 24, remaining time 996, absolute time 0
remaining time: 0.0
config 15: relative time 29, remaining time 972, absolute time 0
remaining time: 0.0
config 16: relative time 30, remaining time 943, absolute time 0
remaining time: 0.0
config 17: relative time 28, remaining time 913, absolute time 0
remaining time: 0.0
config 18: relative time 58, remaining time 885, absolute time 0
remaining time: 0.0
config 19: relative time 26, remaining time 827, absolute time 0
remaining time: 0.0
config 20: relative time 27, remaining time 801, absolute time 0
remaining time: 0.0
config 21: relative time 50, remaining time 774, absolute time 0
remaining time: 0.0
config 22: relative time 28, remaining time 724, absolute time 0
remaining time: 0.0
config 23: relative time 29, remaining time 696, absolute time 0
remaining time: 0.0
config 24: relative time 21, remaining time 667, absolute time 0
remaining time: 0.0
config 25: relative time 21, remaining time 646, absolute time 0
remaining time: 0.0
config 26: relative time 24, remaining time 625, absolute time 0
remaining time: 0.0
config 27: relative time 28, remaining time 601, absolute time 0
remaining time: 0.0
config 28: relative time 28, remaining time 573, absolute time 0
remaining time: 0.0
config 29: relative time 53, remaining time 545, absolute time 0
remaining time: 0.0
config 30: relative time 29, remaining time 492, absolute time 0
remaining time: 0.0
config 31: relative time 27, remaining time 463, absolute time 0
remaining time: 0.0
config 32: relative time 29, remaining time 436, absolute time 0
remaining time: 0.0
config 33: relative time 54, remaining time 407, absolute time 0
remaining time: 0.0
config 34: relative time 87, remaining time 353, absolute time 0
remaining time: 0.0
config 35: relative time 30, remaining time 266, absolute time 0
remaining time: 0.0
config 36: relative time 56, remaining time 236, absolute time 0
remaining time: 0.0
config 37: relative time 19, remaining time 180, absolute time 0
remaining time: 0.0
config 38: relative time 56, remaining time 161, absolute time 0
remaining time: 0.0
config 39: relative time 24, remaining time 105, absolute time 0
remaining time: 0.0
config 40: relative time 81, remaining time 81, absolute time 0
Exit codes: []
Traceback (most recent call last):
  File "/home/helmert/downward/master/./fast-downward.py", line 5, in <module>
    main()
  File "/home/helmert/downward/master/driver/main.py", line 41, in main
    (exitcode, continue_execution) = run_components.run_search(args)
  File "/home/helmert/downward/master/driver/run_components.py", line 119, in run_search
    return portfolio_runner.run(
  File "/home/helmert/downward/master/driver/portfolio_runner.py", line 239, in run
    return returncodes.generate_portfolio_exitcode(list(exitcodes))
  File "/home/helmert/downward/master/driver/returncodes.py", line 106, in generate_portfolio_exitcode
    assert False, "Error: Unhandled exit codes: {}".format(exitcodes)
AssertionError: Error: Unhandled exit codes: set()
=========================================

returncodes.generate_portfolio_exitcode should be prepared for the case that it is passed an empty argument.
History
Date User Action Args
2024-06-18 10:24:44maltecreate