request for review (S): 6814943: getcpool001 catches more than one JvmtiThreadState problem

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Jan 10 14:13:08 PST 2011


On 1/10/2011 10:36 AM, Keith McGuigan wrote:
> This closes a race condition hole between 
> JvmtiThreadState::state_for_while_locked() and ~JavaThread().  Without 
> this, the state_for_while_locked() could see a value of false for 
> thread->is_exiting(), then the entirety of ~JavaThread() could run, 
> the state_for_while_locked() could then finish leaving the 
> JvmtiThreadState referring to a zombie thread.
>
> webrev: http://cr.openjdk.java.net/~kamg/6814943/webrev.00/
>
> Thanks for any review!

Nicely done and thumbs up!

src/share/vm/prims/jvmtiEventController.cpp
    line 675: I would have used the infamous "sanity check" for
    the assert message, but what you have is fine by me.

src/share/vm/runtime/thread.cpp
    The JvmtiEnv::environments_might_exist() call is the right
    way to optimize this code path.
   
src/share/vm/runtime/thread.hpp
    No comments.



More information about the hotspot-runtime-dev mailing list