Memory leak with XAP.NET 10.2
I have a windows console application that uses gigaspaces XAP.NET 10.2 to make some scheduled stuff with data stored in space. I've got a problem after a long period of time - about 1-2 days - nonstop running of that app it crashes with strange error.
My code is something like this:
var newProxy = GigaSpacesFactory.FindSpace(_url);
var query = proxy.Query<T>().Where(x => x.SomeLongValue < DateTime.UtcNow.AddSeconds(-60).Ticks));
ret = proxy.Read<T>(query.ToSpaceQuery(), SpaceTransactionContext.CurrentTransaction, timeout);
Exception is here:
GigaSpaces.Core Java heap space at GigaSpaces.Core.Internal.Pbs.PbsExceptionFormatter.CheckException(PbsInputStream input, DispatcherObjectProxy proxy) at GigaSpaces.Core.Internal.Pbs.Commands.PbsDispatcher.Execute(PbsOutputStream output, DispatcherObjectProxy proxy) at GigaSpaces.Core.Internal.Pbs.Commands.ISpaceProxy.PbsISpaceProxyRead.ExecuteT at GigaSpaces.Core.Internal.SpaceProxy.AbstractSpaceProxyInternal.ReadT at GigaSpaces.Core.Internal.SpaceProxy.ReadOnlySpaceProxy.ReadT Offer.cs:line 42 InnerException: Java heap space java.lang.Class.getDeclaredMethods0(Native Method) java.lang.Class.privateGetDeclaredMethods(Class.java:2451) java.lang.Class.getDeclaredMethod(Class.java:1954) java.io.ObjectStreamClass.getInheritableMethod(ObjectStreamClass.java:1378) java.io.ObjectStreamClass.access$2200(ObjectStreamClass.java:69) java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:491) java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:455) java.security.AccessController.doPrivileged(Native Method) java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:455) java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:352) java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:589) java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620) java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515) java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620) java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515) java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769) java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348) java.io.ObjectInputStream.readUnshared(ObjectInputStream.java:460) com.gigaspaces.lrmi.nio.ReplyPacket.readExternal(ReplyPacket.java:81) com.gigaspaces.lrmi.nio.Reader.unmarshall(Reader.java:601) com.gigaspaces.lrmi.nio.Reader.bytesToPacket(Reader.java:591) com.gigaspaces.lrmi.nio.Reader.readReply(Reader.java:159) com.gigaspaces.lrmi.nio.CPeer.invoke(CPeer.java:769) com.gigaspaces.lrmi.ConnPoolInvocationHandler.invoke(ConnPoolInvocationHandler.java:75) com.gigaspaces.lrmi.MethodCachedInvocationHandler.invoke(MethodCachedInvocationHandler.java:71) com.gigaspaces.lrmi.DynamicSmartStub.invokeRemote(DynamicSmartStub.java:424) com.gigaspaces.lrmi.DynamicSmartStub.invoke(DynamicSmartStub.java:405) com.gigaspaces.reflect.$GSProxy2.executeOperation(Unknown Source) com.gigaspaces.internal.lrmi.stubs.LRMISpaceImpl.executeOperation(LRMISpaceImpl.java:850) com.gigaspaces.internal.remoting.routing.clustered.RemoteOperationsExecutorProxy.execute(RemoteOperationsExecutorProxy.java:52) com.gigaspaces.internal.remoting.routing.clustered.ClusterRemoteOperationRouter.executeImpl(ClusterRemoteOperationRouter.java:87) com.gigaspaces.internal.remoting.routing.clustered.ClusterRemoteOperationRouter.execute(ClusterRemoteOperationRouter.java:49) ..
I've checked everything several times with different -Xmx JVM settings, but it still the question of time when it crashes.