On 10/3/2013 3:29 PM, Staffan Larsen wrote:
Looks good! (Obviously I would think so for the testcase :-) )
Thanks for the testcase!
Coleen
Thanks for fixing,
/Staffan
On 3 okt 2013, at 20:02, Coleen Phillimore <coleen.phillim...@oracle.com> wrote:
Summary: Redefined class in stack trace may not be found by method_idnum so
handle null.
This is a simple change. I had another change to save the method name (as u2)
in the backtrace, but it's not worth the extra footprint in backtraces for this
rare case.
The root problem was that we save method_idnum in the backtrace (u2) instead of
Method* to avoid Method* from being redefined and deallocated. I made a change
to InstanceKlass::method_from_idnum() to return null rather than the last
method in the list, which causes this crash. Dan and I went down the long
rabbit-hole of why method_idnum is changed for obsolete methods and we think
there's some cleanup and potential bugs in this area. But this is not that
change. I'll file another bug to continue this investigation for jdk9 (or 8uN).
Staffan created a test - am including core-libs for the review request. Also
tested with all of the vm testbase tests, mlvm tests, and java/lang/instrument
tests.
open webrev at http://cr.openjdk.java.net/~coleenp/8025238/
bug link https://bugs.openjdk.java.net/browse/JDK-8025238
test case for jdk8 repository:
open webrev at http://cr.openjdk.java.net/~coleenp/8025238_jdk
Thanks,
Coleen