Out Of Memory in IBM Websphere 8.5.5.7
<p>I am throwing a question on Out of Memory in IBM Websphere 8.5.5.7....We have an application primarily a Spring RestFull Webservices application deployed in IBM WAS 8.5.5.7. getting the below Out of Memory error for the last 5 days </p>

<pre><code>[2/3/16 13:12:51:651 EST] 000000ab BBFactoryImpl E   CWOBB9999E: Something unexpected happened; the data (if any) is &lt;null&gt; and the exception (if any) is java.lang.OutOfMemoryError: Java heap space at 
com.ibm.oti.vm.VM.getClassNameImpl(Native Method) at 
com.ibm.oti.vm.AbstractClassLoader.getPackageName(AbstractClassLoader.java:384) at 
com.ibm.oti.vm.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:65) at 
java.lang.ClassLoader.loadClassHelper(ClassLoader.java:691) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:680) at 
java.lang.ClassLoader.loadClassHelper(ClassLoader.java:693) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:680) at 
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:663) at 
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:502) at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at 
org.eclipse.osgi.internal.loader.buddy.RegisteredPolicy.loadClass(RegisteredPolicy.java:79) at 
org.eclipse.osgi.internal.loader.buddy.PolicyHandler.doBuddyClassLoading(PolicyHandler.java:135) at 
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494) at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at 
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at 
java.lang.ClassLoader.loadClassHelper(ClassLoader.java:693) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:680) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:663) at 
sun.reflect.DelegatingClassLoader.loadClass(DelegatingClassLoader.java:51) at 
sun.misc.Unsafe.defineClass(Native Method) at 
sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:57) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:437) at 
java.security.AccessController.doPrivileged(AccessController.java:363) at 
sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:433) at 
sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:149) at 
sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:316) at 
java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1409) at 
java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:63) at 
java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:515) at 
java.security.AccessController.doPrivileged(AccessController.java:363) at 
java.io.ObjectStreamClass.&lt;init&gt;(ObjectStreamClass.java:491) at 
java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:338) at 
java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:625) at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1619) at 
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514) at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1619) at 
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514) at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1768) at 
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) at 
java.io.ObjectInputStream.readObject(ObjectInputStream.java:364) at 
com.ibm.son.util.Util.deserialize(Util.java:434) at 
com.ibm.son.mesh.AbstractTCPImpl.procReceivedMessage(AbstractTCPImpl.java:478) at 
com.ibm.son.mesh.CfwTCPImpl.completedRead(CfwTCPImpl.java:1248) at 
com.ibm.son.mesh.CfwTCPImpl.complete(CfwTCPImpl.java:1061) at 
com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818) at 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) at 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at 
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at 
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at 
com.ibm.io.async.ResultHandler.runEventProces
</code></pre>

<p>Analyzed on the Introscope and Heap Analyser for the heap dump  It is observed that consistently the lion share of the memory (>60%) is being consumed by <code>com/ibm/xml/xlxp2/scan/util/SimpleDataBufferFactory</code> used by IBM stax parser with WAS
 Introscope Analysis throws light on  sudden spike in the thread count, memory usage and gradual increase in connection count when the OOM happened.</p>

<p>When checking on the <code>com.ibm.xml.xlxp2.scan.util.Databuffer</code> issue of taking more heapsize , its being seen that IBM has been fixing Out Of Memory Issues for classes belong to com.ibm.xml.xlxp.scan.util/com.ibm.xml.xlxp2.scan.util in WAS 6, WAS 7 and WAS 8 servers.</p>

<p><a href="http://www-01.ibm.com/support/docview.wss?uid=swg1PM39346" rel="nofollow">http://www-01.ibm.com/support/docview.wss?uid=swg1PM39346</a>
<a href="http://www-01.ibm.com/support/docview.wss?uid=swg1PM08333" rel="nofollow">http://www-01.ibm.com/support/docview.wss?uid=swg1PM08333</a></p>

<p>Can anyone share any idea whether this an issue with IBM WAS 8.5.5.7...could not get a solid break</p>