1046 words

JVM crash when using IBM JDK 1.6.0

#1
2011-06-07 02:03

The FAQ states in the system requirements only that a JDK/JRE 1.5 or 1.6(prefered) is required.

When I try to use the IBM JDK 1.6.0 I get a GPF exception while creating the entity manager.

Looks like a call to putInt on sun.misc.Unsafe object

Does this mean there is a BUG in the IBM JDK or are not all JDK's supported?

1XMCURTHDINFO  Current thread
NULL           ----------------------
3XMTHREADINFO      "main" J9VMThread:0x00007F00C402FA00, j9thread_t:0x00007F00C40079E0, java/lang/Thread:0x00007EFFFE170C48, state:R, prio=5
3XMTHREADINFO1            (native thread ID:0x1CDD, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO2            (native stack address range from:0x00007F00CBFB1000, to:0x00007F00CC9B2000, size:0xA01000)
3XMTHREADINFO3           Java callstack:
4XESTACKTRACE                at com/objectdb/o/BYW.z(BYW.java:888)
4XESTACKTRACE                at com/objectdb/o/BYW.z(BYW.java:206)
4XESTACKTRACE                at com/objectdb/o/BTR.G(BTR.java:374)
4XESTACKTRACE                at com/objectdb/o/UTT.A(UTT.java:396)
4XESTACKTRACE                at com/objectdb/o/UTT.l(UTT.java:272)
4XESTACKTRACE                at com/objectdb/o/TSK.i(TSK.java:146)
4XESTACKTRACE                at com/objectdb/o/TSK.f(TSK.java:95)
4XESTACKTRACE                at com/objectdb/o/MST.aK(MST.java:225)
4XESTACKTRACE                at com/objectdb/o/MST.<init>(MST.java:114)
4XESTACKTRACE                at com/objectdb/o/MST.aG(MST.java:96)
4XESTACKTRACE                at com/objectdb/o/MSF.UH(MSF.java:167)
4XESTACKTRACE                at com/objectdb/o/OMF.ai(OMF.java:725)
4XESTACKTRACE                at com/objectdb/jpa/EMF.ai(EMF.java:143)
4XESTACKTRACE                at com/objectdb/o/OMF.ah(OMF.java:681)
4XESTACKTRACE                at com/objectdb/jpa/EMF.createEntityManager(EMF.java:160)
4XESTACKTRACE                at com/ibm/check/cmvc2git/database/Database.<init>(Database.java:52)
4XESTACKTRACE                at com/ibm/check/cmvc2git/CMVCSync.runCommand(CMVCSync.java:100)
4XESTACKTRACE                at com/ibm/check/cmvc2git/CMVCSync.main(CMVCSync.java:90)
3XMTHREADINFO3           Native callstack:
4XENATIVESTACK               (0x00000000008797A2 [libj9prt24.so+0xe7a2])
4XENATIVESTACK               (0x0000000000883BF1 [libj9prt24.so+0x18bf1])
4XENATIVESTACK               (0x000000000087982D [libj9prt24.so+0xe82d])
4XENATIVESTACK               (0x000000000087993A [libj9prt24.so+0xe93a])
4XENATIVESTACK               (0x00000000008795E4 [libj9prt24.so+0xe5e4])
4XENATIVESTACK               (0x0000000000883BF1 [libj9prt24.so+0x18bf1])
4XENATIVESTACK               (0x000000000087965D [libj9prt24.so+0xe65d])
4XENATIVESTACK               (0x0000000000875706 [libj9prt24.so+0xa706])
4XENATIVESTACK               (0x0000000000875A5A [libj9prt24.so+0xaa5a])
4XENATIVESTACK               (0x00007F00CBAD1645 [libj9dmp24.so+0x12645])
4XENATIVESTACK               (0x0000000000883BF1 [libj9prt24.so+0x18bf1])
4XENATIVESTACK               (0x00007F00CBACE171 [libj9dmp24.so+0xf171])
4XENATIVESTACK               (0x00007F00CBAD157A [libj9dmp24.so+0x1257a])
4XENATIVESTACK               (0x0000000000883BF1 [libj9prt24.so+0x18bf1])
4XENATIVESTACK               (0x00007F00CBACC78A [libj9dmp24.so+0xd78a])
4XENATIVESTACK               (0x00007F00CBAD175A [libj9dmp24.so+0x1275a])
4XENATIVESTACK               (0x00007F00CBAC3743 [libj9dmp24.so+0x4743])
4XENATIVESTACK               (0x00007F00CBAC6625 [libj9dmp24.so+0x7625])
4XENATIVESTACK               (0x0000000000883BF1 [libj9prt24.so+0x18bf1])
4XENATIVESTACK               (0x00007F00CBAC65FE [libj9dmp24.so+0x75fe])
4XENATIVESTACK               (0x00007F00CBAC62C9 [libj9dmp24.so+0x72c9])
4XENATIVESTACK               (0x00007F00CBAD29FE [libj9dmp24.so+0x139fe])
4XENATIVESTACK               (0x000000000023BB9C [libj9vm24.so+0x14b9c])
4XENATIVESTACK               (0x0000000000883BF1 [libj9prt24.so+0x18bf1])
4XENATIVESTACK               (0x000000000023B3DD [libj9vm24.so+0x143dd])
4XENATIVESTACK               (0x0000000000884661 [libj9prt24.so+0x19661])
4XENATIVESTACK               (0x00000036D380F4C0 [libpthread.so.0+0xf4c0])
4XENATIVESTACK               sun_misc_Unsafe_putInt__Ljava_lang_Object_2JI+0x42 (0x00007F00CA950FDA [libjclscar_24.so+0x4efda])

 

awhawks
awhawks's picture
Joined on 2011-04-06
User Post #15
#2
2011-06-07 05:44

ObjectDB uses Sun's Unsafe as an optimization - only when it is available.

Apparently, the Unsafe class is included in IBM J9 VM and when it is checked on startup with simple operations it works well, but later during run somehow it fails.

As a workaround - this optimization is disabled for IBM J9 VM starting build 2.2.6_02.

Thank you for your report.

 

 

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)
support
support's picture
Joined on 2010-05-03
User Post #341
#3
2011-06-10 00:58

This fixed the GPF crash.

I have <enhancement agent="true" reflection="error" /> in my objectdb.conf file

With the Sun JDK it would automaticly enhance the Entities.

Now with the IBM JDK it requires I add the -javaagent arg during start.

Is that the expected behavior without the Unsafe optimization?

awhawks
awhawks's picture
Joined on 2011-04-06
User Post #16
#4
2011-06-10 09:46

It is the expected behavior, but it is unrelated to Unsafe.

Only Sun JDK 6.0 (and not even Sun JRE) has the ability to add an agent to the JVM while running. Using -javaagent explicitly is preferred since it is more reliable.

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)
support
support's picture
Joined on 2010-05-03
User Post #352

Post Reply

Please read carefully the posting instructions - before posting to the ObjectDB website.

  • You may have to disable pop up blocking in order to use the toolbar (e.g. in Chrome).
  • Use ctrl + right click to open the browser context menu in the editing area (e.g. for using a browser spell checker).
  • To insert formatted lines (e.g. Java code, stack trace) - select a style in the toolbar and then insert the text in the new created block.
  • Avoid overflow of published source code examples by breaking long lines.
  • You may mark in paragraph code words (e.g. class names) with the code style (can be applied by ctrl + D).
  • Long stack traces (> 50 lines) and complex source examples (> 100 lines) should be posted as attachments.
Attachments:
Maximum file size: 32 MB
Cancel