https://github.com/marschall/jfr-leaker
a reproducer for a JFR memory leak
https://github.com/marschall/jfr-leaker
java java-flight-recorder jfr memory-leak
Last synced: 3 months ago
JSON representation
a reproducer for a JFR memory leak
- Host: GitHub
- URL: https://github.com/marschall/jfr-leaker
- Owner: marschall
- Created: 2020-04-30T17:57:07.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-30T18:56:08.000Z (almost 5 years ago)
- Last Synced: 2025-01-16T02:45:06.303Z (4 months ago)
- Topics: java, java-flight-recorder, jfr, memory-leak
- Language: Java
- Size: 387 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
JFR Leaker
==========A reproducer for the [JDK-8245951](https://bugs.openjdk.java.net/browse/JDK-8245951) JFR memory leak. The leak is `jdk.jfr.internal.TypeLibrary` keeps on holding to `jdk.jfr.internal.PlatformEventType` instances even when the underlying classes are unloaded.
This can for example happen when you redeploy a web application that contains custom JFR events.
The dominator tree shows the issue is `jdk.jfr.internal.TypeLibrary`.

The histogram shows the issue is `jdk.jfr.internal.TypeLibrary` holding on to `jdk.jfr.internal.PlatformEventType`.

The object list shows the issue is `jdk.jfr.internal.TypeLibrary#types` holding on to `jdk.jfr.internal.PlatformEventType`.

The classloader explorer shows not ClassLoader-leaks.

The issue can be reproduced with
```
java -Xmx64m -Xms64m -XX:MaxMetaspaceSize=64m -XX:+UseSerialGC -XX:+HeapDumpOnOutOfMemoryError -jar target/jfr-leaker-0.1.0-SNAPSHOT.jar
```