3

LWJGL を使用して Java でゲームを開発しています。メインのゲームに加えて、いくつかの Swing ベースのアプリケーション (ランチャー、構成エディター、およびマップ エディター) を開発しています。

ランチャーを実行すると、ときどき(約 10% の時間) 致命的な JVM クラッシュが発生します。非常に奇妙です。数秒後にプログラムを実行でき、すべてが機能します。コンパイル エラーや警告はゼロで、プログラムが機能するときは、完全に機能しています。

LWJGL ゲームを実行してもエラーは発生しません。最初にランチャーを実行したときだけです。ランチャーを初期化するために使用するプロセスは次のとおりです。

  1. ウィンドウの装飾に Substance ルック アンド フィールを使用するように swing に指示します。
  2. ユーザーのコンピューターにファイルを保存するディレクトリをセットアップします (ゲーム、構成などを保存します)。
  3. LWJGL に必要なライブラリを前述のディレクトリに抽出する必要があるかどうかを確認します。もしそうなら、それらを抽出します。次に、JVM の LWJGL パス プロパティを設定します (これにより、LWJGL メソッドが機能します)。(これは、それ自体で広範囲にテストされています。Substance LaF に何らかの形で干渉するかどうかはわかりません。そうなるとは思いません。)
  4. ランチャー ウィンドウを初期化します。中央の画像と一連の JButton があります。
  5. JLayer を使用して、アンビエンスのバックグラウンド サウンドトラックのループを開始します。この機能を実装する前にこのエラーが発生し、追加しても何も変わりませんでした。

私が得るエラーは次のとおりです。

#
# Java ランタイム環境によって致命的なエラーが検出されました:
#
# pc=0x000007fefd800c7b での EXCEPTION_ACCESS_VIOLATION (0xc0000005)、pid=6128、tid=4364
#
# JRE バージョン: 6.0_27-b07
# Java VM: Java HotSpot(TM) 64 ビット サーバー VM (20.2-b06 混合モード windows-amd64 圧縮 oops)
# 問題のあるフレーム:
# C [ole32.dll+0x10c7b]
#
# 詳細情報を含むエラー レポート ファイルは次のように保存されます。
# J:\Development\workspace\Crypt Utils\hs_err_pid6128.log
#
# バグ レポートを提出したい場合は、次のサイトにアクセスしてください。
# http://java.sun.com/webapps/bugreport/crash.jsp
# クラッシュは、ネイティブ コードの Java 仮想マシンの外部で発生しました。
# バグを報告する場所については、問題のあるフレームを参照してください。
#

次に、エラー ログ ファイル:

#
# Java ランタイム環境によって致命的なエラーが検出されました:
#
# pc=0x000007fefd800c7b での EXCEPTION_ACCESS_VIOLATION (0xc0000005)、pid=6128、tid=4364
#
# JRE バージョン: 6.0_27-b07
# Java VM: Java HotSpot(TM) 64 ビット サーバー VM (20.2-b06 混合モード windows-amd64 圧縮 oops)
# 問題のあるフレーム:
# C [ole32.dll+0x10c7b]
#
# バグ レポートを提出したい場合は、次のサイトにアクセスしてください。
# http://java.sun.com/webapps/bugreport/crash.jsp
# クラッシュは、ネイティブ コードの Java 仮想マシンの外部で発生しました。
# バグを報告する場所については、問題のあるフレームを参照してください。
#

-  -  -  -  -  -  - - スレッド  -  -  -  -  -  -  - -

現在のスレッド (0x000000000713d000): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4364, stack(0x0000000007e30000,0x0000000007f30000)]

siginfo: ExceptionCode=0xc0000005、書き込みアドレス 0x0000000000000038

レジスター:
RAX=0x0000000000000000、RBX=0x000000000b933c70、RCX=0x000000000000110c、RDX=0x000007fefd996620
RSP=0x0000000007f2dfa0、RBP=0x000000000026dc90、RSI=0x0000000000000000、RDI=0x000000000b933c70
R8 =0x00000000000003d4、R9 =0x000007fefd977f18、R10=0x0000000000000000、R11=0x0000000007f2dec0
R12=0x0000000000000000、R13=0x000000000b90a3c0、R14=0x0000000000000000、R15=0x0000000000000000
RIP=0x000007fefd800c7b、EFLAGS=0x0000000000010246

スタックのトップ: (sp=0x0000000007f2dfa0)
0x0000000007f2dfa0: 000000000b933c70 0000000000000000
0x0000000007f2dfb0: 0000000000000000 000007fefd81311b
0x0000000007f2dfc0: 0000000000000000 0000000007f2e050
0x0000000007f2dfd0: 000017f000001000 d0b221343c39b318
0x0000000007f2dfe0: 000081de6b223eb8 000007fefd813032
0x0000000007f2dff0: 0000000000000001 00000000070e9c18
0x0000000007f2e000: 0000000000000000 000000000026dc90
0x0000000007f2e010: 000000000713d1d0 000007fefd801225
0x0000000007f2e020: 0000000007f2e080 000000000026dc90
0x0000000007f2e030: 0000000000000000 000000000000008c
0x0000000007f2e040: 000000000c797be0 000007fefd963135
0x0000000007f2e050: 000000000026dc90 000000000713ca28
0x0000000007f2e060: 0000000006697d00 000007fefd0f8c12
0x0000000007f2e070: 000000000c797be0 000007fefd91de9d
0x0000000007f2e080: 000000000026dc90 00000000070e9c18
0x0000000007f2e090: 0000000000000018 0000000000000514

指示: (pc=0x000007fefd800c7b)
0x000007fefd800c5b: 60 1c 00 41 b8 d4 03 00 00 e8 47 82 01 00 85 f6
0x000007fefd800c6b: 78 2b f3 0f 6f 44 24 30 48 8b 45 18 4c 89 6d 20
0x000007fefd800c7b: f3 0f 7f 40 30 f6 45 0c 01 75 12 48 8b cd e8 be
0x000007fefd800c8b: fa ff ff 8b f0 85 c0 78 04 83 4d 0c 01 48 8b cd


メモリ マッピングに登録します。

RAX=0x0000000000000000 は不明な値です
RBX=0x000000000b933c70 は不明な値です
RCX=0x000000000000110c は不明な値です
RDX=0x000007fefd996620 は不明な値です
RSP=0x0000000007f2dfa0 はスレッドのスタックを指しています: 0x000000000713d000
RBP=0x000000000026dc90 は不明な値です
RSI=0x0000000000000000 は不明な値です
RDI=0x000000000b933c70 は不明な値です
R8 =0x00000000000003d4 は不明な値です
R9 =0x000007fefd977f18 は不明な値です
R10=0x0000000000000000 は不明な値です
R11=0x0000000007f2dec0 はスレッドのスタックを指しています: 0x000000000713d000
R12=0x0000000000000000 は不明な値です
R13=0x000000000b90a3c0 は不明な値です
R14=0x0000000000000000 は不明な値です
R15=0x0000000000000000 は不明な値です


スタック: [0x0000000007e30000,0x0000000007f30000], sp=0x0000000007f2dfa0, 空き容量=1015k
ネイティブ フレーム: (J=コンパイル済み Java コード、j=解釈済み、Vv=VM コード、C=ネイティブ コード)
C [ole32.dll+0x10c7b] CLSIDFromString+0x5fb

Java フレーム: (J=コンパイル済み Java コード、j=解釈済み、Vv=VM コード)
    sun.awt.windows.WComponentPeer.addNativeDropTarget()J+0
    sun.awt.windows.WComponentPeer.addDropTarget(Ljava/awt/dnd/DropTarget;)V+9
    java.awt.dnd.DropTarget.addNotify(Ljava/awt/peer/ComponentPeer;)V+60
    java.awt.Component.addNotify()V+297
    java.awt.Container.addNotify()V+8
    javax.swing.JComponent.addNotify()V+1
    java.awt.Container.addNotify()V+61
    javax.swing.JComponent.addNotify()V+1
    java.awt.Container.addNotify()V+61
    javax.swing.JComponent.addNotify()V+1
    javax.swing.JMenuBar.addNotify()V+1
    java.awt.Container.addNotify()V+61
    javax.swing.JComponent.addNotify()V+1
    org.pushingpixels.substance.internal.utils.SubstanceTitlePane.addNotify()V+1
    java.awt.Container.addNotify()V+61
    javax.swing.JComponent.addNotify()V+1
    java.awt.Container.addNotify()V+61
    javax.swing.JComponent.addNotify()V+1
    javax.swing.JRootPane.addNotify()V+5
    java.awt.Container.addNotify()V+61
    java.awt.Window.addNotify()V+73
    java.awt.Frame.addNotify()V+70
    java.awt.Window.pack()V+28
    gui.launcher.LauncherWindow.()V+156
    main.Crypt.runLauncher()V+28
    main.Crypt$1.run()V+0
    java.awt.event.InvocationEvent.dispatch()V+47
    java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21
    java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3
    java.awt.EventQueue$1.run()Ljava/lang/Void;+12
    java.awt.EventQueue$1.run()Ljava/lang/Object;+1
v ~StubRoutines::call_stub
    java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0
    java.security.AccessControlContext$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28
    java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
    java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
    java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
    java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
    java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
    java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
    java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub

-  -  -  -  -  -  - - 処理する  -  -  -  -  -  -  - -

Java スレッド: ( => 現在のスレッド )
  0x0000000007309000 JavaThread "サブスタンス ヒープ ステータス" デーモン [_thread_blocked, id=5732, stack(0x000000000c000000,0x000000000c100000)]
  0x000000000737e000 JavaThread "ヘッドスペース ミキサー フレーム proc スレッド" デーモン [_thread_blocked, id=5520, stack(0x000000000bd00000,0x000000000be00000)]
  0x00000000072a2800 JavaThread "Java Sound Event Dispatcher" デーモン [_thread_blocked, id=2956, stack(0x000000000b700000,0x000000000b800000)]
  0x00000000071dc800 JavaThread "スレッド-3" [_thread_in_native, id=4104, stack(0x00000000082b0000,0x00000000083b0000)]
  0x00000000003db800 JavaThread "DestroyJavaVM" [_thread_blocked, id=5600, stack(0x0000000002570000,0x0000000002670000)]
=>0x000000000713d000 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4364, stack(0x0000000007e30000,0x0000000007f30000)]
  0x00000000067af800 JavaThread "AWT-Windows" デーモン [_thread_in_native, id=5760, stack(0x0000000007830000,0x0000000007930000)]
  0x00000000067ae800 JavaThread "AWT-シャットダウン" [_thread_blocked, id=2600, stack(0x0000000007730000,0x0000000007830000)]
  0x00000000066ea800 JavaThread "Java2D Disposer" デーモン [_thread_blocked, id=4244, stack(0x00000000074e0000,0x00000000075e0000)]
  0x0000000006684000 JavaThread "Low Memory Detector" デーモン [_thread_blocked, id=5196, stack(0x0000000006d10000,0x0000000006e10000)]
  0x0000000006681000 JavaThread "C2 CompilerThread1" デーモン [_thread_blocked, id=4192, stack(0x0000000006c10000,0x0000000006d10000)]
  0x000000000666e000 JavaThread "C2 CompilerThread0" デーモン [_thread_blocked, id=4260, stack(0x0000000006b10000,0x0000000006c10000)]
  0x000000000666b000 JavaThread "アタッチ リスナー" デーモン [_thread_blocked, id=5008, stack(0x0000000006a10000,0x0000000006b10000)]
  0x0000000006666000 JavaThread "Signal Dispatcher" デーモン [_thread_blocked, id=4032, stack(0x0000000006910000,0x0000000006a10000)]
  0x000000000064b800 JavaThread "Finalizer" デーモン [_thread_blocked, id=1132, stack(0x0000000006810000,0x0000000006910000)]
  0x0000000000649000 JavaThread "参照ハンドラ" デーモン [_thread_blocked, id=5336, stack(0x0000000006510000,0x0000000006610000)]

その他のスレッド:
  0x0000000000641000 VMThread [スタック: 0x0000000006410000,0x0000000006510000] [id=3820]
  0x0000000006697000 WatcherThread [スタック: 0x0000000006e10000,0x0000000006f10000] [id=5156]

VM の状態:セーフポイントではない (通常の実行)

スレッドが現在所有している VM Mutex/モニター: なし

ヒープ
 PSYoungGen 合計 19136K、使用 15506K [0x00000000eaab0000、0x00000000ec000000、0x0000000100000000)
  エデン スペース 16448K、94% 使用済み [0x00000000eaab0000,0x00000000eb9d4b98,0x00000000ebac0000)
  スペース 2688K から、0% 使用 [0x00000000ebd60000,0x00000000ebd60000,0x00000000ec000000)
  スペース 2688K、0% 使用 [0x00000000ebac0000,0x00000000ebac0000,0x00000000ebd60000)
 PSOldGen 合計 43712K、使用済み 0K [0x00000000c0000000、0x00000000c2ab0000、0x00000000eaab0000)
  オブジェクト空間 43712K、0% 使用 [0x00000000c0000000,0x00000000c0000000,0x00000000c2ab0000)
 PSPermGen 合計 21248K、使用 15942K [0x00000000bae00000、0x00000000bc2c0000、0x00000000c0000000)
  オブジェクト空間 21248K、75% 使用済み [0x00000000bae00000,0x00000000bbd91870,0x00000000bc2c0000)

コードキャッシュ [0x0000000002670000, 0x00000000028e0000, 0x0000000005670000)
 total_blobs=470 nmethods=39 adapters=385 free_code_cache=49729536 maximum_free_block=6336

動的ライブラリ:
0x0000000000400000 - 0x000000000042e000 C:\Program Files\Java\jre6\bin\javaw.exe
0x00000000770f0000 - 0x0000000077299000 C:\Windows\SYSTEM32\ntdll.dll
0x0000000076ed0000 - 0x0000000076fef000 C:\Windows\system32\kernel32.dll
0x000007fefd0f0000 - 0x000007fefd15c000 C:\Windows\system32\KERNELBASE.dll
0x0000000074de0000 - 0x0000000074e1f000 C:\Program Files\AVAST Software\Avast\snxhk64.dll
0x000007fefdde0000 - 0x000007fefdebb000 C:\Windows\system32\ADVAPI32.dll
0x000007fefd410000 - 0x000007fefd4af000 C:\Windows\system32\msvcrt.dll
0x000007fefd4b0000 - 0x000007fefd4cf000 C:\Windows\SYSTEM32\sechost.dll
0x000007fefef90000 - 0x000007feff0bd000 C:\Windows\system32\RPCRT4.dll
0x0000000076ff0000 - 0x00000000770ea000 C:\Windows\system32\USER32.dll
0x000007fefdec0000 - 0x000007fefdf27000 C:\Windows\system32\GDI32.dll
0x000007fefee50000 - 0x000007fefee5e000 C:\Windows\system32\LPK.dll
0x000007feff0c0000 - 0x000007feff189000 C:\Windows\system32\USP10.dll
0x000007fefe090000 - 0x000007fefe0be000 C:\Windows\system32\IMM32.DLL
0x000007fefd4d0000 - 0x000007fefd5d9000 C:\Windows\system32\MSCTF.dll
0x000000006d7f0000 - 0x000000006dfa8000 C:\Program Files\Java\jre6\bin\server\jvm.dll
0x000007fefa980000 - 0x000007fefa9bb000 C:\Windows\system32\WINMM.dll
0x000000006d760000 - 0x000000006d76e000 C:\Program Files\Java\jre6\bin\verify.dll
0x000000006d3b0000 - 0x000000006d3d7000 C:\Program Files\Java\jre6\bin\java.dll
0x000000006d7b0000 - 0x000000006d7c2000 C:\Program Files\Java\jre6\bin\zip.dll
0x000000006d000000 - 0x000000006d1c3000 C:\Program Files\Java\jre6\bin\awt.dll
0x000007fefa620000 - 0x000007fefa691000 C:\Windows\system32\WINSPOOL.DRV
0x000007fefd7f0000 - 0x000007fefd9f3000 C:\Windows\system32\ole32.dll
0x000007fefe0c0000 - 0x000007fefee48000 C:\Windows\system32\SHELL32.dll
0x000007fefef10000 - 0x000007fefef81000 C:\Windows\system32\SHLWAPI.dll
0x000007fefbaf0000 - 0x000007fefbce4000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
0x000007fefb3b0000 - 0x000007fefb3c8000 C:\Windows\system32\DWMAPI.DLL
0x000007fefb780000 - 0x000007fefb7d6000 C:\Windows\system32\uxtheme.dll
0x000007fef93b0000 - 0x000007fef942f000 C:\Program Files\Common Files\microsoft 共有\ink\tiptsf.dll
0x000007fefd5e0000 - 0x000007fefd6b7000 C:\Windows\system32\OLEAUT32.dll
0x000007fefc180000 - 0x000007fefc18c000 C:\Windows\system32\version.dll
0x000007fefcf70000 - 0x000007fefcf7f000 C:\Windows\system32\CRYPTBASE.dll
0x000000006d2a0000 - 0x000000006d306000 C:\Program Files\Java\jre6\bin\fontmanager.dll
0x000000006d600000 - 0x000000006d617000 C:\Program Files\Java\jre6\bin\net.dll
0x000007fefee60000 - 0x000007fefeead000 C:\Windows\system32\WS2_32.dll
0x000007feff210000 - 0x000007feff218000 C:\Windows\system32\NSI.dll
0x000007fefc870000 - 0x000007fefc8c5000 C:\Windows\system32\mswsock.dll
0x000007fefc860000 - 0x000007fefc867000 C:\Windows\System32\wship6.dll
0x000000006d620000 - 0x000000006d62b000 C:\Program Files\Java\jre6\bin\nio.dll
0x0000000180000000 - 0x0000000180050000 C:\Users\Chris\AppData\Roaming\jRabbit Data\LWJGL Natives\lwjgl64.dll
0x000007fef1550000 - 0x000007fef166d000 C:\Windows\system32\OPENGL32.dll
0x000007fef47c0000 - 0x000007fef47ed000 C:\Windows\system32\GLU32.dll
0x000007fef1210000 - 0x000007fef1301000 C:\Windows\system32\DDRAW.dll
0x000007fef8090000 - 0x000007fef8098000 C:\Windows\system32\DCIMAN32.dll
0x000007feff220000 - 0x000007feff3f7000 C:\Windows\system32\SETUPAPI.dll
0x000007fefd160000 - 0x000007fefd196000 C:\Windows\system32\CFGMGR32.dll
0x000007fefd3b0000 - 0x000007fefd3ca000 C:\Windows\system32\DEVOBJ.dll
0x000007fefa2a0000 - 0x000007fefa49f000 C:\Windows\system32\d3d9.dll
0x000007fefa290000 - 0x000007fefa297000 C:\Windows\system32\d3d8thk.dll
0x000007feed900000 - 0x000007feee777000 C:\Windows\system32\nvd3dumx.dll
0x000007fefb860000 - 0x000007fefb88c000 C:\Windows\system32\powrprof.dll
0x000000006d510000 - 0x000000006d53e000 C:\Program Files\Java\jre6\bin\jsound.dll
0x000007fefb730000 - 0x000007fefb77b000 C:\Windows\system32\MMDevAPI.DLL
0x000007fefb940000 - 0x000007fefba6c000 C:\Windows\system32\PROPSYS.dll
0x000007fefa5e0000 - 0x000007fefa61b000 C:\Windows\system32\wdmaud.drv
0x0000000074a00000 - 0x0000000074a06000 C:\Windows\system32\ksuser.dll
0x000007fefbae0000 - 0x000007fefbae9000 C:\Windows\system32\AVRT.dll
0x000007fefa590000 - 0x000007fefa5df000 C:\Windows\system32\AUDIOSES.DLL
0x000007fefa4e0000 - 0x000007fefa4ea000 C:\Windows\system32\msacm32.drv
0x000007fefa4c0000 - 0x000007fefa4d8000 C:\Windows\system32\MSACM32.dll
0x000007fefa4a0000 - 0x000007fefa4a9000 C:\Windows\system32\midimap.dll
0x000000006d210000 - 0x000000006d238000 C:\Program Files\Java\jre6\bin\dcpr.dll
0x000007fefdf30000 - 0x000007fefdfc9000 C:\Windows\system32\CLBCatQ.DLL
0x000007fefcb00000 - 0x000007fefcb17000 C:\Windows\system32\CRYPTSP.dll
0x000007fefc5d0000 - 0x000007fefc617000 C:\Windows\system32\rsaenh.dll
0x000007fefc390000 - 0x000007fefc3ae000 C:\Windows\system32\USERENV.dll
0x000007fefcfa0000 - 0x000007fefcfaf000 C:\Windows\system32\profapi.dll
0x000007fefad70000 - 0x000007fefad85000 C:\Windows\system32\NLAapi.dll
0x000007fefb220000 - 0x000007fefb235000 C:\Windows\system32\napinsp.dll
0x000007fefb200000 - 0x000007fefb219000 C:\Windows\system32\pnrpnsp.dll
0x000007fefc6f0000 - 0x000007fefc74b000 C:\Windows\system32\DNSAPI.dll
0x000007fefbac0000 - 0x000007fefbacb000 C:\Windows\System32\winrnr.dll
0x0000000074700000 - 0x000000007472e000 C:\Program Files\Common Files\Microsoft Shared\Windows Live\WLIDNSP.DLL
0x00000000772b0000 - 0x00000000772b7000 C:\Windows\system32\PSAPI.DLL
0x00000000746d0000 - 0x00000000746f6000 C:\Program Files\Bonjour\mdnsNSP.dll
0x000007fef9ec0000 - 0x000007fef9ee7000 C:\Windows\system32\Iphlpapi.DLL
0x000007fef9eb0000 - 0x000007fef9ebb000 C:\Windows\system32\WINNSI.DLL
0x000007fefc250000 - 0x000007fefc257000 C:\Windows\System32\wshtcpip.dll
0x000007fefb7e0000 - 0x000007fefb7e8000 C:\Windows\system32\rasadhlp.dll
0x000007fef9cf0000 - 0x000007fef9d43000 C:\Windows\System32\fwpuclnt.dll
0x000007fefcf80000 - 0x000007fefcf94000 C:\Windows\system32\RpcRtRemote.dll

VM 引数:
jvm_args: -Dfile.encoding=Cp1252
java_command: main.Crypt
ランチャータイプ: SUN_STANDARD

環境変数:
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
PATH=C:/Program Files/Java/jre6/bin/server;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/amd64;C:\Program Files\Common Files \Microsoft Shared\Windows Live;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32 \WindowsPowerShell\v1.0\;C:\Program Files\SlikSvn\bin\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100 \Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Autodesk\Backburner\ ;J:\開発\Eclipse;
USERNAME=クリス
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 ファミリー 6 モデル 15 ステッピング 11、純正インテル

-  -  -  -  -  -  - - システム  -  -  -  -  -  -  - -

OS: Windows 7、64 ビット Build 7601 Service Pack 1

CPU: 合計 4 (CPU あたり 4 コア、コアあたり 1 スレッド) ファミリー 6 モデル 15 ステッピング 11、cmov、cx8、fxsr、mmx、sse、sse2、sse3、ssse3

メモリ: 4k ページ、物理 4193464k (空き 2246544k)、スワップ 8385080k (空き 6086692k)

vm_info: Windows-amd64 JRE (1.6.0_27-b07) 用の Java HotSpot(TM) 64 ビット サーバー VM (20.2-b06)、2011 年 7 月 19 日 01:08:22 に "java_re" によって MS VC++ 8.0 (VS2005) でビルド)

時刻: 2011 年 10 月 3 日月曜日 09:29:15
経過時間:1秒

Stack Overflow で調べてみると、メモリ設定が関係しているようです。ここはそうですか?私はすでに Eclipse を設定して、大量のメモリを自由に使用できるようにしています。さらに、いくつかのコンポーネントを含む小さな JFrame を作成し、LWJGL ライブラリを初期化するだけです。それは多くのメモリを占有しません。

4

4 に答える 4

6

Windows Vista 64 ボックスで Java 6 と Swing に問題が発生することがよくあります (ただし、Eclipse からアプリを起動した場合のみ)。

私にとってそれを修正する方法は、Direct3Dを無効にすることでした:

java -Dsun.java2d.d3d=false ...

詳細については、http://download.oracle.com/javase/6/docs/technotes/guides/2d/flags.html#d3dも参照してください。

于 2011-10-03T15:56:29.743 に答える
1

@CodeBunny、それはコメントになります:

1)Trindent.jarはありますか

2)JFrameにSubstance LookandFeelをどのように適用しますか。

SwingUtilities.invokeLater(new Runnable() {

    @Override
    public void run() {
        try {
            UIManager.setLookAndFeel(new SubstanceOfficeSilver2007LookAndFeel());
            SwingUtilities.updateComponentTreeUI(frame);
        } catch (UnsupportedLookAndFeelException e) {
            throw new RuntimeException(e);
        }
    }
});

ほとんどの場合(BackGroundタスクがある場合)、invokeAndWait

編集

依存します

1)空のコンテナをロードする場合は、データを追加します(invokeLater)

2)またはすべてをロードして、それを待ちます(invokeAndWait)、

3)最後の行のContainerのコンストラクターには、setVisible(true)が含まれていますか?

4)EDTの外にいる可能性があります。これは、非常に重い負荷をかける必要がありますが、RepaintManagerエラーはありませんか?

5)Substanceを無効にします。このエラーが発生した場合は、コーディングの誤りが原因であるか、コードがエラーを返します。それ以外の場合は、RepaintManager(ネイティブOSレイテンシーのオーバーロード)またはConcurencyに関連する何かがあります。単純に、コードはEDTから外れています。

6)Substanceは非常に敏感で、EDTの問題から完了したコードに対して非常に敏感です。GUI関連コードからすべてのThread.sleep(int)を削除してください

于 2011-10-03T15:47:23.180 に答える
1

さて、エラーは、dllメモリに書き込もうとしていない場所に書き込もうとしたことによるものです。たまに発生する場合は、イベント ディスパッチ スレッドでコンポーネントをビルドしていないことが原因である可能性があります。チェックしても損はありません。

于 2011-10-03T14:54:19.380 に答える
1

オラクルのこのバグレポートは関連している可能性があります: http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=e5f1f1011daf96ffffffffdd154dd2e731150?bug_id=6967456

これは、swing のドラッグ アンド ドロップ機能に関連している可能性があります。フォーム コンポーネントでドラッグ アンド ドロップを無効にすると、エラーが抑制されるかどうかを確認してください。

于 2011-10-03T14:59:01.697 に答える