Окружающая среда Java Runtime Получение «Fatal Error Sigsegv» для программы с помощью Jogl

StackOverflow https://stackoverflow.com/questions/4135243

Вопрос

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

Info: XInitThreads() called for concurrent Thread support
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000010f1, pid=2750, tid=1923033968
#
# JRE version: 6.0_22-b04
# Java VM: Java HotSpot(TM) Server VM (17.1-b03 mixed mode linux-x86 )
# Problematic frame:
# C  0x000010f1
#
# An error report file with more information is saved as:
# /home/anjruu/ragamuffin/trunk/pipeline/hs_err_pid2750.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp

Я не получаю никаких ошибок построения, и попробовал его, используя как java 6 OpenJDK, а также Sun's JDK1.6.0_22, оба ведут себя то же самое. Я использую систему Ubuntu 10.10. Программа использует Jogl (Java OpenGL), это актуально?

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

Это было полезно?

Решение

Если вы используете Jogl в системе Linux, то почти наверняка, что проблема лежит там. 3D графика не очень надежная на большинстве систем Linux, и Jogl подчеркивает 3D-графические системы много, потому что он делает необычные вещи с ними, в основном делать с многопотативной.

Большую часть времени проблема заключается в устаревших или не соответствует драйверам дисплея. Убедитесь, что ваша система имеет последние драйверы, и используйте проприетарные, а не те, которые приходят с установкой, а не какие-либо с открытым исходным кодом - извините, но это один случай, когда знание аппаратного обеспечения назад (например, поставщики видеокарт) действительно Улучшает качество и производительность. Это обычно исправит проблему.

Если это не поможет вам сделать что-то резкое. Часто отключение аппаратного графического ускорения исправит его, но с потерей производительности конечно. Файл журнала должен дать вам полную трассировку стека, который может быть полезен, если вам удобно с кодированием драйвера устройств и имейте источник драйверов. В качестве альтернативы попробуйте использовать другую графическую карту - новые дешевые дешевые, если вы не обновились в последнее время.

Я провел несколько месяцев своей жизни, пытаясь отслеживать таких ошибок в приложении Jogl, работающего на Linux в общем случае, и я все еще нашел установки, где окно рисует пустым. Удачи.

Другие советы

Это выглядит как ошибка в некотором C-коде где-то. Учитывая, что это произошло на двух разных JVMS, что я склонен подозревать на родных расширениях, возможно, Jogl.

Вы также проверили файл отчета о том, что вам тоже: hs_err_pid2750.log? Глядя на это, а затем в поисках некоторых из этих содержимого может часто указать вам другим с той же проблемой, а иногда и исправить.

По словам других постеров, ошибки доступа в программах Jogl часто могут быть зафиксированы путем обновления драйверов видеокарты до последней версии.

Однако, если вы используете новую бета-версию Jogl 2.0, проблема может быть то, что вы либо не вызывая GLPROFILE.INITSINGLEDON (), либо вы не вызываете его рано достаточно (он должен быть до каких-либо вызовов X Windows) Отказ

У меня есть учебник в http://wadeawalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/ Это показывает, как создать простую программу Jogl 2.0. Я проверил эту программу на CentOS 5.4, и она работает правильно. Вернувшись до того, как у меня был GLPROFILE.initsingleton () в нужном месте в этом руководстве, я видел ту же ошибку Sigsegv, как вы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top