v8/test/inspector
Clemens Backes 4510401df4 [inspector][fuzzer] Fix termination
Joining the thread from the watchdog is problematic, since e.g.
{pthread_join} (the implementation of {Thread::Join} on POSIX systems)
has undefined behaviour if multiple threads try to join at the same
time. In practice, this leads to deadlocks.

Thus implement termination by just calling {TaskRunner::Terminate}, but
not {TaskRunner::Join}. This fixes the deadlocks in the inspector
fuzzer.
The inspector test binary is fixed simarly, even though there it seems
to not cause problems so far.

In both files, the {Terminate} function is inlined into callers because
it's only a single line now, with one to two users.

Also, replace the single fuzzer test (which is invalid javascript) by
two tests: One called "invalid" explicitly, still with invalid
javascript, and one empty file, which is valid input. That one
reproduced the deadlock.

R=szuend@chromium.org

Bug: chromium:1142437
Change-Id: I8fb98b0cdbf3ceff6af6849397e5da5a4e9acd3c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2526384
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71054}
2020-11-09 16:02:19 +00:00
..
console Reland 2 ScriptContext CLs 2020-01-22 15:40:06 +00:00
counters [DevTools] Re-implemented Profiler.getRuntimeCallStats. 2020-09-08 18:32:05 +00:00
cpu-profiler [testrunner] enable --wasm-generic-wrapper for nooptimization variant 2020-10-13 09:27:45 +00:00
debugger [wasm] Remove "function tables" from the scope chains. 2020-10-30 11:32:12 +00:00
heap-profiler heap-snapshot: Add detachedness field 2020-09-09 14:42:41 +00:00
runtime Fix crash in JSPromise::Resolve when 'then' getter is terminating 2020-10-27 09:06:52 +00:00
runtime-call-stats [DevTools] Re-implemented Profiler.getRuntimeCallStats. 2020-09-08 18:32:05 +00:00
sessions WIP: [parser] Fix arrow function name inferring 2019-01-08 08:10:03 +00:00
type-profiler [tests] Filter out non-existent methods in inspector tests 2020-01-17 12:21:29 +00:00
BUILD.gn [inspector][fuzzer] Add inspector fuzzer 2020-11-02 14:29:08 +00:00
DEPS [inspector][fuzzer] Extract functionality for reuse 2020-10-28 08:37:25 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
frontend-channel.h [inspector][test] Avoid leaks via tasks 2020-11-06 11:30:26 +00:00
inspector-test.cc [inspector][fuzzer] Fix termination 2020-11-09 16:02:19 +00:00
inspector.status [inspector][fuzzer] Fix alloc-dealloc-mismatch 2020-11-09 13:23:59 +00:00
isolate-data.cc [inspector][test] Remove memory leak via Vectors 2020-11-09 12:09:02 +00:00
isolate-data.h [inspector][test] Remove memory leak via Vectors 2020-11-09 12:09:02 +00:00
json-parse-expected.txt [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
json-parse.js [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
OWNERS Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
print-method-not-found-expected.txt [tests] Filter out non-existent methods in inspector tests 2020-01-17 12:21:29 +00:00
print-method-not-found.js [tests] Filter out non-existent methods in inspector tests 2020-01-17 12:21:29 +00:00
protocol-test.js [wasm][inspector][test] Print opcode names 2020-10-16 16:17:14 +00:00
task-runner.cc [inspector][test] Fix typo 2020-11-06 12:42:35 +00:00
task-runner.h [inspector][test] Fix typo 2020-11-06 12:42:35 +00:00
tasks.cc [inspector][test] Remove memory leak via Vectors 2020-11-09 12:09:02 +00:00
tasks.h [inspector][test] Avoid leaks via tasks 2020-11-06 11:30:26 +00:00
testcfg.py [test] Load missing file to Android devices for inspector test suite 2020-07-21 14:11:11 +00:00
utils.cc [inspector][fuzzer] Extract functionality for reuse 2020-10-28 08:37:25 +00:00
utils.h [inspector][fuzzer] Extract functionality for reuse 2020-10-28 08:37:25 +00:00
wasm-inspector-test.js [wasm][inspector][test] Print opcode names 2020-10-16 16:17:14 +00:00