It was an IBM JVM 1.6 bug for that ticket is already opened with them.
Scenario we revealed:
- issue occurs with either 32 bit or 64 bit 1.6 JVM
- issue occurs on AIX 5.3 or 6.1
- issue occurs with either 1.6 SR5 (wM ships with) or SR8 FP1 (latest).
- issue does not occur with AIX JVM 1.5
- issue does not occur with AIX JVM 1.6 when JIT (Just-In-Time-Compilation) is disabled (or optimization lowered from “hot” to “warm”).
- Issue does not occur on Windows + Sun JVM 1.6 with JIT enabled
we demonstrated to IBM the stand-alone client. IBM support immediately acknowledged this looked like a defect, but presumed it was a new one. IBM will likely fix it eventually as part of a future SR level, but in meantime provided some work-around options:
JIT can be disabled as a whole using:
-Djava.compiler=NONE
…or (to have a lesser impact on the IS/JVM as a whole), optimization can be lowered (from “hot” to “warm”) on just the one IS java method in question using:
-Xjit:‘{.writeCharArray}(optLevel=warm)’
…and to lower the opt level and be able to confirm it has been lowered at runtime use:
-Xjit:{.writeCharArray}(optLevel=warm),verbose={compileStart|compileEnd}
…this will print the following to stdout when the method is used:
===
(warm) Compiling com/wm/util/coder/IDataBinCoder.writeCharArray(Ljava/io/OutputStream;[C)V t=965286
- (warm) com/wm/util/coder/IDataBinCoder.writeCharArray(Ljava/io/OutputStream;[C)V @ 0x0000000110E0224C-0x0000000110E03750 Q_SZ=3
#Integration-Server-and-ESB#webMethods