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