microsoft / microsoft/vscode-java-debug

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

Ouverte
#1,354 1 commentaire 8 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

ai-triaged bug
Langage dominant
TypeScript
Étoiles
591
Forks
429
Merge moyen
1 j 9 h
PR mergées (30 j)
19

Description

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

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

Commencez par LaunchWithDebuggingDelegate.java à la ligne 147, où la trace de la pile signale l’échec du lancement dans le terminal. Reproduisez le problème avec le programme Test.java indiqué en saisissant 1 de manière répétée, et comparez le comportement lorsque le paramètre de console du terminal est activé ou désactivé. Le travail est considéré comme terminé lorsque les lancements répétés ne se figent plus et ne se terminent plus par TransportTimeoutException.

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

Évaluation

Stack technique
java, typescript, vscode
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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