Error: Transport Error 202: Bind Failed When Starting Tomcat 7 in Debug Mode

I have installed tomcat 7.0.68 on windows7-64bit machine.

If I run catalina.bat jpda start , it just opens and closes and no logs are generated.

If I run catalina.bat jpda run I get below error

Using CATALINA_BASE:   "C:\apache-tomcat-7.0.68"
Using CATALINA_HOME:   "C:\apache-tomcat-7.0.68"
Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.68\temp"
Using JRE_HOME:        "C:\Java\jre7"
Using CLASSPATH:       "C:\apache-tomcat-7.0.68\bin\bootstrap.jar;C:\apache- 
                         tomcat-7.0.68\bin\tomcat-juli.jar"
Picked up _JAVA_OPTIONS: -Xmx512M
ERROR: transport error 202: bind failed: Address already in use
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:750]
FATAL ERROR in native method: JDWP No transports initialized,
                       jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
2

8 Answers

Try killing the processes with a single line command -

pkill -9 -f tomcat
1

Some other application is using the ports being trying to open by tomcat. By default, it uses 8080, 8443, 8005, 8009 etc., grep for tomcat specific ports already being in use by using the below command.

netstat -an

identify the process already acquired the conflicting ports and terminate/free up so that tomcat can use it. One more thing, tomcat debug mode tries to use additional port for debug purpose (i.e., 8000). See if that port is already in use by some other process

3

I changed the port , set JPDA_ADDRESS to 1043 and it worked for me.

4

This question seems to be duplicated. And, I think using CATALINA_OPTS is more simple and suitable.

Tomcat failed to shutdown

The answer above said below.

Looking into catalina.sh, one can see CATALINA_OPTS is only used by the "start" and "start-security" commands, whereas JAVA_OPTS is also used by the "stop" command (at least with Tomcat 6.0.33 on openSUSE 12.1).

Windows answer

1.Detect PID

netstat -ano

find port you need and corresponding PID

2.Kill process

taskkill /F /PID 1234

replace 1234 with your PID

I also got the same issue while the hybris server start.

When I started the hybris (which runs on the tomcat server) in debug mode using "hybrisserver.bat debug", a similar error I got.

So run the server without debug mode (i.e "hybrisserver.bat").

Hope this is helpful for hybris developers!

In my case i have several tomcat running,In two tomcat I have given same jpda address,so one of tomcat was not able to start because address was already in use.

Kill existing process (kill -8 {PID}) and re-start. The above mentioned error should eliminate

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Robert Thorne

Robert Thorne

Automotive & Future Transportation Editor

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.

Share this article
Twitter Facebook Pinterest