v8/test/mjsunit/regress/regress-crbug-1015945.js
Benedikt Meurer 84cd9a82ff [async stacks] Fix corner case for async generators.
When using promise hooks we can actually end up in capturing stack trace
with an async generator on the stack whose queue is empty, and we need
to gracefully handle that case as well.

Fixed: chromium:1015945
Change-Id: Ia459e7444b373ecab01ca6900a781fd8b4021d1a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870230
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64403}
2019-10-21 07:19:58 +00:00

21 lines
424 B
JavaScript

// Copyright 2019 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax --expose-async-hooks
async function* foo() {
await 1;
throw new Error();
}
(async () => {
for await (const x of foo()) { }
})();
async_hooks.createHook({
promiseResolve() {
throw new Error();
}
}).enable()