Question

Je suis en train d'exécuter un programme Java dans Eclipse. Chaque fois que j'essaie de courir la chose, voici ce que je reçois:

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

Je ne reçois pas des erreurs de construction, et ont essayé en utilisant à la fois le Java 6 OpenJDK, ainsi que le jdk1.6.0_22 de Sun, les deux ont le même comportement. Je courais un système Ubuntu 10.10. Le programme utilise JOGL (Java OpenGL), est-ce pertinent?

Le fichier journal est d'environ 400 lignes, donc je figure que peut-être l'affichage de la chose entière est pas si utile, et je ne suis pas sûr de ce que les sections seraient, mais si quelqu'un peut me faire savoir ce que je dois comprendre, Je peux le faire.

Était-ce utile?

La solution

Si vous utilisez JOGL sur un système Linux, alors il est presque certain que le problème est là. graphiques 3D ne sont pas très robuste sur la plupart des systèmes Linux et JOGL souligne les systèmes d'un lot de graphiques 3D, car il fait des choses inhabituelles avec eux, surtout à voir avec multithreading.

La plupart du temps le problème réside hors-date ou les pilotes d'affichage non conforme. Assurez-vous que votre système a les derniers pilotes et utiliser les propriétaires, pas ceux qui viennent avec l'installation et non pas tout ceux open source - désolé, mais c'est un cas où la connaissance des arrière matériels (comme les fournisseurs de cartes graphiques font) vraiment améliore la qualité et la performance. Ce sera généralement résoudre le problème.

Si cela ne pas que vous allez devoir faire quelque chose de radical. Souvent, la désactivation de l'accélération graphique matérielle corrigera, mais avec perte de performance bien sûr. Le fichier journal devrait vous donner la trace complète de la pile, ce qui peut être utile si vous êtes à l'aise avec pilote de périphérique de codage et ont la source des pilotes. Vous pouvez également essayer d'utiliser une carte graphique différente - de nouvelles ne coûtent pas cher si vous ne l'avez pas mis à jour récemment le vôtre.

J'ai passé des mois de ma vie à essayer de traquer les bugs comme celui-ci sur une application JOGL sur Linux dans le cas général, et je trouvais toujours des installations où la fenêtre se dessiner en blanc. Bonne chance.

Autres conseils

Cela ressemble à un bug dans quelque endroit de code C. Étant donné qu'il est arrivé sur deux JVMs différentes, je tendraient à soupçonner des extensions natives, JOGL peut-être.

Avez-vous vérifié le dossier des points de rapport vous aussi: hs_err_pid2750.log? En regardant cela et puis la recherche de certains de ces contenus peuvent souvent vous indiquer d'autres avec le même problème et parfois un correctif.

Comme d'autres l'ont dit, les erreurs dans les programmes HotSpot JOGL peut souvent être résolu en mettant à jour vos pilotes de carte graphique à la dernière version.

Cependant, si vous utilisez la nouvelle version bêta 2.0 JOGL, le problème peut être que vous êtes soit de ne pas appeler GLProfile.initSingleton (), ou si vous n'êtes pas l'appeler assez tôt (il doit être avant tout X appels Windows).

J'ai un tutoriel http://wadeawalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/ qui montre comment créer un programme simple JOGL 2.0. Je l'ai testé ce programme sur CentOS 5.4 et il fonctionne correctement. Retour avant que je ne GLProfile.initSingleton () au bon endroit dans ce tutoriel, j'ai vu la même erreur SIGSEGV que vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top