Commit 01639f2
fix: exclude jdk.jfr classes from transformation to prevent JFR reentrancy corruption (#821)
During JFR event writing (e.g. FileWriteEvent), EventWriter.endEvent() may
trigger class loading of jdk.jfr.internal.Bits on the large-size path.
TtlTransformer intercepts this class loading, and Javassist introspection
side effects (NotFoundException, object allocations) produce nested JFR
events that corrupt the in-progress event buffer, resulting in corrupted
JFR files with invalid event sizes.
Adding jdk.jfr to the package exclusion list prevents this reentrancy.
TTL would never transform JFR classes anyway (they are not executors or
thread pools), so this is a safe no-op filter.1 parent f900932 commit 01639f2
2 files changed
Lines changed: 10 additions & 0 deletions
File tree
- ttl-agent/src/main/java/com/alibaba/ttl3/agent
- ttl2-compatible/src/main/java/com/alibaba/ttl/threadpool/agent
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
66 | 71 | | |
67 | 72 | | |
68 | 73 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
67 | 72 | | |
68 | 73 | | |
69 | 74 | | |
| |||
0 commit comments