openml / automlbenchmark

OpenML AutoML Benchmarking Framework
https://openml.github.io/automlbenchmark
MIT License
399 stars 132 forks source link

Fix a race condition of checking vs adding results #535

Closed PGijsbers closed 1 year ago

PGijsbers commented 1 year ago

Specifically, adding results was queued in a job executor, while checking results was directly called by the worker threads. If the worker thread checks before the executor had added results, it is possible to get into a deadlock condition. The deadlock arises from the fact that the stop condition is never called and the main thread will continue to wait for its END_Q signal.