-
Bug
-
Resolution: Fixed
-
P2
-
5.0u16
-
b03
-
x86
-
windows_xp
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2201102 | 7 | Robert Mckenna | P3 | Resolved | Fixed | b120 |
JDK-2184177 | 6u18 | Robert Mckenna | P2 | Resolved | Fixed | b04 |
JDK-2184219 | 6u17-rev | Robert Mckenna | P2 | Resolved | Fixed | b05 |
JDK-2180407 | 6u16-rev | Robert Mckenna | P2 | Closed | Fixed | b04 |
JDK-2185316 | 5.0u23 | Robert Mckenna | P2 | Resolved | Fixed | b01 |
JDK-2184228 | 5.0u22-rev | Robert Mckenna | P2 | Resolved | Fixed | b04 |
Customer reports a memory leak with a WebLogic app with 1.5.0_16. Histograms shows several classes continuously growing over time. These classes include weblogic.corba.client.utils.EndPointInfo and several com.sun.cobra.se.impl.* classes. The heap dump shows EndPointInfo is held by reference by com.sun.corba.se.impl.legacy.connection.SocketFactoryContactInfoImpl
References to SocketFactoryContactInfoImpl were more com.sun.cobra.se.impl.* classes. Going further up the stack, I found these com.sun classes were referencing each other in a circular fashion.
I looked at one particular instance of com.sun.corba.se.impl.legacy.connection.SocketFactoryConnectionImpl. There are over 8800 references to this instance. Here are some of the references.
com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl@0x1d1b75d8 (85 bytes) : field connection
com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl@0x1da72108 (85 bytes) : field connection
com.sun.corba.se.impl.encoding.CDRInputObject@0x22062df8 (37 bytes) : field corbaConnection
com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl@0x1aba53a0 (85 bytes) : field connection
Here a two relevant bugs, 6725987 and 6553303. Could they be the source of this problem?
CR 6725987 says ORB.destroy() does not cleanup correctly and ORB object instances are not garbage collected.
The evaluation for CR 6553303 says one part of this problem is clear: if the ORB successfully opens a connection, but sometime later the connection is no longer usable, it gets stuck in the cache.
The customer reported that this issue only happens with JDK 1.5. There is no problem on JDK 1.4.2. They also report the issue happens with JDK 1.5 only when IOP is used. The webapp runs fine on JDK 1.5 with TCP.
References to SocketFactoryContactInfoImpl were more com.sun.cobra.se.impl.* classes. Going further up the stack, I found these com.sun classes were referencing each other in a circular fashion.
I looked at one particular instance of com.sun.corba.se.impl.legacy.connection.SocketFactoryConnectionImpl. There are over 8800 references to this instance. Here are some of the references.
com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl@0x1d1b75d8 (85 bytes) : field connection
com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl@0x1da72108 (85 bytes) : field connection
com.sun.corba.se.impl.encoding.CDRInputObject@0x22062df8 (37 bytes) : field corbaConnection
com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl@0x1aba53a0 (85 bytes) : field connection
Here a two relevant bugs, 6725987 and 6553303. Could they be the source of this problem?
CR 6725987 says ORB.destroy() does not cleanup correctly and ORB object instances are not garbage collected.
The evaluation for CR 6553303 says one part of this problem is clear: if the ORB successfully opens a connection, but sometime later the connection is no longer usable, it gets stuck in the cache.
The customer reported that this issue only happens with JDK 1.5. There is no problem on JDK 1.4.2. They also report the issue happens with JDK 1.5 only when IOP is used. The webapp runs fine on JDK 1.5 with TCP.
- backported by
-
JDK-2184177 memory leak in com.sun.corba.se.* classes
- Resolved
-
JDK-2184219 memory leak in com.sun.corba.se.* classes
- Resolved
-
JDK-2184228 memory leak in com.sun.corba.se.* classes
- Resolved
-
JDK-2185316 memory leak in com.sun.corba.se.* classes
- Resolved
-
JDK-2201102 memory leak in com.sun.corba.se.* classes
- Resolved
-
JDK-2180407 memory leak in com.sun.corba.se.* classes
- Closed
- relates to
-
JDK-6873605 Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04
- Closed
(1 backported by, 1 relates to)