ФАТАЛЬНАЯ ОШИБКА в собственном методе: JDWP Нет инициализированных транспортов, jvmtiError = AGENT_ERROR_TRANSPORT_INIT (197) - PullRequest
42 голосов
/ 03 февраля 2012

Можете ли вы объяснить, что это за ошибка (и во-вторых, почему я ее получаю)?

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

PS Это может быть связано с Известный Tomcat 6.0и JDK 1.7.0_02 выдает? , поскольку я начал получать его только после обновления с JDK 1.7.0 до 1.7.0 с обновлением 2, без других обновлений до другого программного обеспечения.

Яработает:

  • Eclipse Indigo 3.7
  • JDK 1.7.0_0u2 (обновление 2 JDK)
  • Tomcat 6.0
  • Windows 7
  • HTTP-сервер Apache (хотя он еще не используется)

Когда я запускал Tomcat, я начал получать эту ошибку, но не всегда.Перезагрузка только сейчас исправила это.Иногда по утрам я прихожу на работу без перезагрузки, и это исправляет это, хотя и провалилось накануне.Это спорадический.Чтобы исправить это, мне нужно понять.Можете ли вы помочь объяснить это?

РЕДАКТИРОВАТЬ: У меня есть два сервера Tomcat, для двух разных проектов, на одном порту.Другой (первый) сервер «остановлен», но остается «синхронизированным», если это имеет значение.Я быстро попытался изменить все порты до одного (8080 до 8081), и ошибка воспроизводится.Однако это не может быть надлежащей проверкой смены портов.

РЕДАКТИРОВАТЬ 2: Я только что столкнулся с этой проблемой, и перезагрузка "исправила" проблему.Рабочая станция работала все выходные, а Tomcat работал в пятницу, а Eclipse была закрыта в конце дня.Я буду продолжать делать заметки, подобные этим, когда буду сталкиваться с ними, чтобы убрать догадки.

РЕДАКТИРОВАТЬ 3: Сегодня он выдал мне эту ошибку из не перезагруженной системы, которая работала вчера, программы закрывались вчера иперезапустил сегодня.Я перезагрузился, и ошибка исчезла.Наиболее заметно то, что ошибка всегда происходит при 23% компиляции.Он достигает 23%, немного ждет, и вот тогда я знаю, что это не удастся, а затем всплывает окно.Я поймаю, что говорит окно в следующий раз.Затем выдает консоль указанную ошибку.

РЕДАКТИРОВАТЬ 4: Я использую Windows 7 и Apache HTTP Server (хотя пока не использую его).Я добавлю их в список выше.

РЕДАКТИРОВАТЬ 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.

РЕДАКТИРОВАТЬ 6: Я только что получил новую проблему, которая является Cannot connect to VM com.sun.jdi.connect.TransportTimeoutException ошибка всплывающего окна и та же основная ошибка, о которой этот вопрос задает в окне консоли.

РЕДАКТИРОВАТЬ 7: Просто перезапустить Eclipse, не перезагружая весь компьютер, решил эту ошибку сегодня утром.

Ответы [ 15 ]

26 голосов
/ 08 февраля 2012

Эта ошибка обычно возникает, когда другой порт занят необходимым портом.

Вы сказали, что изменили порт коннектора HTTP с 8080 на 8081, чтобы два Tomcats не конфликтовали, но вы также изменили значение <Server port="..." in tomcat/conf/server.xml, чтобы оно отличалось между вашими Tomcats?

Существуют ли другие порты разъемов, которые могут конфликтовать?

20 голосов
/ 11 февраля 2012

Есть ли в вашем файле HOSTS запись для localhost?В некоторых других ситуациях, в которых эта ошибка видна, кажется, это как решение проблемы.

Убедитесь, что в ней установлено 127.0.0.1 localhost ...

(из this и это )

18 голосов
/ 18 апреля 2014

Столкнулся с этим.все, что я сделал, это убил весь процесс Java (диспетчер задач) и снова запустил.Это сработало!

10 голосов
/ 26 июля 2013

Проверьте, в порядке ли ваша строка конфигурации:

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

У меня только что была эта проблема сегодня, и в моем случае это было потому, что в параметре конфигурации jpda был невидимый символ.

Если быть точным, у меня в файле setenv.sh на tomcat заканчивались строки дос, в результате чего сразу после 'dt_socket'

появился символ возврата каретки.
4 голосов
/ 15 апреля 2012

РЕДАКТИРОВАТЬ эту строку, и она будет работать.

::1             localhost.localdomain localhost
127.0.0.1       localhost
3 голосов
/ 31 июля 2012

У меня была такая же проблема, потому что я установил следующее в Catalina.sh моего кота:

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

После удаления мой кот работал хорошо.

Надеюсь, вам поможет.

2 голосов
/ 17 марта 2014

Обнаружил эту проблему и поменял порт отладки. По какой-то причине порт отладки должен был быть больше, чем порт приложения.

1 голос
/ 28 апреля 2016

, если JVM Cli: -agentlib:jdwp=transport=dt_socket,address=60000,server=n,suspend=n и версия JDK 7, замените "server = n" на "server = y", и все будет в порядке.

1 голос
/ 21 октября 2014

Эта ошибка чаще всего возникает, когда мы принудительно убиваем сервер weblogic («kill -9 process id»), поэтому перед перезапуском просим проверить состояние всех портов, которые weblogic использует, например. http-порт, DEBUG_PORT и т. д. с помощью этой команды, чтобы узнать, является ли этот порт активным или нет.

netstat –an | Grep (Admin: 7001 или что-то, Управляемый сервер - 7002, 7003 и т. Д.) например: netstat –an | grep 7001

Если он возвращает значение, вариант 1: подождите некоторое время, чтобы фоновый процесс мог освободить порт вариант 2: выполнить stopweblogic.sh Вариант 3. Отказ сервера / хоста или перезагрузка системы.

Моя проблема была решена с помощью варианта 2.

0 голосов
/ 11 апреля 2019

В случае, если вы работаете со средами или образами докеров, вы действительно можете изменить / etc / host, я рекомендую просто изменить привязку со звезды на 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"
...