microsoft / microsoft/vscode-java-debug

Randomly Failed to lanuch debuggee in terminal: com.sun.jdi.connect.TransportTimeoutException

Offen
#1,354 1 Kommentar 8 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

ai-triaged bug
Vorherrschende Sprache
TypeScript
Sterne
591
Forks
429
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
19

Beschreibung

Randomly getting error: Failed to lanuch debuggee in terminal: com.sun.jdi.connect.TransportTimeoutException

Environment
  • Operating System: Debian GNU/Linux 12 x86_64
  • JDK version: openjdk 17.0.7
  • Visual Studio Code version: 1.79.2 (vscodium)
  • Java extension version: v0.25.2023042006
  • Java Debugger extension version: v0.51.0
Steps To Reproduce

It occurs completely randomly, and can be for any java code.

I managed to reproduce it:

  1. Create a simple Test.java.
sample project
package com;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
    }
}
  1. Start the program, enter 1 in the terminal, press Enter.
  2. Repeat step 2 until error occurs. (10 ~ 30 repeats)
  3. After randomly repeating, from now on the program freezes every time, and after 20 seconds later a message always pops up, saying Failed to lanuch debuggee in terminal. Reason: com.sun.jdi.connect.TransportTimeoutException
screenshot

2023-06-22_11-55

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Test",
            "request": "launch",
            "mainClass": "com.Test",
            "projectName": "temp_43be885e"
        },
        {
            "type": "java",
            "name": "Current File",
            "request": "launch",
            "mainClass": "${file}"
        },
        {
            "type": "java",
            "name": "App",
            "request": "launch",
            "mainClass": "App",
            "projectName": "temp_43be885e"
        },
        {
            "type": "java",
            "name": "Main",
            "request": "launch",
            "mainClass": "com.Main",
            "projectName": "temp_43be885e"
        }
    ]
}

It doesn't happens a lot when I try to reproduce it.

Java Language Server Log
!ENTRY java-debug 4 0 2023-06-22 18:15:38.087
!MESSAGE [error response][launch]: Failed to launch debuggee in terminal. Reason: com.sun.jdi.connect.TransportTimeoutException
!STACK 0
com.microsoft.java.debug.core.DebugException: Failed to launch debuggee in terminal. Reason: com.sun.jdi.connect.TransportTimeoutException
	at com.microsoft.java.debug.core.adapter.handler.LaunchWithDebuggingDelegate.lambda$launchInTerminal$0(LaunchWithDebuggingDelegate.java:147)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.complete(Unknown Source)
	at com.microsoft.java.debug.core.protocol.AbstractProtocolServer.lambda$sendRequest$2(AbstractProtocolServer.java:178)
	at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
	at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
	at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Additional Informations
  • It occurs completely randomly, and can be for any java code.
  • Cleaning java workspace could temporarily fix.
  • Downgrading the extension to 0.50.0 doesn't fix it. It didn't occur to me in the few months ago.
  • Downgrading the extension to 0.49.0 and 0.46.0, doesn't seem to be able to reproduce (but it's hard to tell because it is random).
  • Adding "java.debug.settings.console":"internalConcole" in User/settings.json seems to fix it, but I cannot use the terminal to enter inputs now. reference
### Tasks

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit LaunchWithDebuggingDelegate.java in Zeile 147, wo der Stacktrace den Fehler beim Starten im Terminal meldet. Reproduzieren Sie das Problem mit dem gezeigten Test.java-Programm, indem Sie wiederholt 1 eingeben, und vergleichen Sie das Verhalten bei aktivierter bzw. deaktivierter Einstellung für die Terminalkonsole. Als abgeschlossen gilt die Aufgabe, wenn wiederholte Starts nicht mehr einfrieren oder mit TransportTimeoutException enden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.