RFR: 8256830: misc tests failed with "assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking"
    David Holmes 
    dholmes at openjdk.java.net
       
    Fri Nov 27 02:29:57 UTC 2020
    
    
  
On Wed, 25 Nov 2020 18:40:49 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
> The ServiceThread cleaning used a stale ObjectFree state when calling remove_dead_entries, because another thread had concurrently set is_enabled to false.  Add a lock around setting/resetting the lock event state and retest the state under a lock.  Ran the test 100s of time without failure, where otherwise it fails very quickly.
> Tested with tier2,3 and running tiers 4,5,6 in progress.
> Thanks to Kim for his previous feedback.
src/hotspot/share/prims/jvmtiTagMap.cpp line 1162:
> 1160:   if (_needs_cleaning) {
> 1161:     // Recheck whether to post object free events under the lock.
> 1162:     post_object_free = post_object_free && env()->is_enabled(JVMTI_EVENT_OBJECT_FREE);
Where is `is_enabled` called without the lock being held in a caller of `remove_dead_entries()`?
-------------
PR: https://git.openjdk.java.net/jdk/pull/1439
    
    
More information about the hotspot-dev
mailing list