-
Bug
-
Resolution: Fixed
-
P4
-
10, 11
-
b07
jdk.vm.ci.hotspot.HotSpotStackIntrospection#iterateFrames uses jdk.vm.ci.hotspot.CompilerToVM#getNextStackFrame to iterate frames. The first argument is a "reference" frame from which the stack-walk starts.
During the first call to getNextStackFrame null is passed and for subsequent calls the previous value returned from getNextStackFrame is passed.
This can be a problem if iterateFrames itself (or in general the compilation unit containing iterateFrames) uncommon traps: if the "current" frame refers to that compilation unit during the uncommon trap, the next call to getNextStackFrame will throw IllegalStateException: stack frame not found because the frame search is based on the stack point and the uncommon trap might change that.
During the first call to getNextStackFrame null is passed and for subsequent calls the previous value returned from getNextStackFrame is passed.
This can be a problem if iterateFrames itself (or in general the compilation unit containing iterateFrames) uncommon traps: if the "current" frame refers to that compilation unit during the uncommon trap, the next call to getNextStackFrame will throw IllegalStateException: stack frame not found because the frame search is based on the stack point and the uncommon trap might change that.