web-dev-qa-db-ja.com

ネイティブメソッドの致命的なエラー:JDWP初期化されたトランスポートなし、jvmtiError = AGENT_ERROR_TRANSPORT_INIT(197)

このエラーが何であるかを説明できますか(そして、2番目にエラーが発生する理由)。

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

PS 既知のTomcat 6.0およびJDK 1.7.0_02の問題? に関連している可能性があります。JDK1.7.0から1.7.0 update 2にアップグレードしてから入手したのは、他のソフトウェアへの他のアップグレードはなく。

私は走っています:

  • Eclipse Indigo 3.7
  • JDK 1.7.0_0u2(JDK 7アップデート2)
  • Tomcat 6.0
  • Windows 7
  • Apache HTTPサーバー(まだ使用していませんが)

Tomcatを起動すると、このエラーが発生し始めましたが、常にではありません。今すぐ再起動すると修正されました。ある朝、私は再起動せずに仕事に来て、前日は失敗しましたが、それを修正します。散発的です。これをデバッグするには、理解する必要があります。説明するのを手伝ってもらえますか?

EDIT:2つの異なるプロジェクト用に、同じポート上に2つのTomcatサーバーがあります。他の(最初の)サーバーは「停止」していますが、これが問題になる場合に備えて「同期」したままです。すべてのポートを1つ(8080から8081)に変更してみましたが、エラーが再現します。ただし、これはポートを変更する適切なテストではない場合があります。

EDIT 2:この問題が発生したため、再起動すると問題が「修正」されました。ワークステーションは週末すべてにあり、Tomcatは金曜日に動作し、Eclipseはその日の終わりにシャットダウンされました。当て推量をなくすために、このようなメモを取り続けます。

EDIT 3:今日、昨日機能していたリブートされていないシステムからこのエラーが出され、昨日プログラムがシャットダウンし、今日再起動しました。再起動しましたが、エラーはなくなりました。最も顕著なのは、エラーが常に23%のコンパイルで発生することです。 23%ヒットし、少し待機しますが、これは成功しないとわかったときで、ウィンドウがポップアップします。次回、ウィンドウの内容をキャプチャします。次に、上記のエラーがコンソールに表示されます。

EDIT 4:Windows 7とApache HTTP Serverを実行しています(まだ使用していません)。これらを上記のリストに追加します。

EDIT 5:編集#3で言及されたポップアップウィンドウは次のとおりです(私のTomcatは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:新しい問題、つまりCannot connect to VM com.Sun.jdi.connect.TransportTimeoutExceptionポップアップウィンドウエラーと、この質問がコンソールウィンドウで尋ねるのと同じメインエラー。

EDIT 7:コンピューター全体を再起動するのではなく、Eclipseを再起動するだけで、今朝エラーが解決しました。

43
Xonatron

通常、このエラーは、必要なポートが別のプログラムによって使用されたときに発生します。

HTTPコネクターのポートを8080から8081に変更して2つのTomcatが衝突しないようにしたと言いましたが、<Server port="..."Tomcat/conf/server.xmlもTomcat間で異なるように変更しましたか?

衝突する可能性のある他のコネクタポートはありますか?

26
mindas

HOSTSファイルにはlocalhostのエントリがありますか?このエラーが見られる他のいくつかの状況は、これが問題解決としてあるようです。

127.0.0.1 localhostその中に設定...

this および this から)

20
Adam Rofer

これに遭遇しました。私がしたことは、すべてのJava process(Task Manager)]を強制終了して、もう一度実行することだけでした。

18
user3438489

設定文字列が正常かどうかを確認します。

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

今日この問題が発生しましたが、私の場合は、jpda configパラメーターに目に見えない文字が含まれていたためです。

正確には、Tomcatのsetenv.shファイルに行末があり、 'dt_socket'の直後に復帰文字が発生します

10
Joeri Hendrickx

この行を編集すると、動作します。

::1             localhost.localdomain localhost
127.0.0.1       localhost
4
Vijay P

TomcatのCatalina.shに以下を設定したため、同じ問題が発生しました。

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

削除した後、Tomcatはうまく機能しました。

お役に立てば幸いです。

3
Derry

この問題が発生し、デバッグポートの変更が役立ちました。何らかの理由で、デバッグポートはアプリポートよりも大きくする必要がありました。

2
user1747935

jVM Cliが次の場合:-agentlib:jdwp=transport=dt_socket,address=60000,server=n,suspend=nおよびJDKバージョンが7の場合、「server = n」を「server = y」に変更しても問題ありません。

1
xuanyuanzhiyuan

このエラーは主にweblogicサーバーを強制的に強制終了(「kill -9プロセスID」)したときに発生するため、再起動する前にweblogicが使用しているすべてのポートステータスを確認してください。 http port、DEBUG_PORTなど。このコマンドを使用して、このポートがアクティブかどうかを確認します。

netstat –an | grep(管理者:7001など、管理対象サーバー-7002、7003など)例:netstat –an | grep 7001

値が返される場合、オプション1:しばらく待機して、バックグラウンドプロセスがポートを解放できるようにします。オプション2:stopweblogic.shを実行します。オプション3:サーバー/ホストをバウンスするか、システムを再起動します。

私の問題はオプション2で解決されました。

1
user4167254

STSバージョン3.8.3に切り替えて、ワークスペース全体を新しいSTSにインポートすると、同じエラーが発生しました。

どうやら「Boot Spring App」インスタンスに欠陥があったようです。 (STSから実行)

これが問題の場合は、ブート実行構成を再度作成するだけです。

0
Mistriel

proxyに関するコントロールパネルのJavaオプションを「direct」に変更し、プロキシを使用しないようにWindowsインターネットオプションを変更して再起動します。それは私のために働いた。

0
Tobia

127.0.0.1 localhostを設定し、この問題を解決します。

0
user1639971

私のプロジェクトでも同じエラーが発生しました。Tomcatを再起動すると、Javaプロセスを強制終了せずに動作しました。

0
Ricardo

JPDAオプション用のTomcatのCatalina.shで同じ問題が発生しました。

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

Tomcatサーバーを起動するコマンドからJPDAオプションを削除した後、ローカル環境でサーバーを起動できました。

0

環境またはdockerイメージで作業している場合は、/ etc/Hostを実際に変更できます。バインディングをstarから0.0.0.0に変更することをお勧めします。

だから(例えば私の場合に基づいて)代わりに:

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

次のように定義します。

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