Hi,

I'm hitting a JIT compiler bug in IBM JDK 6 with the following code 
(forcing JIT compilation using -Xjit:count=0):

(defprotocol FooProtocol
  (do-something [x]))

(def foo
  (reify FooProtocol
    (do-something [this]
      (locking this
        (println "XXXXXXXXXXXXXXXXXXXXXXX")))))

(do-something foo)

IBM JDK 6 is part of the clojure build matrix (though the last stable build 
is from over a year ago: 
http://build.clojure.org/job/clojure-test-matrix/jdk=IBM%20JDK%201.6/lastStableBuild/
)

I'm committed to supporting the IBM JVM as we are supporting AIX on PowerPC 
where there are no alternatives. For now I have to avoid the locking macro.

The JVM crashes with the following output:

Unhandled exception
Type=Segmentation error vmState=0x0005ff05
J9Generic_Signal_Number=00000004 Signal_Number=0000000b 
Error_Value=00000000 Signal_Code=00000001
Handler1=00007FBD43A7C900 Handler2=00007FBD43735FB0 
InaccessibleAddress=00000008015F5718
RDI=00000000019C2418 RSI=00000000015F5700 RAX=00000000015F5720 
RBX=00000000015C5378
RCX=0000000000000001 RDX=00000000FFFFFFFF R8=0000000000000000 
R9=0000000000000001
R10=0000000000000000 R11=00000000015F54D8 R12=00000000015C5AD0 
R13=00007FBD1F2E7240
R14=00000000015F5700 R15=00000000019C86F8
RIP=00007FBD416E944A GS=0000 FS=0000 RSP=00007FBD1F2E7040
EFlags=0000000000210296 CS=0033 RBP=00000000015C5A98 ERR=0000000000000004
TRAPNO=000000000000000E OLDMASK=0000000000000000 CR2=00000008015F5718
xmm0 0000ff0000000000 (f: 0.000000, d: 1.385239e-309)
xmm1 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm2 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm3 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm4 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm5 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm6 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm7 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm10 0000000000ffffff (f: 16777215.000000, d: 8.289046e-317)
xmm11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/usr/lib/jvm/ibm-java-x86_64-60/jre/lib/amd64/default/libj9jit24.so
Module_base_address=00007FBD4162D000

Method_being_compiled=user$reify__27.do_something()Ljava/lang/Object;
Target=2_40_20121024_126067 (Linux 3.0.0-32-generic)
CPU=amd64 (8 logical CPUs) (0x3eba54000 RAM)
----------- Stack Backtrace -----------
(0x00007FBD416E944A [libj9jit24.so+0xbc44a])
(0x00007FBD416EB6F3 [libj9jit24.so+0xbe6f3])
(0x00007FBD416E7DA0 [libj9jit24.so+0xbada0])
(0x00007FBD416E8060 [libj9jit24.so+0xbb060])
(0x00007FBD416F4909 [libj9jit24.so+0xc7909])
(0x00007FBD416F43C4 [libj9jit24.so+0xc73c4])
(0x00007FBD4169F077 [libj9jit24.so+0x72077])
(0x00007FBD4169E3EC [libj9jit24.so+0x713ec])
(0x00007FBD437356B1 [libj9prt24.so+0x196b1])
(0x00007FBD4169DE4D [libj9jit24.so+0x70e4d])
(0x00007FBD4169AFF9 [libj9jit24.so+0x6dff9])
(0x00007FBD437356B1 [libj9prt24.so+0x196b1])
(0x00007FBD4169AD42 [libj9jit24.so+0x6dd42])
(0x00007FBD4395F0F6 [libj9thr24.so+0x40f6])
(0x00007FBD44F50EFC [libpthread.so.0+0x7efc])
clone+0x6d (0x00007FBD44A86F8D [libc.so.6+0xe4f8d])
---------------------------------------

Paudi

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to