My Oracle Support Banner

Memory Leak Issues On Com.octetstring.vde.DoSManager causing Out of Memory Errors (Doc ID 1588625.1)

Last updated on DECEMBER 11, 2017

Applies to:

Oracle WebLogic Server - Version 10.3 to 12.1.1.0
Information in this document applies to any platform.

Symptoms

 Before starting

For purposes of analysis, this document ilustrates the troubleshooting using Object Query Language (a.k.a OQL). There are several tools that you can use to run OQL. For demonstration purposes, we will use Memory Analyzer Tool (MAT)

To open OQL Console:
- Click on the OQL symbol described on screenshot:


- To execute an OQL, just select the whole statement and then press the little red exclamation sign shown on screenshot:

 

Analysis

Under stress, server starts accumulating memory without releasing it.

 

Memory leak suspect points out to class: com.octetstring.vde.DoSManager

 

Analyzing the heapdump, you will see the following, if running the listed OQLs: 

1) select * from com.octetstring.vde.Connection
Class Name | Shallow Heap | Retained Heap
--------------------------------------------------------------------------
com.octetstring.vde.Connection @ 0xe435a948| 48 | 30,208
com.octetstring.vde.Connection @ 0xc92080b8| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91f76f8| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91ede48| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91ea290| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91d5fe8| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91c60b0| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91bd8b8| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91b6f50| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91af748| 48 | 30,208
com.octetstring.vde.Connection @ 0xc919ed48| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91983c8| 48 | 30,208
com.octetstring.vde.Connection @ 0xc918da40| 48 | 30,208
com.octetstring.vde.Connection @ 0xc91870d8| 48 | 30,208
com.octetstring.vde.Connection @ 0xc9182780| 48 | 30,208
com.octetstring.vde.Connection @ 0xc917fe20| 48 | 30,208
com.octetstring.vde.Connection @ 0xc917d618| 48 | 30,208
com.octetstring.vde.Connection @ 0xc9171668| 48 | 30,208
Total: 18 of 952 entries | |
--------------------------------------------------------------------------
2) select * from weblogic.ldap.MuxableSocketLDAP
Class Name | Shallow Heap | Retained Heap
---------------------------------------------------------------------------
weblogic.ldap.MuxableSocketLDAP @ 0xe4347d88| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc92082b0| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91f78f0| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91ee040| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91ea488| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91d61e0| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91c62a8| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91bdab0| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91b7148| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91af940| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc919ef40| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91985c0| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc918dc38| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc91872d0| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc9182978| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc9180018| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc917d810| 96 | 4,472
weblogic.ldap.MuxableSocketLDAP @ 0xc9171860| 96 | 4,472
Total: 18 of 952 entries | |
---------------------------------------------------------------------------

 
So we have a 1:1 relationship between objects from class: com.octetstring.vde.Connection and weblogic.ldap.MuxableSocketLDAP totalizing 952 entries.


Running a Path to GC Roots for any of above objects, will show something similar to this:

com.octetstring.vde.Connection:
Class Name | Shallow Heap | Retained Heap
------------------------------------------------------------------------------------------------------------------------------
com.octetstring.vde.Connection @ 0xe435a948 | 48 | 30,208
|- key java.util.HashMap$Entry @ 0xe435aac0 | 24 | 48
| '- [1745] java.util.HashMap$Entry[2048] @ 0xc802e3f8 | 8,208 | 31,056
| '- table java.util.HashMap @ 0xc5161338 | 40 | 31,112
| '- map java.util.HashSet @ 0xc5161328 | 16 | 31,128
| '- activeConnections com.octetstring.vde.DoSManager @ 0xc4c3af88 DoSManager Thread| 160 | 95,736
|- key java.util.HashMap$Entry @ 0xe430c8c8 | 24 | 48
|- key java.util.HashMap$Entry @ 0xe435aad8 | 24 | 48
'- Total: 3 entries | |
------------------------------------------------------------------------------------------------------------------------------
 
weblogic.ldap.MuxableSocketLDAP:
Class Name | Shallow Heap | Retained Heap
------------------------------------------------------------------------------------------------------------------------------------
weblogic.ldap.MuxableSocketLDAP @ 0xe4347d88 | 96 | 4,472
'- this$0, muxableSocketLDAP weblogic.ldap.MuxableSocketLDAP$LDAPSocket @ 0xe4347f10 | 40 | 4,520
'- client com.octetstring.vde.Connection @ 0xe435a948 | 48 | 30,208
|- key java.util.HashMap$Entry @ 0xe435aac0 | 24 | 48
| '- [1745] java.util.HashMap$Entry[2048] @ 0xc802e3f8 | 8,208 | 31,056
| '- table java.util.HashMap @ 0xc5161338 | 40 | 31,112
| '- map java.util.HashSet @ 0xc5161328 | 16 | 31,128
| '- activeConnections com.octetstring.vde.DoSManager @ 0xc4c3af88 DoSManager Thread| 160 | 95,736
|- key java.util.HashMap$Entry @ 0xe430c8c8 | 24 | 48
|- key java.util.HashMap$Entry @ 0xe435aad8 | 24 | 48
'- Total: 3 entries | |
------------------------------------------------------------------------------------------------------------------------------------

 

This concludes that the same object from class com.octecstring.vde.DoSManager is helding captive all of above live references, causing the leak.

 

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.