eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 721 forks source link

DDR can't read java stacks from core file - Induced OSR resolve not handled yet #16457

Open pshipton opened 1 year ago

pshipton commented 1 year ago

Trying to read java stacks from the core files in https://github.com/eclipse-openj9/openj9/issues/13477#issuecomment-1346912376 results in the following:

<52d000>                            known but unhandled frame type com.ibm.j9ddr.vm29.pointer.U8Pointer @ 0x00000005 

 FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT  FAULT 

Dec 12, 2022 12:24:37 PM com.ibm.j9ddr.vm29.events.DefaultEventListener corruptData
WARNING: CorruptDataException thrown walking stack. walkThread = 0x000000000052D000
com.ibm.j9ddr.CorruptDataException: Induced OSR resolve not handled yet
    at com.ibm.j9ddr.vm29.j9.stackwalker.JITStackWalker$JITStackWalker_29_V0.jitWalkResolveMethodFrame(JITStackWalker.java:471)
    at com.ibm.j9ddr.vm29.j9.stackwalker.JITStackWalker$JITStackWalker_29_V0.walkTransitionFrame(JITStackWalker.java:884)
    at com.ibm.j9ddr.vm29.j9.stackwalker.JITStackWalker$JITStackWalker_29_V0.jitWalkStackFrames(JITStackWalker.java:198)
    at com.ibm.j9ddr.vm29.j9.stackwalker.JITStackWalker.jitWalkStackFrames(JITStackWalker.java:101)
    at com.ibm.j9ddr.vm29.j9.stackwalker.StackWalker$StackWalker_29_V0.walkStackFrames(StackWalker.java:486)
    at com.ibm.j9ddr.vm29.j9.stackwalker.StackWalker.walkStackFrames(StackWalker.java:103)
    at com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackWalkCommand.run(StackWalkCommand.java:139)

@gacholio @tajila are we missing something from the stack walker?

pshipton commented 1 year ago

Actually, I guess this is a dup of https://github.com/eclipse-openj9/openj9/issues/16271 ?

gacholio commented 1 year ago

As the message says, we never got around to copying this case to DDR. I find it highly unlikely that this is actually an induce OSR frame - there's no GC point between the frame build and tear down, so it's extremely unlikely you could observe the stack in that brief window.

I suppose the stated problem is a hang, so if it's the OSR block that's hanging, you could see this. It's more likely this is just bad root information left over from a successful induced OSR in the past.

gacholio commented 1 year ago

Actually, I guess this is a dup of #16271 ?

I don't think it is.