6

実行時にGCCコンパイラを使用してOSXでコンパイルした1つの.dylibライブラリを読み取る.jarファイルがあります。

アプリケーションはOSX10.6.8で問題なく実行されます。

Javaバージョン:

javaバージョン"1.6.0_33"Java(TM)SEランタイム環境(ビルド1.6.0_33-b10-424-10M3720)Java HotSpot(TM)64ビットサーバーVM(ビルド20.8-b01-424、混合モード)

GCCバージョン:

i686-apple-darwin11-llvm-gcc-4.2(GCC)4.2.1(Apple Inc.ビルド5658に基づく)(LLVMビルド2336.1.00)

私は64ビットのJavaを使用しており、.jarが必要とするライブラリはx86_64用にコンパイルされています。したがって、Snow Leopardでは、すべてが正常に実行されます。

アプリケーションをOSX10.7.4に切り替えます。そこで、2つの異なるJavaバージョンを試しました。

最初のJavaバージョン(Snow Leopardと同じ):

javaバージョン"1.6.0_33"Java(TM)SEランタイム環境(ビルド1.6.0_33-b10-424-10M3720)Java HotSpot(TM)64ビットサーバーVM(ビルド20.8-b01-424、混合モード)

2番目のJavaバージョン(本日更新):

javaバージョン"1.6.0_35"Java(TM)SEランタイム環境(ビルド1.6.0_35-b10-428-11M3811)Java HotSpot(TM)64ビットサーバーVM(ビルド20.10-b01-428、混合モード)

GCCバージョン:

i686-apple-darwin11-llvm-gcc-4.2(GCC)4.2.1(Apple Inc.ビルド5658に基づく)(LLVMビルド2336.9.00)

最初に、Snow Leopardでコンパイルされた.dylibを使用してアプリケーションを実行しようとしましたが、次のエラーが発生しました。

ロケーション0x0rip= 0x7fff894aa697の無効なメモリアクセスセグメンテーション違反:11

また、アプリをクラッシュさせなかったが、SnowLeopardには表示されない新しい行:

java[1366] <Error>: CGContextGetCTM: invalid context 0x0
java[1366] <Error>: CGContextSetBaseCTM: invalid context 0x0
java[1366] <Error>: CGContextGetCTM: invalid context 0x0
java[1366] <Error>: CGContextSetBaseCTM: invalid context 0x0

このクラッシュの後、LionのGCCで依存関係.dylibを再コンパイルしようとしましたが、何も変わりませんでした。それでもセグメンテーション違反が発生します:11エラー。

私はネットでこのエラーについて読みましたが、Javaの更新によって何かが混乱した可能性があるため、Lionで頻繁に発生しますが、Javaにあまり詳しくないため、誰かがこれらの問題に遭遇したことがあります。これを解決するには?

どうもありがとう。


[編集#1:OSX10.7.4でJava7を試してみてください]

Java 7で.jarを実行すると、クラッシュが再び発生します。エラーレポートは次のとおりです。

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fff894aa697, pid=1471, tid=31503
#
# JRE version: 7.0_07-b10
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.3-b01 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [CoreFoundation+0x2a697]  CFSetGetValue+0x17
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/username/Desktop/executable/hs_err_pid1471.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Abort trap: 6
4

2 に答える 2

2

Mac OS X10.8.2およびJava6のインストールでは、問題は解消されました。私はこの問題について読んでいて、Java6とMacOSX10.7.4にいくつかの問題があることを読みました。私に関する限り、10.8.2でアプリケーションをテストして、10.7.4でのみこれらのエラーが発生するかどうかを確認するのを待っていました。これらのエラーは、10.7.4でのみ発生するようです。

OSをアップグレードすることで、問題が解決されます。この場合、これは私にとって十分な答えです。

よろしくお願いします。

于 2012-10-10T06:24:49.897 に答える
0

私は今日OSX10.8.2でこれに遭遇したので、アップデートを待つことは役に立たなかった。Java forOSXを再インストールすることで修正できました。

混乱したJavaをアンインストールしようとはしませんでした。再ダウンロードして、その上にインストールしました。これは私がインストールしたバージョンです:

Java For OS X 10.8

10.8(Mountain Lion)を使用していない場合は、おそらく別のダウンロードが必要です。同じサイトで見つけることができます。うまくいけば、これは誰かを助けます。

于 2012-11-18T23:53:34.563 に答える