microsoft / microsoft/vscode-java-debug
Compound Launch Config Debug Port Clash
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 591
- Forks
- 429
- Ø Merge
- 1 T. 9 Std.
- Gemergte PRs (30 T.)
- 19
Beschreibung
I'm running into an issue / potential bug where my compound launch configuration tries to run multiple services with the same java debug port. This seems to be a non-deterministic issue and the launch configurations that succeed vary.
Here's a version of my launch config:
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "AxonServer",
"request": "launch",
"mainClass": "org.springframework.boot.loader.PropertiesLauncher",
"classPaths": [
"${workspaceFolder}/build/AxonServer/axonserver.jar"
],
"console": "internalConsole",
"cwd": "${workspaceFolder}/build/AxonServer",
},
{
"type": "java",
"name": "EurekaServer",
"request": "launch",
"mainClass": "com.company.project.framework.eureka.server.EurekaServerApplication",
"projectName": "com.company.project.framework-eureka-server",
"console": "internalConsole",
},
{
"type": "java",
"name": "Config Service",
"request": "launch",
"mainClass": "com.company.project.config.service.ConfigApplication",
"projectName": "com.company.project-config-service",
"console": "internalConsole",
},
{
"type": "java",
"name": "Framework Service",
"request": "launch",
"mainClass": "com.company.project.framework.FrameworkApplication",
"projectName": "com.company.project-framework",
"console": "internalConsole",
},
{
"type": "java",
"name": "Command Service",
"request": "launch",
"mainClass": "com.company.project.framework.commandservice.CommandApplication",
"projectName": "com.company.project.framework-command-service",
"console": "internalConsole",
},
{
"type": "java",
"name": "Query Service",
"request": "launch",
"mainClass": "com.company.project.framework.queryservice.QueryApplication",
"projectName": "com.company.project.framework-query-service",
"console": "internalConsole",
},
{
"type": "java",
"name": "Generation Service",
"request": "launch",
"projectName": "com.company.project.generation-generation",
"mainClass": "org.springframework.boot.loader.launch.JarLauncher",
"classPaths": [
"${workspaceFolder}/build/generation.jar"
],
"console": "internalConsole",
"cwd": "${workspaceFolder}\\build",
},
],
"compounds": [
{
"name": "Start Microservices",
"configurations": [
"AxonServer",
"EurekaServer",
"Config Service",
"Framework Service",
"Command Service",
"Query Service",
"Generation Service",
],
"stopAll": true,
},
]
I get this error for several services on most launch attempts:
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 45559; nested exception is:
java.net.BindException: Address already in use: bind
jdk.internal.agent.AgentConfigurationError: java.rmi.server.ExportException: Port already in use: 45559; nested exception is:
java.net.BindException: Address already in use: bind
at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:491)
ConnectorBootstrap.java:491
at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:447)
Agent.java:447
at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:603)
Agent.java:603
... (trimmed)
Caused by: java.net.BindException: Address already in use: bind
When I check that port, one of my other configurations is indeed using that port. This is not a port used by the applications themselves, but presumably the java debug server port. When I stop my applications, those ports are no longer in use. I can also run the non-compound launch configs individually without issue, this is specifically a compound launch config issue.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Fehler mit der bereitgestellten VS Code compound launch configuration und beobachte die Zuweisung des Java debug-agent-Ports, wenn mehrere Dienste gleichzeitig starten. Vergleiche compound launches mit den einzeln funktionierenden Konfigurationen; abgeschlossen ist die Aufgabe, wenn alle aufgeführten Dienste gemeinsam gestartet werden können, ohne um denselben Debug-Port zu konkurrieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, vscode
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100