Fatal exception instead of Maximum call stack size exceeded
The following code causes an fatal exception for me (Node.js master):
'use strict';
async function test() {
await test();
}
(async () => {
try {
await test();
} catch (err) {
console.log(err);
}
})();
./node t.js
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
1: 0x55c2b5bff520 node::Abort() [./node]
2: 0x55c2b5c00d5e node::OnFatalError(char const*, char const*) [./node]
3: 0x55c2b5df79aa v8::Utils::ReportApiFailure(char const*, char const*) [./node]
4: 0x55c2b5cc4a39 node::TTYWrap::Initialize(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Context>, void*) [./node]
5: 0x55c2b5bde214 node::binding::GetInternalBinding(v8::FunctionCallbackInfo<v8::Value> const&) [./node]
6: 0x55c2b5e7a369 [./node]
7: 0x55c2b5e7b2f6 [./node]
8: 0x55c2b5e7ba26 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [./node]
9: 0x55c2b6c6b80b [./node]
Aborted (core dumped)
I expected it to trigger RangeError: Maximum call stack size exceeded
.