84cd9a82ff
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}
21 lines
424 B
JavaScript
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()
|