v8/test
Andreas Haas f8362a9515 [wasm] Resolve promise in separate task
With recent changes, we resolve the promise of e.g. WebAssembly.compile
with the external API, and not the V8-internal API. The external API,
however, also handles microtasks, and depending on the MicrotasksPolicy,
may also execute microtasks immediately. This means the then-handler of
WebAssembly.compile may get executed within all the scopes that were
open when the external API was called. One of the open scopes is the
CancelableTask that finishes WebAssembly compilation.

The deadlock seen in the issue arises now when {quit()} gets called in
the then-handler of WebAssembly compilation.  The reason is that
{quit()} terminates the isolate, and during isolate termination, we wait
for all running CancelableTasks to finish. This, however, means a
deadlock, because the task that terminates the isolate is waiting for
itself to finish.

R=jkummerow@chrommium.org

Bug: chromium:1338150
Change-Id: I89243daffc76a456293519e24bfaad88277bb99a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3717990
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81311}
2022-06-22 18:11:20 +00:00
..
benchmarks Mark benchmarks/kraken/audio-dft as slow under slow variants 2022-06-15 23:10:02 +00:00
bigint [bigint][test] Parse command-line integer parameters robustly 2022-05-30 15:21:36 +00:00
cctest [module] Fix aborts in terminated async module evaluation 2022-06-22 16:20:28 +00:00
common [wasm][refactor] Use MessageTemplate to describe errors 2022-06-09 16:01:54 +00:00
debugger [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
debugging
fuzzer [wams-gc] Enable i31.new as constant expression 2022-06-16 07:04:53 +00:00
fuzzilli
inspector Reland "[inspector] Allow Debugger.setScriptSource to edit top-most function" 2022-06-15 07:48:30 +00:00
intl Fix unreachable code under --harmony-intl-number-format-v3 2022-06-22 02:57:57 +00:00
js-perf-test [compiler] Inline Array.prototype.at in JSCallReducer 2022-05-25 10:01:03 +00:00
memory
message [api] add v8::Module::GetStalledTopLevelAwaitMessage() 2022-06-10 16:46:57 +00:00
mjsunit [wasm] Resolve promise in separate task 2022-06-22 18:11:20 +00:00
mkgrokdump [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00
mozilla [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
test262 [Temporal] Add add/subtract to PlainYearMonth 2022-06-18 00:35:02 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests [string] Add checks for correct hash values in heap verification 2022-06-22 13:39:48 +00:00
wasm-api-tests [wasm][c-api] Add handle scope to fix wasm_module_validate 2022-06-09 16:46:23 +00:00
wasm-js [wasm] Update spec tests 2022-06-15 11:38:32 +00:00
wasm-spec-tests Reland "[sandbox] Also enable the sandbox outside of Chromium builds" 2022-06-21 13:32:26 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
OWNERS