- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
  P2                     
     - 
    20
 
- 
        b28
 
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8298666 | 21 | Coleen Phillimore | P2 | Resolved | Fixed | b02 | 
                    LSan has hinted at a memory leak in MethodData related to _extra_data_lock. It looks like MethodData::deallocate_contents is being called before ~MethodData from Method::release_C_heap_structures(), leading to the memory used by _extra_data_lock not being released.
I confirmed this by switching _extra_data_lock to be a pointer and adding a guarantee to MethodData::deallocate_contents that asserts it should be NULL. It crashes at the guarantee. I'll see if I can get the call trace.
I confirmed this by switching _extra_data_lock to be a pointer and adding a guarantee to MethodData::deallocate_contents that asserts it should be NULL. It crashes at the guarantee. I'll see if I can get the call trace.
- backported by
 - 
                    
JDK-8298666 Memory leak in Method::build_profiling_method_data
-         
     - Resolved
 
 -         
 
- relates to
 - 
                    
JDK-8297389 resexhausted003 fails with assert(!thread->owns_locks()) failed: must release all locks when leaving VM
-         
     - Resolved
 
 -         
 - 
                    
JDK-8298346 Metaspace object lifetime management is convoluted
-         
     - Closed
 
 -         
 
             (1 links to)