2

Eclipse で Java プログラムを実行しようとしています。これを実行しようとすると、次のようになります。

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 の jdk1.6.0_22 の両方を使用して試しましたが、どちらも同じように動作します。Ubuntu 10.10 システムを実行しています。このプログラムは JOGL (Java OpenGL) を使用していますが、関係ありますか?

ログ ファイルの長さは約 400 行なので、すべてを投稿するのはあまり役に立たないのではないかと考えています。それで。

4

3 に答える 3

1

これは、どこかの C コードのバグのようです。2 つの異なる JVM で発生したことを考えると、おそらく JOGL のネイティブ拡張を疑う傾向があります。

レポートで指摘されているファイル hs_err_pid2750.log も確認しましたか? それを見て、それらのコンテンツのいくつかを検索すると、多くの場合、同じ問題や場合によっては修正を伴う他の人を見つけることができます.

于 2010-11-09T15:35:42.123 に答える
0

他の投稿者が言っているように、JOGL プログラムの HotSpot エラーは、多くの場合、グラフィック カード ドライバーを最新バージョンに更新することで修正できます。

ただし、新しい JOGL 2.0 ベータ版を使用している場合、問題は、GLProfile.initSingleton() を呼び出していないか、十分に早く呼び出していない (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 エラーを見ました。

于 2010-11-09T17:03:21.427 に答える
0

Linux システムで JOGL を使用している場合、そこに問題があることはほぼ確実です。ほとんどの Linux システムでは 3D グラフィックスはあまり堅牢ではなく、JOGL は 3D グラフィックス システムに大きな負荷をかけています。

ほとんどの場合、問題の原因は古いまたは非準拠のディスプレイ ドライバにあります。システムに最新のドライバーがあることを確認し、インストールに付属するドライバーやオープンソースのドライバーではなく、プロプライエタリなドライバーを使用してください。品質とパフォーマンスを向上させます。通常、これで問題は解決します。

それが役に立たない場合は、何か抜本的なことをしなければなりません。多くの場合、ハードウェア グラフィック アクセラレーションを無効にすると問題が解決しますが、もちろんパフォーマンスは低下します。ログ ファイルには完全なスタック トレースが含まれているはずです。これは、デバイス ドライバーのコーディングに慣れていて、ドライバーのソースを持っている場合に役立ちます。または、別のグラフィックス カードを使用してみてください。最近アップグレードしていない場合、新しいグラフィックス カードは安価です。

一般的なケースで Linux で実行されている JOGL アプリでこのようなバグを追跡するために何ヶ月も費やしましたが、それでもウィンドウが空白になるインストールを見つけました。幸運を。

于 2010-11-09T16:14:58.913 に答える