1

Описание: Java VM, на которой запущена Eclipse в моей системе, работает, но внутренне она постоянно получает ошибки segfaults.

Действия по воспроизведению:

  1. Загрузите eclipse-cpp-kepler-SR2-linux-gtk-x86_64.tar.gz с http://www.eclipse.org/cdt/downloads.php.
  2. Извлеките его как /path/to/eclipse .
  3. Запустите gdb /path/to/eclipse/eclipse .
  4. Установите дочерний элемент set follow-fork child чтобы GDB отслеживал реальный процесс Java, а не только модуль запуска Eclipse.
  5. Введите run чтобы запустить Eclipse. Возможно, вам придется выбрать каталог рабочей области.
  6. Вы должны получить ошибку сегментации (SIGSEGV) довольно скоро. Наберите cont в GDB, и вы получите другой. Напечатайте cont снова, и вы получите другой. И так до тошноты.

Опять же, Eclipse, кажется, работает, вероятно, потому что он ловит сигнал и каким-то образом восстанавливается.

Моя операционная система - 64-разрядная версия Red Hat Enterprise Linux 6.5 со всеми обновлениями, выпущенными вчера (2014-May-22). RPM Java - это java-1.7.0-openjdk-1.7.0.55-2.4.7.1.el6_5.x86_64 , текущий выпуск (обновление 7 версии 7) с http://java.com/ дает те же результаты.

Мне любопытно узнать, происходит ли такое поведение для других людей и для других версий Linux. Что еще более важно, мне любопытно, если кто-нибудь знает, является ли это "нормальным".

(Если вам интересно ... Хотя Eclipse, кажется, работает, я обеспокоен тем, что скрывается какая-то реальная проблема. Я заметил это, потому что я получаю случайные, не полностью воспроизводимые ошибки в плагине, который использует WebKit. Я подумал, что постараюсь наблюдать за segfault под GDB, но это оказывается хитрым, потому что JVM снова и снова смещается с самого начала, даже при новой установке без подключаемого модуля.

1 ответ1

4

JVM использует ряд сигналов во время нормальной работы, поэтому ожидаются значения SIGSEGV. SIGSEGV используется при работе с NullPointerException.

Смотрите эту статью для более подробной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .