microsoft / microsoft/vscode-java-debug
Crash on extensive output in debug console
オープン
まだ誰も着手していません。
ai-triaged
bug
- 主要言語
- TypeScript
- スター
- 591
- フォーク
- 429
- 平均マージ
- 1日 9時間
- マージ済み PR(30日)
- 19
説明
Flooding std-out in debug console by a JUnit test in a short amount of time seems to result in total vscode crash.
Running the given the following simple JUnit 5 "Test" results in crash:
import org.junit.jupiter.api.Test;
public class CrashTest {
@Test
public void crashTest() {
for (int i = 0; i < 1_000_000; i++) {
System.out.println((i + 1));
}
}
}
When releasing the output pressure with the example below, debug console can keep up and there is no crash.
@Test
public void noCrashTest() throws InterruptedException {
for (int i = 0; i < 1_000_000; i++) {
if (i % 1000 == 0)
Thread.sleep(500);
System.out.println((i + 1));
}
}
Environment
- Operating System: Ubuntu 22.04
- JDK version: 17.0.7
- Visual Studio Code version: 1.79.2
- Java extension version: v1.19.0
- Debugger for Java version: v0.51.0
- Test Runner for Java version: v0.39.0
Steps To Reproduce
- Run the test
- Crash
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
提供された JUnit 5 CrashTest を使ってクラッシュを再現し、デバッグコンソールでスロットリングされた noCrashTest と比較します。debug-console の出力パスから始め、その後、100 万行のテストを実行しても VS Code がクラッシュしなくなり、出力も引き続き利用可能であることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, typescript, vscode
- 領域
- devtools, testing-qa
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100