Xonatron
Xonatron

Reputation: 16062

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

Can you explain what this error is (and secondly why I am getting it)?

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

P.S. It may be related to Known Tomcat 6.0 and JDK 1.7.0_02 issues?, as I only started getting it after upgrading from JDK 1.7.0 to 1.7.0 update 2, with no other upgrades to other software.

I am running:

When I start Tomcat I started getting this error, but not all the time. Rebooting just now fixed it. Some mornings I come to work without a reboot and it fixes it even though it failed the day before. It's sporadic. To debug this I need to understand. Can you help explain it?

EDIT : I have two Tomcat servers, for two different projects, on the same port. The other (first) server is "stopped" but remains "synchronized", in case this matters. I've quickly tried changing all the ports up one (8080 to 8081) and the error reproduces. This may not be a proper test of changing ports, however.

EDIT 2: I just had this problem, and rebooting "fixed" the issue. The workstation was on all weekend and Tomcat worked on Friday and Eclipse was shutdown at the end of the day. I will keep taking notes like this as I run into it to remove guesswork.

EDIT 3: Today it gave me this error from an unrebooted system that worked yesterday, programs shut down yesterday and restarted today. I rebooted, and the error is gone. Most notably is that the error always occurs at 23% compilation. It hits 23%, waits a bit and this is when I know it won't succeed, and then popups a window. I'll capture what the window says next time. Then it gives the above error to the Console.

EDIT 4: I am running Windows 7 and Apache HTTP Server (although not using it yet). I'll add these to the list above.

EDIT 5: The popup window mentioned in edit #3 is (and note my Tomcat is named Server Tomcat v6.0 Server at localhost):

Problem Occurred

'Server Tomcat v6.0 Server at localhost' has encountered a problem.

Server Tomcat v6.0 Server at localhost  failed to start.

OK << Details

Server Tomcat v6.0 Server at localhost  failed to start.

EDIT 6: I just got a new problem, which is Cannot connect to VM com.sun.jdi.connect.TransportTimeoutException popup window error and the same main error that this question asks about in the Console window.

EDIT 7: Just restarting Eclipse, not rebooting the whole computer, solved the error this morning.

Upvotes: 48

Views: 124094

Answers (16)

CodeWorld
CodeWorld

Reputation: 2307

I was suffering with it from week, this is what helped me..!
I was running one Spring Project in debug mode,
Then I created another Java Project and ran it in debug mode.
And problem started...
Now whenever I am running Spring Project again in debug mode, was getting above error often.
So what I did...

  1. Deleted Java Project from Debug Configurations.
  2. Also cleared all breakpoints for Spring Project.

Upvotes: 0

Vijay P
Vijay P

Reputation: 51

EDIT these lines in host file and it should work.

Host file usually located in C:\Windows\System32\drivers\etc\hosts

::1             localhost.localdomain localhost
127.0.0.1       localhost

Upvotes: 5

Aleksander Lech
Aleksander Lech

Reputation: 1335

In case you are working with environments or docker images you can really change /etc/host I recommend just changing the binding from star to 0.0.0.0.

So (basing on my case for instance) instead of:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"

You would define it as:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005"

Upvotes: 0

Mistriel
Mistriel

Reputation: 529

I was getting the same error when i switched to STS version 3.8.3 And imported my entire workspace to the new STS.

Apparently the "Boot Spring App" instance was defective. (i run from STS)

If this is your problem, Simply create the Boot run configuration again.

Upvotes: 0

Chandrakanta Kar
Chandrakanta Kar

Reputation: 1

I had the same problem in Catalina.sh of my tomcat for JPDA Options:

JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"

After removing JPDA option from my command to start the Tomcat server, I was able to start the server on local environment.

Upvotes: 0

user1639971
user1639971

Reputation: 41

I set 127.0.0.1 localhost, and solve this problem.

Upvotes: 0

Ricardo
Ricardo

Reputation: 67

In my project I had the same error, I restarted Tomcat and it worked, withtout killing the java process.

Upvotes: 0

xuanyuanzhiyuan
xuanyuanzhiyuan

Reputation: 3999

if your JVM Cli is: -agentlib:jdwp=transport=dt_socket,address=60000,server=n,suspend=n and JDK version is 7, change "server=n" to "server=y" will be OK.

Upvotes: 1

user4167254
user4167254

Reputation: 11

This error mostly comes when we forcefully kill the weblogic server ("kill -9 process id"), so before restart kindly check all the ports status which weblogic using e.g. http port , DEBUG_PORT etc by using this command to see which whether this port is active or not.

netstat –an | grep (Admin: 7001 or something, Managed server- 7002, 7003 etc) eg: netstat –an | grep 7001

If it returns value then, option 1: wait for some time, so that background process can release the port option 2: execute stopweblogic.sh Option 3: Bounce the server/host or restart the system.

My issue was resolved by option 2.

Upvotes: 1

user3438489
user3438489

Reputation: 319

Encountered this. all I did was to kill all the java process(Task Manager) and run again. It worked!

Upvotes: 19

user1747935
user1747935

Reputation: 362

Encountered this issue and changing the debug port helped. For some reason, the debug port had to be greater than the app port.

Upvotes: 2

Joeri Hendrickx
Joeri Hendrickx

Reputation: 17445

Check whether your config string is okay:

Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999

I just had this issue today, and in my case it was because there was an invisible character in the jpda config parameter.

To be precise, I had dos line endings in my setenv.sh file on tomcat, causing a carriage-return character right after 'dt_socket'

Upvotes: 10

Tobia
Tobia

Reputation: 9524

Change control panel Java's option about proxy to "direct", change window's internet option to not use proxy and reboot. It worked for me.

Upvotes: 1

Derry
Derry

Reputation: 39

I had the same problem because I set the following in Catalina.sh of my tomcat:

JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999" 

After removing it, my tomcat worked well.

Hope help you.

Upvotes: 3

Adam Rofer
Adam Rofer

Reputation: 6521

Does your HOSTS file have an entry for localhost? Some other situations this error is seen in seem to have this as a problem resolution.

Make sure you have 127.0.0.1 localhost set in it...

(from this and this)

Upvotes: 23

mindas
mindas

Reputation: 26723

This error typically comes up when the necessary port is taken by another program.

You said that you have changed the HTTP connector port from 8080 to 8081 so the two Tomcats do not clash, but have you also changed the <Server port="..." in tomcat/conf/server.xml to be different between your Tomcats?

Are there any other connectors ports which may possibly clash?

Upvotes: 28

Related Questions