RFR 8009728: nsk/jvmti/AttachOnDemand/attach030 crashes on Win32
Coleen Phillimore
coleen.phillimore at oracle.com
Mon Aug 12 14:17:24 PDT 2013
Thanks Dan for reviewing this version of this change also. See inline
comments.
On 08/12/2013 05:14 PM, Daniel D. Daugherty wrote:
> On 8/6/13 3:33 PM, Coleen Phillimore wrote:
>> Summary: ActiveMethodOopsCache was used to keep track of old versions
>> of some methods that are cached in Universe but is buggy with permgen
>> removal and not needed anymore
>>
>> There was a crash in this function that I couldn't reproduce. It was
>> likely that the crash was for something else, but this is a lurking bug.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8009728/
>
> Thumbs up!
>
> src/share/vm/memory/universe.cpp
> No comments.
>
> src/share/vm/memory/universe.hpp
> nit lines 59-63: if you wanted to make the the function names all
> line up that would look better
done.
>
> src/share/vm/oops/method.cpp
> No comments.
>
> src/share/vm/prims/jvmtiRedefineClasses.cpp
> No comments.
>
> test/runtime/RedefineObject/Agent.java
> I like the refactor of the redefine logic into the redefine() method
> and that makes the premain() method more clear.
>
> test/runtime/RedefineObject/TestRedefineObject.java
> No comments.
>
> test/runtime/RedefineObject/WalkThroughInvoke.java
> line 30: // walks the stack before it gets this exception.
> Is the "this exception" mentioned here this one:
>
> line 33: } catch (java.security.AccessControlException e) {
>
> line 34: System.out.println("This exception is expected");
> This println() is in the catch of AccessControlException
> so there won't be any mention of that exception in the test's
> output, but the test's output will say:
>
> This exception is expected
>
> This could be confusing to anyone that is investigating
> and/or looking at this test. You might say:
>
> Ignoring an 'AccessControlException' exception since
> it is expected as part of this test.
>
I added your comment and fixed the comments so hopefully they make sense.
public class WalkThroughInvoke {
public void stackWalk() {
try {
Class b = Object.class;
SecurityManager sm = new SecurityManager();
// walks the stack with Method.invoke in the stack (which is the
// purpose of the test) before it gets an AccessControlException.
sm.checkMemberAccess(b, Member.DECLARED);
} catch (java.security.AccessControlException e) {
// Ignoring an 'AccessControlException' exception since
// it is expected as part of this test.
}
}
};
Thanks!
Coleen
> Dan
>
>
>> bug link at http://bugs.sun.com/view_bug.do?bug_id=8009728
>> local bug link https://jbs.oracle.com/bugs/browse/JDK-8009728
>>
>> Tested with vm.quick.testlist which includes redefine classes tests
>> and jck lang and vm tests.
>>
>> Thanks,
>> Coleen
>>
>
More information about the hotspot-runtime-dev
mailing list