我们的节点应用程序随机崩溃并出现致命错误

random crash in our node app with fatal error

我的节点程序因以下错误而崩溃。在节点 v14.18.1 和 v16.13.0 上都试过。

#
# Fatal error in , line 0
# Check failed: i::kMaxInt >= len.
#
#
#
#FailureMessage Object: 0x7ffd97a48d20
 1: 0xaa6321  [node]
 2: 0x1a3b274 V8_Fatal(char const*, ...) [node]
 3: 0xbcec79 v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::NewStringType, int) [node]
 4: 0xb1c319  [node]
 5: 0xa14671  [node]
 6: 0xc238db  [node]
 7: 0xc24e86  [node]
 8: 0xc25506 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
 9: 0x1446459  [node]

由于堆栈上有 v8::String::NewFromUtf8,错误消息中有 Check failed: i::kMaxInt >= len,很明显您的字符串太长了。在 64 位平台上,V8 支持的最大字符串长度约为 5.36 亿个字符。