microsoft / microsoft/TypeScript

Bug Report: Severe memory leak triggered by "TypeScript (Native Preview)" extension

Đang mở
#64,038 0 bình luận 3 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Go
Star
111k
Fork
14.3k
Merge trung bình
2 ngày 4 giờ
Pull request đã merge (30 ngày)
132

Mô tả

### 🔎 Search Terms

_Note: this issue is updated version of https://github.com/microsoft/TypeScript/issues/63849_

### 🕗 Version & Regression Information

Extension identifier: `typescriptteam.native-preview`
Extension version: `0.20260708.2`
VS Code Version: `1.134`
Operating system Version: `Ubuntu 22.04`

The bug reproduces **with** and **without** the "TypeScript 7 Nightly" extension
```
Identifier: typescriptteam.vscode-typescript-nightly
Version: 0.20260826.1
```

I used this extension to have the latest version of TypeScript (with `TypeScript: Select TypeScript Version` -> `Use TypeScript 7`).

### ⏯ Playground Link

_No response_

### 💻 Code

### Steps to reproduce

1. Create a new empty folder and create a single blank file named `index.ts` inside it. **It is important to have many other git repositories nearby (e.g. `../*`).**
2. Disable the "TypeScript (Native Preview)" extension in VS Code.
3. Open the newly created folder in VS Code.
4. Open the `index.ts` file (this step is required to trigger the behavior).
5. Check the system monitor: memory consumption remains normal/baseline (~4.1 GB total system load).
6. Enable the "TypeScript (Native Preview)" extension.
7. Observe the system monitor: memory consumption starts growing rapidly.
8. Disable the extension and run the "Restart Extensions" command (do not close VS Code yet).
9. Observe that the memory leak continues unabated (climbing up to ~14.6 GB / 87.5% RAM usage).
10. Close VS Code completely: the memory leak stops.

Important clarification: When I add the default `package.json` file to the folder using the following command, there is no memory leak.

```bash
npm init -y
```

### 🙁 Actual behavior

Memory usage spikes dramatically and is never reclaimed until the entire VS Code application is shut down.

### Screenshots
* **Baseline / Normal state (~4.1 GB):**

Image

* **Leaked state (~14.6 GB after enabling/disabling the extension):**

Image

### 🙂 Expected behavior

Enabling the extension on an empty file should not cause massive memory consumption. Disabling the extension or restarting extensions should terminate the underlying leaked processes and free up the allocated RAM.

### Additional information about the issue

The CPU is also used quite actively. On the penultimate screen you can see the memory consumption curve.

Image

### The moment VS Code closes

You see a spike first - this is when VS Code is closed. And then the memory does not return to normal.

Image

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

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện hiện tượng rò rỉ với extension `typescriptteam.native-preview`, một `index.ts` trống và các Git repository ở gần, sau đó so sánh hành vi sau khi thêm `package.json` bằng `npm init -y`. Điều tra hành vi của process và lifecycle của extension khi extension được bật, tắt hoặc khởi động lại. Được xem là hoàn tất khi bộ nhớ vẫn ổn định và việc tắt hoặc khởi động lại các extension dừng được hiện tượng rò rỉ mà không cần đóng VS Code.

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

Đánh giá

Công nghệ
typescript
Lĩnh vực
performance, tooling
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/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.