Analysis OOM (exit 137 at ~4 GB) on large TypeScript graphs

Abierto
#2,916 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@espetro ya está trabajando en esto.

Desde el 3/11/2026.

  • #2944 de @espetro — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
12/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
compilers

Línea de trabajo

Start by reading linked pull request #2944 to see what it already changes, since the work has moved there. The reproduction is compiling bin.ts (full server graph) with scriptc 0.4.7 under a 4 GB memory limit until it exits 137. Done would mean either streaming analysis that caps per-file type-graph retention, or a documented per-entrypoint compile path that stays under the limit. The issue does not name the specific files to change.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

Analyzing a large TypeScript graph OOMs (exit 137) around 4 GB RSS. T3 Code's bin.ts full graph / provider-acp-registry coverage is the evidence; a 4 GB sandbox is not enough for one-shot analysis of that entry.

Expected

Either:

  • streaming / incremental analysis that caps per-file type-graph retention, or
  • a documented, supported way to compile per-entrypoint with an explicit module list so the full graph is never in memory at once.

The shipping strategy for T3 is per-entrypoint builds regardless (acp-mcp-bridge, acp-mcp-call). Streaming analysis is quality-of-life, not a Phase 0 blocker.

Actual (0.4.7)

scriptc analysis of bin.ts (full server graph) is killed at ~4 GB (exit 137).

Workaround for downstream

Compile per entrypoint. Do not pass the whole server as one program.

Evidence

Plan E7.

Lenguaje dominante
TypeScript
Estrellas
6.5k
Forks
212
Merge medio
13 h 2 min
PR fusionados (30 d)
798

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de vercel-labs/scriptc

Todos los issues de vercel-labs/scriptc

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.