2013-09-10 2 views
11

C로 작성된 Windows 시작 프로그램을 사용하여 Java 소프트웨어를 시작합니다. 기본적으로 jvm.dll을로드하고이를 사용하여 javaw를 사용하지 않고 JVM을 초기화합니다.C 코드에서 64 비트 JVM 실행

이제 64 비트에서 컴파일하려고 시도했으며 64 비트 Java 설치에서 올바른 jvm.dll을로드합니다.

이제 Java 프로그램이 시작되지만 hs_err_pid-file과 충돌합니다. AWT가 부서지는 것처럼 보입니다.

# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
# Internal Error (os_windows_x86.cpp:149), pid=8812, tid=10816 
# guarantee(result == EXCEPTION_CONTINUE_EXECUTION) failed: Unexpected result from topLevelExceptionFilter 
# 
# JRE version: 7.0_10-b18 
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode windows-amd64 compressed oops) 
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows 
# 
# If you would like to submit a bug report, please visit: 
# (Blah blah) 


--------------- T H R E A D --------------- 

Current thread (0x0000000009b8c800): JavaThread "AWT-Windows" daemon [_thread_in_native, id=10816, stack(0x000000000a3c0000,0x000000000a5c0000)] 

Stack: [0x000000000a3c0000,0x000000000a5c0000] 
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) 
j sun.awt.windows.WToolkit.init()Z+0 
j sun.awt.windows.WToolkit.run()V+9 
j java.lang.Thread.run()V+11 
v ~StubRoutines::call_stub 

--------------- P R O C E S S --------------- 

Java Threads: (=> current thread) 
=>0x0000000009b8c800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=10816, stack(0x000000000a3c0000,0x000000000a5c0000)] 
    0x0000000009b8b800 JavaThread "AWT-Shutdown" [_thread_blocked, id=8348, stack(0x000000000a1c0000,0x000000000a3c0000)] 
    0x0000000009b8a800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=7176, stack(0x0000000009fc0000,0x000000000a1c0000)] 
    0x0000000007e8b000 JavaThread "Service Thread" daemon [_thread_blocked, id=7228, stack(0x00000000096d0000,0x00000000098d0000)] 
    0x0000000007e88000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=9540, stack(0x00000000094d0000,0x00000000096d0000)] 
    0x0000000007e76800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=5836, stack(0x00000000092d0000,0x00000000094d0000)] 
    0x0000000007e75000 JavaThread "Attach Listener" daemon [_thread_blocked, id=7696, stack(0x00000000090d0000,0x00000000092d0000)] 
    0x0000000007e73800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5496, stack(0x0000000008ed0000,0x00000000090d0000)] 
    0x0000000007dee000 JavaThread "Finalizer" daemon [_thread_blocked, id=7688, stack(0x0000000008cd0000,0x0000000008ed0000)] 
    0x0000000007de5000 JavaThread "Reference Handler" daemon [_thread_blocked, id=4204, stack(0x0000000008ad0000,0x0000000008cd0000)] 
    0x000000000036c800 JavaThread "main" [_thread_blocked, id=7928, stack(0x0000000000030000,0x0000000000230000)] 

Other Threads: 
    0x0000000007ddd800 VMThread [stack: 0x00000000088d0000,0x0000000008ad0000] [id=9680] 
    0x0000000007e96000 WatcherThread [stack: 0x00000000098d0000,0x0000000009ad0000] [id=8180] 

VM state:not at safepoint (normal execution) 

VM Mutex/Monitor currently owned by a thread: None 

Heap 
PSYoungGen  total 14336K, used 1229K [0x00000000f0000000, 0x00000000f1000000, 0x0000000100000000) 
    eden space 12288K, 10% used [0x00000000f0000000,0x00000000f01334a8,0x00000000f0c00000) 
    from space 2048K, 0% used [0x00000000f0e00000,0x00000000f0e00000,0x00000000f1000000) 
    to space 2048K, 0% used [0x00000000f0c00000,0x00000000f0c00000,0x00000000f0e00000) 
ParOldGen  total 32768K, used 0K [0x00000000d0000000, 0x00000000d2000000, 0x00000000f0000000) 
    object space 32768K, 0% used [0x00000000d0000000,0x00000000d0000000,0x00000000d2000000) 
PSPermGen  total 21248K, used 4906K [0x00000000cae00000, 0x00000000cc2c0000, 0x00000000d0000000) 
    object space 21248K, 23% used [0x00000000cae00000,0x00000000cb2ca830,0x00000000cc2c0000) 

Card table byte_map: [0x0000000005550000,0x0000000005700000] byte_map_base: 0x0000000004ef9000 

Polling page: 0x0000000000340000 

Code Cache [0x0000000002490000, 0x0000000002700000, 0x0000000005490000) 
total_blobs=258 nmethods=2 adapters=208 free_code_cache=48728Kb largest_free_block=49896960 

Compilation events (4 events): 
Event: 0.521 Thread 0x0000000007e76800 1    java.math.BigInteger::destructiveMulAdd (150 bytes) 
Event: 0.544 Thread 0x0000000007e76800 nmethod 1 0x00000000024f08d0 code [0x00000000024f0a00, 0x00000000024f0d38] 
Event: 0.632 Thread 0x0000000007e88000 2    java.lang.String::hashCode (55 bytes) 
Event: 0.637 Thread 0x0000000007e88000 nmethod 2 0x00000000024f2990 code [0x00000000024f2ac0, 0x00000000024f2c38] 

GC Heap History (0 events): 
No events 

Deoptimization events (0 events): 
No events 

Internal exceptions (10 events): 
Event: 0.621 Thread 0x000000000036c800 Threw 0x00000000f008ef40 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jni.cpp:716 
Event: 0.651 Thread 0x000000000036c800 Threw 0x00000000f00a1190 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jvm.cpp:1166 
Event: 0.654 Thread 0x000000000036c800 Threw 0x00000000f00a4370 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jni.cpp:716 
Event: 0.654 Thread 0x000000000036c800 Threw 0x00000000f00a4518 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jni.cpp:716 
Event: 0.654 Thread 0x000000000036c800 Threw 0x00000000f00a4690 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jni.cpp:716 
Event: 0.665 Thread 0x000000000036c800 Threw 0x00000000f00b5bf0 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jvm.cpp:1166 
Event: 0.665 Thread 0x000000000036c800 Threw 0x00000000f00b5d18 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jvm.cpp:1166 
Event: 0.676 Thread 0x000000000036c800 Threw 0x00000000f00b9238 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jvm.cpp:1166 
Event: 0.677 Thread 0x000000000036c800 Threw 0x00000000f00b9360 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jvm.cpp:1166 
Event: 0.813 Thread 0x000000000036c800 Threw 0x00000000f00d73f8 at C:\jdk7u2_64p\jdk7u10\hotspot\src\share\vm\prims\jni.cpp:716 

Events (10 events): 
Event: 0.829 loading class 0x0000000009b17db0 done 
Event: 0.829 loading class 0x0000000009afb160 
Event: 0.829 loading class 0x0000000009afb160 done 
Event: 0.831 loading class 0x0000000009b7ae20 
Event: 0.832 loading class 0x0000000009b7ae20 done 
Event: 0.835 Thread 0x0000000009b8a800 Thread added: 0x0000000009b8a800 
Event: 0.838 loading class 0x0000000009b1f1f0 
Event: 0.838 loading class 0x0000000009b1f1f0 done 
Event: 0.842 Thread 0x0000000009b8b800 Thread added: 0x0000000009b8b800 
Event: 0.903 Thread 0x0000000009b8c800 Thread added: 0x0000000009b8c800 


Dynamic libraries: 
0x0000000000400000 - 0x0000000000454000  C:\Users\Username\Desktop\Launcher 2\bin\Launcher.exe 
0x00000000776e0000 - 0x0000000077889000  C:\Windows\SYSTEM32\ntdll.dll 
0x00000000775c0000 - 0x00000000776df000  C:\Windows\system32\KERNEL32.dll 
0x000007fefd6e0000 - 0x000007fefd74b000  C:\Windows\system32\KERNELBASE.dll 
0x000007fefe2d0000 - 0x000007fefe3ab000  C:\Windows\system32\ADVAPI32.dll 
0x000007fefdb50000 - 0x000007fefdbef000  C:\Windows\system32\msvcrt.dll 
0x000007fefda00000 - 0x000007fefda1f000  C:\Windows\SYSTEM32\sechost.dll 
0x000007feff4c0000 - 0x000007feff5ed000  C:\Windows\system32\RPCRT4.dll 
0x00000000774c0000 - 0x00000000775ba000  C:\Windows\system32\USER32.dll 
0x000007feff910000 - 0x000007feff977000  C:\Windows\system32\GDI32.dll 
0x000007feff900000 - 0x000007feff90e000  C:\Windows\system32\LPK.dll 
0x000007feff5f0000 - 0x000007feff6b9000  C:\Windows\system32\USP10.dll 
0x000007feff8d0000 - 0x000007feff8fe000  C:\Windows\system32\IMM32.DLL 
0x000007fefde60000 - 0x000007fefdf69000  C:\Windows\system32\MSCTF.dll 
0x0000000057bb0000 - 0x00000000582cf000  C:\Program Files\Java\jre7\bin\server\jvm.dll 
0x000007fefa5f0000 - 0x000007fefa5f9000  C:\Windows\system32\WSOCK32.dll 
0x000007feff980000 - 0x000007feff9cd000  C:\Windows\system32\WS2_32.dll 
0x000007fefde50000 - 0x000007fefde58000  C:\Windows\system32\NSI.dll 
0x000007fefa530000 - 0x000007fefa56b000  C:\Windows\system32\WINMM.dll 
0x00000000778b0000 - 0x00000000778b7000  C:\Windows\system32\PSAPI.DLL 
0x0000000071fa0000 - 0x0000000072072000  C:\Windows\system32\MSVCR100.dll 
0x0000000071060000 - 0x000000007106f000  C:\Program Files\Java\jre7\bin\verify.dll 
0x000000006b0a0000 - 0x000000006b0c8000  C:\Program Files\Java\jre7\bin\java.dll 
0x000000006ca30000 - 0x000000006ca45000  C:\Program Files\Java\jre7\bin\zip.dll 
0x000000005e580000 - 0x000000005e713000  C:\Program Files\Java\jre7\bin\awt.dll 
0x000007fefe1f0000 - 0x000007fefe2c7000  C:\Windows\system32\OLEAUT32.dll 
0x000007feff6c0000 - 0x000007feff8c3000  C:\Windows\system32\ole32.dll 
0x000007fef96a0000 - 0x000007fef96b8000  C:\Windows\system32\DWMAPI.DLL 

VM Arguments: 
java_command: <unknown> 
Launcher Type: generic 

Environment Variables: 
JRE_HOME=C:\Program Files\Java\jre7 
PATH=(Blah blah) 
USERNAME=Username 
OS=Windows_NT 
PROCESSOR_IDENTIFIER=AMD64 Family 15 Model 107 Stepping 2, AuthenticAMD 



--------------- S Y S T E M --------------- 

OS: Windows 7 , 64 bit Build 7601 Service Pack 1 

CPU:total 2 (2 cores per cpu, 1 threads per core) family 15 model 107 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnowpref, tsc 

Memory: 4k page, physical 3144952k(861460k free), swap 7633028k(3062020k free) 

vm_info: Java HotSpot(TM) 64-Bit Server VM (23.6-b04) for windows-amd64 JRE (1.7.0_10-b18), built on Nov 28 2012 05:00:40 by "java_re" with unknown MS VC++:1600 

time: Tue Sep 10 22:20:47 2013 
elapsed time: 1 seconds 

답변

1

그래서 문제를 발견하고 수정했습니다. 프로세서 아키텍처가 x86으로 정의 된 응용 프로그램 매니페스트 (MSDN)가 있습니다. 나는 그것을 *으로 변경하여 무엇이 문제를 해결 했는가.

1

그리고이 문제를 해결하기 위해 무엇을 할 수 있습니까?

매우 매우 매우이 주제에 관한 좋은 문서는 (원래) Sun에서받은 Troubleshooting Guide for Java입니다. hs_err_pid* 파일에 대한 내용은 "시스템 충돌 문제 해결"장을 참조하십시오.

실제 JVM 충돌이있는 경우 파일은 생성 얻을 hs_err_pid.log Appendix C - Fatal Error Log

및 측면 참고 사항을 참조하십시오. 어딘가에 처리되지 않은 예외로 인해 응용 프로그램이 "만"종료되면 해당 파일이 만들어지지 않습니다.

충돌이 진짜 JVM 충돌 이었습니까?

+0

다음은 Java 8의 문제점 해결 안내서입니다. http://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/ –

관련 문제