Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8208344 | 12 | Volker Simonis | P3 | Resolved | Fixed | b05 |
JDK-8208449 | 11.0.2 | Volker Simonis | P3 | Resolved | Fixed | b01 |
JDK-8209273 | 11.0.1 | Volker Simonis | P3 | Resolved | Fixed | b05 |
The frames() method in the file ThreadReferenceImpl.c of the jdwp agent library does not use the GetStackTrace() JVMTI method. Instead it calls GetFrameLocation() for every frame requested. Since GetFrameLocation() iterates the stack for every call, this leads to quadratic runtime behavior. This performance bug is especially visible when debugging stack overflows. Since GetStackTrace() runs in linear time (in regards to the stack depth), it should be used instead.
- backported by
-
JDK-8208344 Fix 'frames()' in ThreadReferenceImpl.c to prevent quadratic runtime behavior
-
- Resolved
-
-
JDK-8208449 Fix 'frames()' in ThreadReferenceImpl.c to prevent quadratic runtime behavior
-
- Resolved
-
-
JDK-8209273 Fix 'frames()' in ThreadReferenceImpl.c to prevent quadratic runtime behavior
-
- Resolved
-