[inspector][fuzzer] Fix timeouts on endless loops
The watchdog previously didn't terminate execution, it just prevented the execution of additional tasks. This CL fixes that by making {TaskRunner::Terminate} actually terminate execution in the isolate. It also adds a regression test for this. R=szuend@chromium.org Bug: chromium:1154412, chromium:1142437 Change-Id: Ic6638e8a5c37e8840a85651b4d4bea2ee0f71c43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622212 Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72031}
This commit is contained in:
parent
8361a59f89
commit
1f7721b1a2
1
test/fuzzer/inspector/endless-loop
Normal file
1
test/fuzzer/inspector/endless-loop
Normal file
@ -0,0 +1 @@
|
||||
while (1) {}
|
@ -116,6 +116,7 @@ void TaskRunner::Append(std::unique_ptr<Task> task) {
|
||||
|
||||
void TaskRunner::Terminate() {
|
||||
is_terminated_++;
|
||||
isolate()->TerminateExecution();
|
||||
process_queue_semaphore_.Signal();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user