HiGHS
HiGHS copied to clipboard
Destructor of TaskGroup can throw exception
The destructor of highs::parallel::TaskGroup calls:
~TaskGroup() taskWait() sync() sync_stolen_task() leapfrogStolenTask() runStolenTask() checkInterrupt()
which may throw HighsTask::Interrupt(). There is no try-catch in this chain of calls, and the destructor is noexcept by default. So, if an exception is thrown, std::terminate is automatically called. This sometimes happens in HiPO, when running test tsp-p01 on Mac in Debug.