developit / developit/microbundle

microbundle out of memory on build

Đang mở
#870 3 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
8.1k
Fork
358
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

How to reproduce:
1. Clone https://github.com/daangn/urlpack
2. `cd urlpack/packages/msgpack` (https://github.com/daangn/urlpack/tree/main/packages/msgpack)
3. `yarn install`
4. `yarn _build` (`microbundle --format esm,cjs`)

This always fails with an out-of-memory issue. on Node v14, v16, Mac OS and Ubuntu 20.04

It is not reproduced in other packages with similar code and settings.

```
yarn run v1.22.5
$ microbundle --format esm,cjs

<--- Last few GCs --->

[44348:0x5519880] 13088 ms: Scavenge 3273.1 (3307.3) -> 3273.1 (3307.3) MB, 36.7 / 0.0 ms (average mu = 0.906, current mu = 0.894) allocation failure
[44348:0x5519880] 13243 ms: Scavenge 3536.7 (3570.9) -> 3536.7 (3570.9) MB, 36.9 / 0.0 ms (average mu = 0.906, current mu = 0.894) allocation failure
[44348:0x5519880] 13643 ms: Scavenge 3574.7 (3608.9) -> 3574.7 (3608.9) MB, 5.6 / 0.0 ms (average mu = 0.906, current mu = 0.894) allocation failure

<--- JS stacktrace --->

FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
1: 0xa222f0 node::Abort() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
2: 0x96411f node::FatalError(char const*, char const*) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
3: 0xb97f1e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
4: 0xb98297 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
5: 0xd52fd5 [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
6: 0xd83bbe v8::internal::EvacuateNewSpaceVisitor::Visit(v8::internal::HeapObject, int) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
7: 0xd8fbf6 v8::internal::FullEvacuator::RawEvacuatePage(v8::internal::MemoryChunk*, long*) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
8: 0xd7bd8f v8::internal::Evacuator::EvacuatePage(v8::internal::MemoryChunk*) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
9: 0xd7c008 v8::internal::PageEvacuationTask::RunInParallel(v8::internal::ItemParallelJob::Task::Runner) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
10: 0xd6e8e9 v8::internal::ItemParallelJob::Run() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
11: 0xd91b50 void v8::internal::MarkCompactCollectorBase::CreateAndExecuteEvacuationTasks(v8::internal::MarkCompactCollector*, v8::internal::ItemParallelJob*, v8::internal::MigrationObserver*, long) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
12: 0xd923ec v8::internal::MarkCompactCollector::EvacuatePagesInParallel() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
13: 0xd925b5 v8::internal::MarkCompactCollector::Evacuate() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
14: 0xda45b1 v8::internal::MarkCompactCollector::CollectGarbage() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
15: 0xd60878 v8::internal::Heap::MarkCompact() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
16: 0xd62368 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
17: 0xd642a5 v8::internal::Heap::HandleGCRequest() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
18: 0xd0a787 v8::internal::StackGuard::HandleInterrupts() [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
19: 0x107c20a v8::internal::Runtime_StackGuardWithGap(int, unsigned long*, v8::internal::Isolate*) [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
20: 0x1423279 [/home/cometkim/.asdf/installs/nodejs/14.17.0/bin/node]
Aborted (core dumped)
error Command failed with exit code 134.
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Clone daangn/urlpack, enter packages/msgpack, run yarn install, then reproduce with yarn _build (microbundle --format esm,cjs). Read the package configuration and microbundle build path involved in this command; done means the msgpack package builds successfully without exhausting the Node.js heap on the reported environments.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript
Lĩnh vực
build-system, tooling
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.