Skip to content

TSC Regression causing crash (Heap OOM) between version 4.8.4 & 4.9.3 in large project #53087

Open
@whitespine

Description

@whitespine

Bug Report

When updating typescript within our project from version 4.7.3 to a more recent version, our project began experiencing OOM issues.
Specifically, it is completely unable to build via tsc or even tsc --noEmit.
Ours is a somewhat large project, so I couldn't point to a minimal reproduction (sorry!).
I have 16GB of RAM so I doubt its a "classic" memory error, seems more likely something started infinitely using memory during a version upgrade.

<--- Last few GCs --->

[7915:0x5f6b230]    32781 ms: Mark-sweep (reduce) 2041.6 (2082.5) -> 2040.8 (2083.0) MB, 492.6 / 0.0 ms  (average mu = 0.088, current mu = 0.038) allocation failure; scavenge might not succeed
[7915:0x5f6b230]    33342 ms: Mark-sweep (reduce) 2041.9 (2083.0) -> 2041.1 (2083.2) MB, 556.2 / 0.0 ms  (average mu = 0.047, current mu = 0.009) allocation failure; scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0xb6d470 node::Abort() [node]
 2: 0xa7e0a8  [node]
 3: 0xd46ee0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
 4: 0xd47287 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
 5: 0xf24645  [node]
 6: 0xf25548 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]
 7: 0xf35a53  [node]
 8: 0xf368c8 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
 9: 0xf1122e v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
10: 0xf125f7 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
11: 0xef37ca v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
12: 0x12b6d6f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
13: 0x16e89b9  [node]
[1]    7915 abort      tsc --noEmit

🔎 Search Terms

tsc 4.9 4.9.5 Out of Memory Heap Out of Memory Crash Killed Silent Error
(Am i doing this right?)

🕗 Version & Regression Information

Error began occuring when updating from typescript 4.7.3 to any 4.9.3^ version.
Issue persists into Version 5.1.0-dev.20230303 (nightly at time of testing).
Issue is NOT present in v4.8.4, or any prior version we tried (that satisfied our dependencies, anyways.)

  • This is a crash
  • This changed between versions 4.8.4 and 4.9.3

💻 Code

Branch state is: https://github.com/Eranziel/foundryvtt-lancer/tree/oom

Was unable to produce a minimally viable reproduction, as the OOM error gives next to no context as to where the issue occurs or why. Sorry. More than willing to provide more investigative information, but I don't really know what there is to provide.

🙁 Actual behavior

It crashes on more recent versions for no clear reason.

🙂 Expected behavior

I'd rather it didn't.

Metadata

Metadata

Assignees

Labels

Needs InvestigationThis issue needs a team member to investigate its status.RescheduledThis issue was previously scheduled to an earlier milestone

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions