Сбой компиляции JIT (IBM JVM)

Я запускаю свое веб-приложение в WebSphere 7.0. Это работает некоторое время, но потом JVM падает и генерирует дамп ядра. Из файла javacore***:

0SECTION       TITLE subcomponent dump routine
NULL           ===============================
1TISIGINFO     Dump Event "gpf" (00002000) received 
1TIDATETIME    Date:                 2013/02/23 at 14:40:01
1TIFILENAME    Javacore filename:    C:\IBM\WebSphere\AppServer\profiles\AppSrv01\javacore.20130223.143538.4904.0002.txt
1TIREQFLAGS    Request Flags: 0x81 (exclusive+preempt)
1TIPREPSTATE   Prep State: 0x0
1TIPREPINFO    Exclusive VM access not taken: data may not be consistent across javacore sections
NULL           ------------------------------------------------------------------------
0SECTION       GPINFO subcomponent dump routine
NULL           ================================
2XHOSLEVEL     OS Level         : Windows 7 6.1 build 7600
2XHCPUS        Processors -
3XHCPUARCH       Architecture   : amd64
3XHNUMCPUS       How Many       : 8
3XHNUMASUP       NUMA is either not supported or has been disabled by user
NULL           
1XHEXCPCODE    Windows_ExceptionCode: C0000005
1XHEXCPCODE    J9Generic_Signal: 00000004
1XHEXCPCODE    ExceptionAddress: 000007FFFF15FD10
1XHEXCPCODE    ContextFlags: 0010001F
1XHEXCPCODE    Handler1: 000007FFFF67D3C0
1XHEXCPCODE    Handler2: 000007FFFF64DE40
NULL           
1XHEXCPMODULE  Module: C:\IBM\WebSphere\AppServer\java\jre\bin\compressedrefs\j9jit24.dll
1XHEXCPMODULE  Module_base_address: 000007FFFEE90000
1XHEXCPMODULE  Offset_in_DLL: 00000000002CFD10
NULL           
1XHREGISTERS   Registers:
2XHREGISTER      RDI: 000000001DC12538
2XHREGISTER      RSI: 000000002DC043FC
2XHREGISTER      RAX: 0000000000000040
2XHREGISTER      RBX: 0000000000000000
2XHREGISTER      RCX: 000000000000000B
2XHREGISTER      RDX: 000000002DC043FC
2XHREGISTER      R8: 000000001DC12538
2XHREGISTER      R9: 000000000C8FDD84
2XHREGISTER      R10: 0000000000000029
2XHREGISTER      R11: 0000000000000029
2XHREGISTER      R12: 000000001DC12538
2XHREGISTER      R13: 00000000FFFFFFFF
2XHREGISTER      R14: 000000001DC08FB0
2XHREGISTER      R15: 000000002DC0785C
2XHREGISTER      XMM0: 000000000000027F
2XHREGISTER      XMM1: 0000000000000000
2XHREGISTER      XMM2: 0000000000000000
2XHREGISTER      XMM3: 0000000000000000
2XHREGISTER      XMM4: 0000000000000000
2XHREGISTER      XMM5: 0000000000000000
2XHREGISTER      XMM6: 0000000000000000
2XHREGISTER      XMM7: 0000000000000000
2XHREGISTER      XMM8: 0000000000000000
2XHREGISTER      XMM9: 0000000000000000
2XHREGISTER      XMM10: 408AE8003A356A1F
2XHREGISTER      XMM11: 3FC3333344B4A000
2XHREGISTER      XMM12: 0000000000000000
2XHREGISTER      XMM13: 0000000000000000
2XHREGISTER      XMM14: 0000000000000000
2XHREGISTER      XMM15: 0000000000000000
2XHREGISTER      RIP: 000007FFFF15FD10
2XHREGISTER      RSP: 000000000C8FDD00
2XHREGISTER      RBP: 00000000320C6A18
2XHREGISTER      GS: 002B
2XHREGISTER      FS: 0053
2XHREGISTER      ES: 002B
2XHREGISTER      DS: 002B
1XHEXCPMODULE  Compiling method: java/util/Arrays.sort(II[J)V
NULL           
1XHFLAGS       VM flags:00000000000519FF
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       ENVINFO subcomponent dump routine
NULL           =================================
1CIJAVAVERSION JRE 1.6.0 IBM J9 2.4 Windows 7 amd64-64 build jvmwa6460sr9-20101209_70480
1CIVMVERSION   VM build 20101209_070480
1CIJITVERSION  JIT enabled, AOT enabled - r9_20101028_17488ifx3
1CIGCVERSION   GC - 20101027_AA_CMPRSS
1CIRUNNINGAS   Running as a standalone JVM

Кажется, что во время JIT-компиляции метода Arrays.sort() произошел сбой JVM. Понятия не имею, почему это могло произойти. Я попытался -Xjit:exclude{...}, и это решило проблему, но в этом случае я не удовлетворен производительностью.

Я обвинил Arrays.sort() в JVM IBM и реализовал собственную сортировку точно так же, как это реализовано в Oracle JVM (скопированный код), и на время забыл о проблеме. Но вчера JVM снова рухнул во время той же задачи. Единственная разница в новом файле javacore

1XHEXCPMODULE  Compiling method: com/sort/util/SortUtils.sort([JII)V

где SortUtils.sort - моя новая реализация.

Пожалуйста, объясните мне, это ошибка JIT Compliler или я что-то не так делаю? Есть какие нибудь предложения как это исправить? Может ли это быть аппаратно-зависимой проблемой?

0 ответов

Другие вопросы по тегам