microsoft / microsoft/TypeScript

compiler memory leak in 5.8.x and upwards

Ouverte
#62,143 10 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Needs More Info
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

🔎 Search Terms

5.8, mem

🕗 Version & Regression Information
  • This changed between versions 5.7 and 5.8
⏯ Playground Link

No response

💻 Code

https://github.com/fxdave/cuple/pull/new/typescript-issue-5-8-memory-leak

🙁 Actual behavior
$ npx tsc

<--- Last few GCs --->

[34857:0x559d92e7c000]    42329 ms: Scavenge (interleaved) 4081.2 (4090.1) -> 4078.8 (4098.6) MB, pooled: 0 MB, 5.79 / 0.00 ms  (average mu = 0.281, current mu = 0.252) allocation failure; 
[34857:0x559d92e7c000]    43481 ms: Mark-Compact (reduce) 4089.9 (4103.4) -> 4081.8 (4088.4) MB, pooled: 0 MB, 59.32 / 0.00 ms  (+ 880.5 ms in 176 steps since start of marking, biggest step 5.5 ms, walltime since start of marking 998 ms) (average mu = 0.2
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

 1: 0x559d50eec8b4 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node]
 2: 0x559d5140dd34 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
 3: 0x559d5140de3b v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
 4: 0x559d5169e0ac  [node]
 5: 0x559d516a4356 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [node]
 6: 0x559d516a4467 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector, v8::base::TimeTicks) [node]
 7: 0x559d516b3bc4  [node]
 8: 0x559d516b6dd4  [node]
 9: 0x559d52146ba7  [node]
fish: Job 1, 'npx tsc' terminated by signal SIGABRT (Abort)
🙂 Expected behavior
$ npx tsc
(List of type errors.)
Additional information about the issue

NOTE:
It's not a node(24.4.1) issue, I tried with a different node version (node:22-bookworm from dockerhub).
The project is tiny.
I tried adding all my free rams to node (12GB) it ate it.

Steps to reproduce:

# Download this branch: https://github.com/fxdave/cuple/pull/new/typescript-issue-5-8-memory-leak
git clone -b typescript-issue-5-8-memory-leak https://github.com/fxdave/cuple.git
cd cuple

# Setup:
npm i
make build # Important!

# run npx tsc in the tests folder
cd test
npx tsc

(the code contains errors, but that shouldn't matter.)

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduire avec la branche typescript-issue-5-8-memory-leak du dépôt cuple : exécuter npm i, exécuter make build, puis faire cd test et exécuter npx tsc. Comparer TypeScript 5.8+ à 5.7 avec le projet fourni et confirmer que la compilation signale des erreurs de type au lieu d’épuiser le tas.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
compilers
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.