JProfiler9 не может выполнить jpenable - PullRequest
1 голос
/ 19 апреля 2020

Я должен отслеживать мой сервер vertx, установленный на компьютере linux, с помощью удаленного профилирования JProfiler, установленного на компьютере windows. На моей машине linux, чтобы подготовить JVM к профилированию, я выполнил следующее для запуска jpenable:

  1. Скачано https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_9_2_1.tar.gz.
  2. Извлечено это tar -zxvf jprofiler_linux_9_2_1.tar.gz
  3. Выполняется jprofiler9 / bin / jpenable. Поскольку запущен только один процесс, который является моим сервером vertx, он был выбран автоматически. Было предложено выбрать режим профилирования, как показано ниже:

    Пожалуйста, выберите режим профилирования:
    GUI mode (присоединить с JProfiler GUI) [1, Enter]
    Автономный режим (использовать файл конфигурации для настройки параметров профилирования) [2]

  4. Когда я выбираю 1 и нажимаю Enter, выдается следующее исключение:

    java .lang .ExceptionInInitializerError
    в java. net .ServerSocket.setImpl (ServerSocket. java: 303)
    в java. net .ServerSocket. (ServerSocket. java: 245)
    в java. net .ServerSocket. (ServerSocket. java: 143)
    в com.ejt.framework.g.ab.b (ejt: 30)
    в com.ejt. framework.g.ab.a (ejt: 13)
    в com.jprofiler.cli.EnableApplication.l (ejt: 141)
    в com.jprofiler.cli.EnableApplication.a (ejt: 131)
    в com.jprofiler.cli.EnableApplication.h (ejt: 95)
    в com.jprofiler.cli.ba (ejt: 26)
    в com.jprofiler.cli.EnableApplication.main (ejt: 272)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java 43 *) * 43). refle.Method.invoke (Метод. java: 498)
    в com.exe4j.runtime.LauncherEngine.launch (LauncherEngine. java: 65)
    в com.install4j.runtime.launcher.UnixLauncher. main (UnixLauncher. java: 57)
    Причина: java .lang.NullPointerException
    в java .lang.ClassLoader.loadLibrary (ClassLoader. java: 1847)
    в java .lang.Runtime.loadLibrary0 (время выполнения. java: 871)
    в java .lang.System.loadLibrary (система. java: 1124)
    в java. net .AbstractPlainSocketImpl $ 1.run (AbstractPlainSocketImpl. java: 84)
    при java. net .AbstractPlainSocketImpl $ 1.run (AbstractPlainSocketImpl. java: 82)
    при java .roller.A .doPrivileged (собственный метод)
    при java. net .AbstractPlainSocketImpl. (AbstractPlainSocketImpl. java: 81)
    ... Еще 16

Понятия не имею, что является причиной этого исключения. Я гуглил это и нигде не сталкивался ни с кем, кто сталкивался с такой же проблемой и решением для того же. Кто-нибудь может помочь выяснить, что вызывает это исключение.

Примечание: Java установлено на linux машине:
openjdk версия "1.8.0_242"
Среда выполнения OpenJDK (сборка 1.8.0_242- b08)
OpenJDK 64-разрядная серверная виртуальная машина (сборка 25.242-b08, смешанный режим)

1 Ответ

2 голосов
/ 19 апреля 2020

Это исключение вызвано изменением в 8u242, которое было снова отменено для 8u252. В более старых версиях JProfiler вы должны использовать JRE, отличный от 8u242. Вы можете сделать это, определив переменную среды INSTALL4J_JAVA_HOME_OVERRIDE.

JProfiler 11.1.1+ также работает с 8u242.

...