> Adds initial LSan (LeakSanitizer) support to Hotspot. This setup has been 
> used to identify multiple leaks so far. It can run most of the test suite 
> except those that also fail with ASan, which is being looked at separately. 
> It is especially useful when combined with ASan, as LSan can use poisoning 
> information to determine what memory to scan or not to scan, making leak 
> detection more accurate and faster.
> 
> **Suppressing:**
> Currently the suppression list is only used to suppress JLI leaks that are 
> known, the rest are done in code. Suppressing needs to identify the source of 
> thet leak. Due to Hotspot's code organization, we would need to suppress 
> `os::malloc` and friends, which would suppress everything. Suppressing in 
> code has the added benefit of being explicit and surviving refactors if 
> methods change.
> 
> **Caveats:**
> - By default ASan enables LSan, however we explicitly disable it unless 
> `--enable-lsan` is given. It is useful to be able to use ASan without LSan. 
> Using LSan by itself is less likely to be useful and will probably not work, 
> but its still possible currently.

Justin King has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains ten commits:

 - Merge branch 'master' into lsan
 - Fix grammatical error
   
   Signed-off-by: Justin King <jck...@google.com>
 - Update based on review and remove restriction on compressed oops and class 
pointers
   
   Signed-off-by: Justin King <jck...@google.com>
 - Support CDS
   
   Signed-off-by: Justin King <jck...@google.com>
 - Merge remote-tracking branch 'upstream/master' into lsan
 - Merge remote-tracking branch 'upstream/master' into lsan
 - Merge remote-tracking branch 'upstream/master' into lsan
 - Implement initial LSAN support v2
   
   Signed-off-by: Justin King <jck...@google.com>
 - Implement initial LSAN support

-------------

Changes: https://git.openjdk.org/jdk/pull/12229/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12229&range=03
  Stats: 316 lines in 23 files changed: 307 ins; 0 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/12229.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12229/head:pull/12229

PR: https://git.openjdk.org/jdk/pull/12229

Reply via email to