microsoft / microsoft/vscode-java-debug
Compound Launch Config Debug Port Clash
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 591
- Fork
- 429
- Merge medio
- 1g 9h
- PR unite (30g)
- 19
Descrizione
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.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema con la VS Code compound launch configuration fornita e osserva l’allocazione della porta del Java debug-agent quando più servizi vengono avviati contemporaneamente. Confronta i compound launches con le configurazioni funzionanti singolarmente; il lavoro è completato quando tutti i servizi elencati possono essere avviati insieme senza competere per la stessa porta di debug.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java, vscode
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100