Joglを使用したプログラムの「致命的なエラーSIGSEGV」を取得するJavaランタイム環境

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

質問

私は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行なので、すべてを投稿することはあまり役に立たないと思います。それで。

役に立ちましたか?

解決

LinuxシステムでJoglを使用している場合、問題がそこにあることはほぼ確実です。 3DグラフィックスはほとんどのLinuxシステムではそれほど堅牢ではなく、Joglは3Dグラフィックシステムに大きなストレスを与え、主にマルチスレッドに関係するため、3Dグラフィックシステムを非常に強調しています。

ほとんどの場合、問題は時代遅れまたは不適合なディスプレイドライバーにあります。システムが最新のドライバーを持っていることを確認し、オープンソースのものではなく、インストールに付属するものではなく、独自のドライバーを使用してください - 申し訳ありませんが、これはハードウェアを後方に知る(グラフィックカードプロバイダーが実際に行うように)1つのケースです品質とパフォーマンスを向上させます。これにより、通常、問題が解決します。

それが助けにならないなら、あなたは何か劇的なことをしなければならないでしょう。多くの場合、ハードウェアグラフィックスアクセラレーションを無効にすると修正されますが、もちろんパフォーマンスが失われます。ログファイルは、完全なスタックトレースを提供する必要があります。これは、デバイスドライバーのコーディングに満足し、ドライバーのソースを持っている場合に役立つ場合があります。または、別のグラフィックカードを使用してみてください。最近アップグレードしていない場合は、新しいグラフィックカードを使用してください。

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

他のヒント

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

レポートが指し示しているファイルを確認しましたか:hs_err_pid2750.log?それを見てから、それらの内容のいくつかを検索すると、同じ問題があり、時には修正がある他の人を指すことができます。

他のポスターが言ったように、Goglプログラムのホットスポットエラーは、グラフィックカードドライバーを最新バージョンに更新することで、しばしば修正できます。

ただし、新しい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/ これは、Simple Jogl 2.0プログラムを作成する方法を示しています。 Centos 5.4でこのプログラムをテストしましたが、正しく機能します。このチュートリアルの適切な場所にglprofile.initsingleton()を使用する前に戻って、あなたと同じsigsegvエラーが見られました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top