私たちの Web アプリケーションでは、JVM のクラッシュが定期的に発生しています。ただし、これまでのところ、問題の正確な原因が何であるかはわかりません。
すべてのクラッシュは同じ「問題のあるフレーム」を持っているように見えます。問題のあるフレームは Hibernate コード内にありますが、JNI コードの痕跡はないようです。
-Xint フラグをアクティブにして (JIT を無効にして) 同じコードを実行すると、問題は発生しなくなります。
Hibernate のバージョンは 3.6.7 です。
この問題の原因をさらに詳しく調べることができる提案はありますか?
ありがとう!
JVM レポート:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000022b5be6, pid=2960, tid=1736
#
# JRE version: 6.0_21-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b17 mixed mode windows-amd64 )
# Problematic frame:
# J org.hibernate.type.descriptor.java.MutableMutabilityPlan.deepCopy(Ljava/lang/Object;)Ljava/lang/Object;
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x0000000008d35000): JavaThread "http-8002-6" daemon [_thread_in_Java, id=1736, stack(0x000000000a980000,0x000000000a9c0000)]
siginfo: ExceptionCode=0xc0000005, reading address 0xffffffffffffffff
Registers:
EAX=0x00000001038a6ca8, EBX=0x00000001038de1e0, ECX=0x0000000000000018, EDX=0x3e64492f3c202020
ESP=0x000000000a9bb0f0, EBP=0x000000008e4e0678, ESI=0x00000000b2f9dc30, EDI=0x0000000001d0dd10
EIP=0x00000000022b5be6, EFLAGS=0x0000000000010246
Top of Stack: (sp=0x000000000a9bb0f0)
0x000000000a9bb0f0: 0000000000f55e63 00000000b0dd1830
0x000000000a9bb100: 00000000b353bbf8 000000000a9bb108
0x000000000a9bb110: 00000001000167f5 000000008e4e1220
0x000000000a9bb120: 00000001040b8278 0000000000000000
0x000000000a9bb130: 0000000001d0dd10 00000000b0540968
0x000000000a9bb140: 000000000a9bb180 00000000b2f9dd00
0x000000000a9bb150: 000000008e4e0678 0000000001c6db68
0x000000000a9bb160: 00000000b053ec30 00000000b0dd1830
0x000000000a9bb170: 00000000b2f9dd00 0000000001d882f0
0x000000000a9bb180: 000000110000000f 00000000b2f9dc30
0x000000000a9bb190: 000000008e481a20 000000008e2b5180
0x000000000a9bb1a0: 000000008e481a20 000000008e2b5180
0x000000000a9bb1b0: 000000008e4e1220 0000000000000078
0x000000000a9bb1c0: 000000000a9bb1f0 0000000107623440
0x000000000a9bb1d0: 0000000001d97634 000000008e4e1160
0x000000000a9bb1e0: 0000000107623440 0000000001d97678
Instructions: (pc=0x00000000022b5be6)
0x00000000022b5bd6: 62 8e 03 01 00 00 00 4d 3b d3 0f 85 b7 01 00 00
0x00000000022b5be6: 4c 8b 52 38 49 bb 38 01 30 00 01 00 00 00 4d 3b
Stack: [0x000000000a980000,0x000000000a9c0000], sp=0x000000000a9bb0f0, free space=ec0000000000000000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J org.hibernate.type.descriptor.java.MutableMutabilityPlan.deepCopy(Ljava/lang/Object;)Ljava/lang/Object;