Bug #10585
closed
Do not fail when there is not appropriate Java for CPAchecker
Added by Evgeny Novikov about 4 years ago.
Updated almost 4 years ago.
Description
When there is not appropriate Java for CPAchecker there is the following warning within scheduler log:
WARNING - Cannot determine /home/ldvuser/andrianov/klever-deploy/klever-addons/verification-backends/CPALockator/scripts/cpa.sh version, error output: Your Java version is too old, please install Java 11 or newer.
After that Native Scheduler crashes:
Traceback (most recent call last):
File "/home/ldvuser/andrianov/klever/venv/lib/python3.7/site-packages/klever/scheduler/schedulers/__init__.py", line 382, in launch
self._check_jobs_status()
File "/home/ldvuser/andrianov/klever/venv/lib/python3.7/site-packages/klever/scheduler/schedulers/__init__.py", line 574, in _check_jobs_status
result = self.server.get_all_jobs()
File "/home/ldvuser/andrianov/klever/venv/lib/python3.7/site-packages/klever/scheduler/server/__init__.py", line 181, in get_all_jobs
return ((item['identifier'], item['status']) for item in ret)
TypeError: 'NoneType' object is not iterable
- Related to Bug #10587: Check result properly in all Scheduler requests added
BTW, there is almost the same exception but it is related with tasks rather than with jobs when I kill Bridge and then kill NativeScheduler:
Traceback (most recent call last):
File "/home/novikov/work/klever/venv/bin/klever-native-scheduler", line 11, in <module>
load_entry_point('klever', 'console_scripts', 'klever-native-scheduler')()
File "/home/novikov/work/klever/klever/scheduler/main.py", line 57, in native_scheduler
scheduler_impl.launch()
File "/home/novikov/work/klever/klever/scheduler/schedulers/__init__.py", line 387, in launch
self.terminate()
File "/home/novikov/work/klever/klever/scheduler/schedulers/__init__.py", line 448, in terminate
self.cancel_all_tasks()
File "/home/novikov/work/klever/klever/scheduler/schedulers/__init__.py", line 558, in cancel_all_tasks
tasks = self.server.get_all_tasks()
File "/home/novikov/work/klever/klever/scheduler/server/__init__.py", line 191, in get_all_tasks
return ((item['id'], item['status']) for item in ret)
TypeError: 'NoneType' object is not iterable
- Status changed from New to Closed
Actually BenchExec fails without Java, the scheduler keeps working normally.
- Status changed from Closed to Rejected
Let's hope that #9703 will help.
Evgeny Novikov wrote:
Let's hope that #9703 will help.
It does help. After some tuning of NativeScheduler there is the following exception in Core:
RuntimeError: Failed to decide verification task: Task failed 74: SchedulerException('Execution of task 74 terminated with an exception: 2020-11-25 18:41:06,619 - WARNING - Cannot determine /home/novikov/work/klever/addons/CPAchecker-36103/scripts/cpa.sh version, error output: Your Java version is too old, please install Java 11 or newer.')
Also available in: Atom
PDF