Maven Eclipse Debug "JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)"
Solution 1
To kill a process listening on a port:
This command should list processes listening on all ports:
netstat -ano
The -o
option will display the process id.
If you're using a *nix system, you can refine a little further with:
netstat -ano | grep <badport>
When you have the process id, you can terminate it with:
Windows:
- Open Task Manager, add the PID column with View > Select Columns > PID
- Find the process and right-click to kill it
Others:
kill <PID>
Solution 2
For Mac users:
Usually the problem is that another process keeps Maven debug port 5005 open. So I checked which process keeps this port open by executing:
lsof -i tcp:5005
The output was:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 9089 my_user 7u IPv4 0xe88ec542fd4cffc9 0t0 TCP *:avt-profile-2 (LISTEN)
And then I killed the process:
kill -9 9089
If you want these 2 process to be able to run together, you'll have to change the Maven debug port of at least one of them. See: http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html.
Solution 3
There is a long time the question was asked but i had the same problem recently.
Open Task Manager
Kill all "java.exe" process
Relaunch the mvn debug
Hope it will help
Solution 4
Go to Debug configuration
-> Remote Java Application
-> Connect
tab, check Allow termination of remote JVM
.
Then, when you are going to restart the server/maven, go to Debug perspective
and click the read / stop
button.....
Solution 5
Just for documentation, I had the exact same error, running on my local:
ERROR: transport error 202: bind failed: Address already in use FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
in my case the port wasn't the issue, but the host file. The solution is to add/re-add/uncomment:
127.0.0.1 localhost
The config file sets localhost
as default, so a solution is add that host or change it for a custom one.
![Rémi Doolaeghe](https://i.stack.imgur.com/ogBbC.png?s=256&g=1)
Rémi Doolaeghe
Updated on October 21, 2020Comments
-
Rémi Doolaeghe over 3 years
I'm trying to debug Maven tests in Eclipse. When I launch tests with the maven option maven.surefire.debug, I get this error :
ERROR: transport error 202: bind failed: Address already in use FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] /bin/sh: line 1: 27500 Abort trap
It is the same when I tried tu launch debug in my shell.
I tried to add the maven option forkMode=never, and I get another error with my weld artifact that I do not have without the maven.surefire.debug option :
Error loading Weld bootstrap, check that Weld is on the classpath
However, Weld is on my classpath.
Any ideas ?
-
Rémi Doolaeghe over 12 yearsSorry, but the -o option is not recognized. I work on a MacOS 10.6. The solution seems to be a good idea, though.
-
lucrussell over 12 yearsI think you may be able to get this info on OS X with 'sudo lsof -i -P'
-
Rémi Doolaeghe over 12 yearsYou are right. sudo lsof -i -P | grep <bad_port> works fine. Thank you.
-
Evan Hu over 9 yearsIn Ubuntu, I add
netstat -anop
to list out pid. -
broc.seib almost 7 yearsIf it helps hunting down the correct process to kill, I found the java process in question listening on port
5005
. I also see that it was executed as command likejava -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar xxxxxx
-
DavidS over 4 yearsI'm used to killing the "Java" process, but this time I was tricked because this time the process was called "OpenJDK Platform binary" so I didn't find it by a simple alphabetical sort. This answer helped, thanks.