build.xml on 、 x64を使用してビルドJavaFx
コードを展開し、自己完結型JavaFX
アプリケーションにラップしました。システムの詳細については、以下を参照してください -Ant
Windows 7
Desktop Machine
Operating System: Windows 7 Professional 64-bit (6.1, Build 7600) (7600.win7_gdr.110622-1503)
Language: English (Regional Setting: English)
System Manufacturer: INTEL_
System Model: DH61WW__
BIOS: BIOS Date: 02/18/11 15:38:44 Ver: 04.06.04
Processor: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz (4 CPUs), ~3.1GHz
Memory: 4096MB RAM
Available OS Memory: 4074MB RAM
JavaFX
デスクトップ x64 マシンでネイティブ バンドル アプリケーションを実行すると、問題なく動作します。しかし、同じネイティブ バンドルJavaFX
アプリケーションをVirtual Machine
で実行すると、正常に開始/起動されます。しかし、いずれかのボタンをクリックするか、ステージを閉じると、(応答していません) と表示され、致命的なエラーがスローされます。そして最後にアプリケーションがクラッシュします。
仮想マシンのシステム情報 -
Operating System: Windows Web Server 2008 R2 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.110622-1506)
Language: English (Regional Setting: English)
System Manufacturer: Microsoft Corporation
System Model: Virtual Machine
BIOS: BIOS Date: 05/05/08 20:35:56 Ver: 08.00.02
Processor: Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz, ~2.7GHz
Memory: 3072MB RAM
Available OS Memory: 3072MB RAM
Page File: 2457MB used, 3683MB available
添付のエラーファイルをダウンロードできます。クイックルックのために -
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6dd5fe2d, pid=4016, tid=4292
#
# JRE version: 7.0_10-b18
# Java VM: Java HotSpot(TM) Client VM (23.6-b04 mixed mode windows-x86 )
# Problematic frame:
# C [glass.dll+0xfe2d] Java_com_sun_glass_events_KeyEvent__1getKeyCodeForChar+0x134d
#
# Core dump written. Default location: C:\Users\apancholi\Desktop\JavaFXJavaHeapMemoryFixes\JavaHeapSample-201302250\app\hs_err_pid4016.mdmp
#
# 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.
#
ここで何が起こっているのか教えてください。
参考: 次の VM 引数を渡しています: -Xms500m -Xmx1g -XX:NewRatio=2 -XX:MaxPermSize=250m