Ошибка сегментации в JVM для, но только на VMWare

75
6

У нас есть приложение, работающее на JBoss. Это приложение имеет одну или две ошибки, которые вызывают его бесконечную рекурсию, вызывая исключение stackOverflowException. не является оптимальным, но не катастрофой.


Недавно мы попытались перейти на VMWare, и те же исключения теперь стали ошибками сегментации, которые сбивают с них весь сервер приложений и JVM.


никакой stackOverflowException не делает этого, и до сих пор мне не удалось создать простую часть кода, которая воспроизводит эту ошибку.


Любые идеи, почему эта разница может существовать?

спросил(а) 2021-01-19T16:25:53+03:00 2 месяца, 3 недели назад
1
Решение
61

Кажется, что ошибка с Oracle/Sun JVM HotSpot работает на Linux-системе.

Если вы попробуете приложение с использованием Oracle/Sun JVM, вы получите ошибку ошибки сегментации. С другой стороны, если вы попытаетесь запустить это приложение с помощью OpenJDK, вероятно, вы увидите ошибку StackOverflow.

ответил(а) 2021-01-19T16:25:53+03:00 2 месяца, 3 недели назад
44

Если JVM является segfault, и ваше приложение не связано с собственными кодовыми библиотеками (называемыми с использованием JNI или JNA), это свидетельствует о некоторой ошибке платформы.


В этом случае трудно точно знать, существует ли реальная ошибка в JVM или VMWare. Я был бы склонен обвинять VMWare в том, что он не обеспечил верную реализацию поведения "обычного" ПК. Однако возможно, что JVM необоснованно делает предположения о том, как процессор x86 или x86-64 будет вести себя при переполнении Java-стека, и процессор попытается прочитать или записать страницу защиты стека.

ответил(а) 2021-01-19T16:25:53+03:00 2 месяца, 3 недели назад
44

Там может быть разница в способе обработки памяти. Т.е. у вас другая версия ОС, или есть ошибка во взаимодействии с VMWare.

Вы правы, что это не должно быть возможным. Я бы также проверил, что у вас есть текущая поддерживаемая версия Java.

ответил(а) 2021-01-19T16:25:53+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема