node.js - GC 和 JS Stacktrace 致命错误:接近堆限制的无效标记压缩分配失败 - Next.js 应用程序的 JavaScript 堆内存不足
问题描述
我有一个 Next.js 应用程序,它可以在没有引导程序的情况下正常工作,但是一旦我添加和使用 react-bootstrap 并创建一些组件,我的应用程序就会崩溃。我的错误信息:
[3239:0x1046c2000] 139418 ms: Mark-sweep (reduce) 4095.3 (4101.6) -> 4094.6 (4102.9) MB, 3784.9 / 0.0 ms (average mu = 0.124, current mu = 0.001) allocation failure scavenge might not succeed
[3239:0x1046c2000] 144747 ms: Mark-sweep (reduce) 4095.7 (4101.9) -> 4095.0 (4103.1) MB, 5319.8 / 0.0 ms (+ 0.0 ms in 17 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 5329 ms) (average mu = 0.056, current mu = 0.002
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x1012e4da5 node::Abort() (.cold.1) [/usr/local/bin/node]
2: 0x1000a6239 node::Abort() [/usr/local/bin/node]
3: 0x1000a639f node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
4: 0x1001e9007 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
5: 0x1001e8fa3 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
6: 0x100397e95 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
7: 0x10039995a v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/usr/local/bin/node]
8: 0x100395029 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
9: 0x1003928c1 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
10: 0x1003a115a v8::internal::Heap::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/usr/local/bin/node]
11: 0x1003a11e1 v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/usr/local/bin/node]
12: 0x10036eb87 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/usr/local/bin/node]
13: 0x1006edd40 v8::internal::Runtime_AllocateInOldGeneration(int, unsigned long*, v8::internal::Isolate*) [/usr/local/bin/node]
14: 0x100a7a239 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/usr/local/bin/node]
error Command failed with signal "SIGABRT".
这只发生在我创建 react-bootstrap 组件时。其他一切似乎都工作正常......我认为 react-bootstrap 应该与 Next 一起工作......但似乎没有一个 bootstrap 版本与 Next 一起工作。任何有助于理解我在这里发生的事情将不胜感激。
解决方案
推荐阅读
- c# - 如何连接到 LDAP 并保持连接以从 Active Directory 中检索信息?
- angular - 角度图像404后备
- sql - 在选择中使用函数中的行类型 - PL SQL
- ffmpeg - 用于为音频 aac 创建 DASH 和 HLS 播放列表的打包工具
- javascript - 重构 map 函数,以便返回一个字符串
- angular - 我想在 Angular 项目中设置主题
- javascript - 如何解决 npm 包中的“无法解析模块说明符”错误?
- pycharm - 如何将我的所有 python 库从一台机器转移到另一台机器
- java - 隐藏/显示 Recyclerview 的行有效,但需要太多时间
- firebase - Flutter Web 不验证在 Flutter App 上创建的用户,反之亦然