APAR status
Closed as program error.
Error description
Error Message: STDERR message including: 0000000070863D00: Object neither in heap nor stack-allocated in thread <OSB>ACTIVE<CSB> Thread_Name 0000000070863D00: O-Slot=0000000072E9AE90 0000000070863D00: O-Slot value=0000000000000001 0000000070863D00: PC=000001001F36488C 0000000070863D00: framesWalked=2 0000000070863D00: arg0EA=0000000072EAAE30 0000000070863D00: walkSP=0000000072EA2E48 0000000070863D00: literals=0000000000000000 0000000070863D00: jitInfo=000001001E980B18 0000000070863D00: method=0000000072AE3EC8 (com/Class.method()V) (JIT) 0000000070863D00: stack=0000000072E9DD98-0000000072EABD18 Notes: The message will show that the "O-Slot" has a value that is out-side the limit of that stack defined on the "stack=" line. The method must have the "(JIT)" text signifying that the method with the bad O-Slot is JIT compiled. If both these restrictions are not met then this APAR does not apply. . Stack Trace: {libj9prt26.so}{genSystemCoreUsingGencore} {libj9prt26.so}{j9dump_create}{libj9dmp26.so}{doSystemDump} {libj9dmp26.so}{protectedDumpFunction} {libj9prt26.so}{j9sig_protect}{libj9dmp26.so}{runDumpFunction}{l ibj9dmp26.so}{runDumpAgent} {libj9dmp26.so}{triggerDumpAgents}{libj9trc26.so}{twAssertion} {libj9ute26.so}{logTracePoint}{libj9ute26.so}{utsTraceV}{libj9tr c26.so}{j9Trace} {libj9gc26.so}{doStackSlot__31MM_ParallelScavengerRootScannerFPP 8J9ObjectPvPCv} {libj9gc26.so}{stackSlotIterator__FP8J9JavaVMPP8J9ObjectPvP16J9S tackWalkStatePCv} {libj9gc26.so}{vmThreadStackDoOSlotIterator _FP10J9VMThreadP16J9StackWalkStatePP8J9ObjectPCv} {libj9jit26.so}{jitWalkRegisterMap} {libj9jit26.so}{jitWalkFrame} {libj9jit26.so}{jitWalkStackFrames} {libj9vm26.so}{walkStackFrames} {libj9gc26.so}{scanSlots__28GC_VMThreadStackSlotIteratorFP10J9VM ThreadT1PvPFP8J9JavaVMPP8J9ObjectPvP16J9StackWalkStatePCv_vbT5} {libj9gc26.so}{scanOneThread__14MM_RootScannerFP20MM_Environment ModronP10J9VMThreadPv} {libj9gc26.so}{scanThreads__14MM_RootScannerFP20MM_EnvironmentMo dron} {libj9gc26.so}{scanRoots__14MM_RootScannerFP20MM_EnvironmentModr on} {libj9gc26.so}{scavengeRoots__20MM_ParallelScavengerFP22MM_Envir onmentStandard} {libj9gc26.so}{workThreadGarbageCollect__20MM_ParallelScavengerF P22MM_EnvironmentStandard} {libj9gc26.so}{run__23MM_ParallelScavengeTaskFP20MM_EnvironmentM odron} . This problem does NOT exist in Java 6.0 or Java 5.0.Only Java 6 (using the 26 J9 JVM) and Java 7.0 can encounter this problem.
Local fix
The problem can be avoid by preventing the JIT from compiling the failing method:-Xjit:exclude={com/Class.method()V}The method name will be shown in the GC assert message as seen in this APAR. The method used in this work-around is just an example, you will need to use the method name that applies to your particular case (use the 'method=' line of the GC assert output).
Problem summary
The JIT needs to describe to the GC what registers are saved and the offset into the stack frame where the saved registers are located. The GC uses this data along with a register object map to determine what objects are referenced by JIT compiled methods. The space given to hold the offset can overflow in extreme cases where the stack size is very large resulting in the GC obtaining an invalid object reference.
Problem conclusion
The JIT was modified to abort any compiles where the register save offset overflows. . This APAR will be fixed in the following Java Releases: 7 SR9 FP 10 (7.0.9.10) 6 R1 SR8 FP7 (6.1.8.7) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the available Service Refreshes and Fix Packs can be found at: https://www.ibm.com/developerworks/java/jdk/
Temporary fix
Comments
APAR Information
APAR number
IV71983
Reported component name
JIT
Reported component ID
620700124
Reported release
260
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2015-04-08
Closed date
2015-04-09
Last modified date
2015-08-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JIT
Fixed component ID
620700124
Applicable component levels
R260 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"260","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 August 2015