-
Bug
-
Resolution: Fixed
-
P2
-
hs20
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2219962 | 8 | Daniel Daugherty | P2 | Closed | Fixed | b22 |
JDK-2218721 | 7-pool | Daniel Daugherty | P2 | Closed | Not an Issue | |
JDK-2219858 | 7u4 | Daniel Daugherty | P2 | Closed | Fixed | b07 |
JDK-8017363 | 6u65 | Edvard Wendelin | P2 | Closed | Fixed | b01 |
JDK-2218720 | 6u60 | Edvard Wendelin | P2 | Closed | Fixed | b01 |
memory for the retransformed class or classes.
As part of the work on this bug, the following SDK/JDK test
will be added:
java/lang/instrument/RetransformBigClass.sh
The attached output.6u29_server_base.with_transformer.log tells
the tale for the Server VM on Solaris X86. Version info is:
java version "1.6.0-201112142258.dcubed.exp_bofa_leak"
Java(TM) SE Runtime Environment (build 1.6.0-201112142258.dcubed.exp_bofa_leak-jprtadm_14_Dec_2011_15_17-b00)
Java HotSpot(TM) Server VM (build 20.4-b02, mixed mode)
The above bits are with the fix for 7121600 in place.
Here is trace info for the first RedefineClasses() call:
RedefineClasses-0x1: loading name=BigClass (avail_mem=1183084K)
RedefineClasses-0x1: loaded name=BigClass (avail_mem=1178924K)
RedefineClasses-0x1: redefined name=BigClass, count=1 (avail_mem=1178884K)
Here is trace info for the last RedefineClasses() call:
RedefineClasses-0x1: loading name=BigClass (avail_mem=134072K)
RedefineClasses-0x1: loaded name=BigClass (avail_mem=133040K)
RedefineClasses-0x1: redefined name=BigClass, count=1000 (avail_mem=133040K)
Here's the math for leak:
1178884 - 133040
1045844
. / 1024
1021.3320
So we leaked just over 1GB in 1000 RedefineRetransform() calls.
The attached output.6u29_client_base.with_transformer.log tells
the tale for the Client VM on Solaris X86. Version info is:
java version "1.6.0-201112142258.dcubed.exp_bofa_leak"
Java(TM) SE Runtime Environment (build 1.6.0-201112142258.dcubed.exp_bofa_leak-jprtadm_14_Dec_2011_15_17-b00)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode)
The above bits are with the fix for 7121600 in place.
Here is trace info for the first RedefineClasses() call:
RedefineClasses-0x1: loading name=BigClass (avail_mem=1112544K)
RedefineClasses-0x1: loaded name=BigClass (avail_mem=1108400K)
RedefineClasses-0x1: redefined name=BigClass, count=1 (avail_mem=1108352K)
Here is trace info for the last RedefineClasses() call:
RedefineClasses-0x1: loading name=BigClass (avail_mem=151196K)
RedefineClasses-0x1: loaded name=BigClass (avail_mem=150160K)
RedefineClasses-0x1: redefined name=BigClass, count=1000 (avail_mem=150160K)
Here's the math for leak:
1108352 - 150160
958192
. / 1024
935.7343
So we leaked almost 1GB in 1000 RedefineRetransform() calls.
- backported by
-
JDK-2218720 Instrumentation.retransformClasses() leaks class bytes
-
- Closed
-
-
JDK-2218721 Instrumentation.retransformClasses() leaks class bytes
-
- Closed
-
-
JDK-2219858 Instrumentation.retransformClasses() leaks class bytes
-
- Closed
-
-
JDK-2219962 Instrumentation.retransformClasses() leaks class bytes
-
- Closed
-
-
JDK-8017363 Instrumentation.retransformClasses() leaks class bytes
-
- Closed
-
- relates to
-
JDK-7124710 interleaved RedefineClasses() and RetransformClasses() calls may have a problem
-
- Resolved
-
-
JDK-7121600 Instrumentation.redefineClasses() leaks class bytes
-
- Closed
-
-
JDK-7124706 enable RetransformBigClass.sh test when fix for 8013063 is promoted
-
- Resolved
-
-
JDK-7127032 fix for 7122253 adds a JvmtiThreadState earlier than necessary
-
- Closed
-
-
JDK-4772582 JVMTI Spec: JVMTI should support multiple independent and simultaneous agents
-
- Resolved
-