Quantcast

possible memory problem regarding ServiceTracker?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

possible memory problem regarding ServiceTracker?

Peter Hermsdorf-2
Hi all,

recently I had an OutOfMemory on one of our app servers which is
connected to some 150 rcp clients via ecf.
In the memory dump (1GB heap) I recognized about 437000 ServiceTracker
instances which, from my point of view, seems too many.

Local testing with a profiler showed, that the application server
creates 11 instances of ServiceTracker for each client "connect". After
closing the Client these instances stay there - they do not seem to get
closed / garbage collected.

In Production the application server is running for a long time and
clients come and go the whole day so this could sum up.

Please see below for the stacktraces of the ServiceTracker creation when
one client connects.

Thanks for any hints or thoughts about this problem.

Best regards, Peter

PS: our setup
* we use the generic provider
* server exports / client imports 3 remote services


******* created 23681044
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainerGroup.readConnectRequestMessage(SOContainerGroup.java:87)
     at
org.eclipse.ecf.provider.generic.SOContainerGroup.handleAccept(SOContainerGroup.java:104)
     at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:96)
     at java.lang.Thread.run(Thread.java:745)
******* created 33227769
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 1588972
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
     at
org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
     at
org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 8301198
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 23539477
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
     at
org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
     at
org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 28666476
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 24957018
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
     at
org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
     at
org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 21093621
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 6684209
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
     at
org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
     at
org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 32530145
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)
******* created 86212
java.lang.Exception
     at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
     at
org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
     at
org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
     at
org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
     at
org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
     at
org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
     at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
     at
org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
     at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
     at java.lang.Thread.run(Thread.java:745)


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: possible memory problem regarding ServiceTracker?

Scott Lewis-2
Hi Peter,

This was a bug having to do with the use of the class resolver....never
calling ServiceTracker.close.  I can't remember the bug right now but I
will look it up later and reply to this email.   In any event, it has
been fixed in more recent versions.   Which version are you on?

Thanks,

Scott


On 5/26/2016 3:10 AM, Peter Hermsdorf wrote:

> Hi all,
>
> recently I had an OutOfMemory on one of our app servers which is
> connected to some 150 rcp clients via ecf.
> In the memory dump (1GB heap) I recognized about 437000 ServiceTracker
> instances which, from my point of view, seems too many.
>
> Local testing with a profiler showed, that the application server
> creates 11 instances of ServiceTracker for each client "connect".
> After closing the Client these instances stay there - they do not seem
> to get closed / garbage collected.
>
> In Production the application server is running for a long time and
> clients come and go the whole day so this could sum up.
>
> Please see below for the stacktraces of the ServiceTracker creation
> when one client connects.
>
> Thanks for any hints or thoughts about this problem.
>
> Best regards, Peter
>
> PS: our setup
> * we use the generic provider
> * server exports / client imports 3 remote services
>
>
> ******* created 23681044
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainerGroup.readConnectRequestMessage(SOContainerGroup.java:87)
>     at
> org.eclipse.ecf.provider.generic.SOContainerGroup.handleAccept(SOContainerGroup.java:104)
>     at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:96)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 33227769
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 1588972
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 8301198
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 23539477
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 28666476
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 24957018
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 21093621
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 6684209
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 32530145
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
> ******* created 86212
> java.lang.Exception
>     at
> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>     at
> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>     at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>     at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>     at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>     at
> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>     at
> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>     at
> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>     at java.lang.Thread.run(Thread.java:745)
>
>
> _______________________________________________
> ecf-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: possible memory problem regarding ServiceTracker?

Scott Lewis-2
Here's the bug:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=488045

Fixed in ECF 3.13+

Scott


On 5/26/2016 7:08 AM, Scott Lewis wrote:

> Hi Peter,
>
> This was a bug having to do with the use of the class
> resolver....never calling ServiceTracker.close.  I can't remember the
> bug right now but I will look it up later and reply to this email.  
> In any event, it has been fixed in more recent versions.   Which
> version are you on?
>
> Thanks,
>
> Scott
>
>
> On 5/26/2016 3:10 AM, Peter Hermsdorf wrote:
>> Hi all,
>>
>> recently I had an OutOfMemory on one of our app servers which is
>> connected to some 150 rcp clients via ecf.
>> In the memory dump (1GB heap) I recognized about 437000
>> ServiceTracker instances which, from my point of view, seems too many.
>>
>> Local testing with a profiler showed, that the application server
>> creates 11 instances of ServiceTracker for each client "connect".
>> After closing the Client these instances stay there - they do not
>> seem to get closed / garbage collected.
>>
>> In Production the application server is running for a long time and
>> clients come and go the whole day so this could sum up.
>>
>> Please see below for the stacktraces of the ServiceTracker creation
>> when one client connects.
>>
>> Thanks for any hints or thoughts about this problem.
>>
>> Best regards, Peter
>>
>> PS: our setup
>> * we use the generic provider
>> * server exports / client imports 3 remote services
>>
>>
>> ******* created 23681044
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainerGroup.readConnectRequestMessage(SOContainerGroup.java:87)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainerGroup.handleAccept(SOContainerGroup.java:104)
>>     at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:96)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 33227769
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 1588972
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 8301198
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 23539477
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 28666476
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 24957018
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 21093621
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 6684209
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 32530145
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>> ******* created 86212
>> java.lang.Exception
>>     at
>> org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
>>     at
>> org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
>>     at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
>>     at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>>     at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>     at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
>>     at
>> org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
>>     at
>> org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
>>     at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
>>     at java.lang.Thread.run(Thread.java:745)
>>
>>
>> _______________________________________________
>> ecf-dev mailing list
>> [hidden email]
>> To change your delivery options, retrieve your password, or
>> unsubscribe from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/ecf-dev
>
>
> _______________________________________________
> ecf-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: possible memory problem regarding ServiceTracker?

Peter Hermsdorf-2
Thanks for the information Scott!

We are currently using ECF 3.12 (from Mars release), so I will give the new version a try.

Bye, Peter

Am 26.05.2016 um 18:24 schrieb Scott Lewis:
Here's the bug:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=488045

Fixed in ECF 3.13+

Scott


On 5/26/2016 7:08 AM, Scott Lewis wrote:
Hi Peter,

This was a bug having to do with the use of the class resolver....never calling ServiceTracker.close.  I can't remember the bug right now but I will look it up later and reply to this email.   In any event, it has been fixed in more recent versions.   Which version are you on?

Thanks,

Scott


On 5/26/2016 3:10 AM, Peter Hermsdorf wrote:
Hi all,

recently I had an OutOfMemory on one of our app servers which is connected to some 150 rcp clients via ecf.
In the memory dump (1GB heap) I recognized about 437000 ServiceTracker instances which, from my point of view, seems too many.

Local testing with a profiler showed, that the application server creates 11 instances of ServiceTracker for each client "connect". After closing the Client these instances stay there - they do not seem to get closed / garbage collected.

In Production the application server is running for a long time and clients come and go the whole day so this could sum up.

Please see below for the stacktraces of the ServiceTracker creation when one client connects.

Thanks for any hints or thoughts about this problem.

Best regards, Peter

PS: our setup
* we use the generic provider
* server exports / client imports 3 remote services


******* created 23681044
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainerGroup.readConnectRequestMessage(SOContainerGroup.java:87)
    at org.eclipse.ecf.provider.generic.SOContainerGroup.handleAccept(SOContainerGroup.java:104)
    at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:96)
    at java.lang.Thread.run(Thread.java:745)
******* created 33227769
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 1588972
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 8301198
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 23539477
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 28666476
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 24957018
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 21093621
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 6684209
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 32530145
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 86212
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev

--
Mit freundlichen Grüßen,
Peter Hermsdorf

 

 

GODYO Business Solutions AG
Prüssingstraße 35
07745 Jena

Peter Hermsdorf
Senior Software Developer

E-Mail: [hidden email]
Telefon: +49 3641 287-0
Telefax: +49 3641 287-287
Internet: www.godyo-p4.de

signatur

GODYO Business Solutions AG, Prüssingstraße 35, 07745 Jena,
Vorstand: Hans-Uwe Schramm, Aufsichtsratsvorsitzender:
Dirk Waltje,
Amtsgericht Jena HRB 502 129

Diese E-Mail ist vertraulich. Wenn Sie nicht der vorgesehene Empfänger sind, verwenden Sie bitte keine Inhalte dieser E-Mail und leiten sie diese auch nicht weiter. Wenn Sie fälschlicherweise diese E-Mail bekommen haben, informieren Sie uns bitte umgehend und löschen dieses Dokument.

This e-mail is confidential. If you are not the intended recipient, please do not disclose or use the contents of the e-mail. If you have erroneously received this e-mail, please inform us immediately by return e-mail and delete the document.

_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: possible memory problem regarding ServiceTracker?

Peter Hermsdorf-2
In reply to this post by Scott Lewis-2
the upgrade fixed the problem

thanks again!

Am 26.05.2016 um 18:24 schrieb Scott Lewis:
Here's the bug:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=488045

Fixed in ECF 3.13+

Scott


On 5/26/2016 7:08 AM, Scott Lewis wrote:
Hi Peter,

This was a bug having to do with the use of the class resolver....never calling ServiceTracker.close.  I can't remember the bug right now but I will look it up later and reply to this email.   In any event, it has been fixed in more recent versions.   Which version are you on?

Thanks,

Scott


On 5/26/2016 3:10 AM, Peter Hermsdorf wrote:
Hi all,

recently I had an OutOfMemory on one of our app servers which is connected to some 150 rcp clients via ecf.
In the memory dump (1GB heap) I recognized about 437000 ServiceTracker instances which, from my point of view, seems too many.

Local testing with a profiler showed, that the application server creates 11 instances of ServiceTracker for each client "connect". After closing the Client these instances stay there - they do not seem to get closed / garbage collected.

In Production the application server is running for a long time and clients come and go the whole day so this could sum up.

Please see below for the stacktraces of the ServiceTracker creation when one client connects.

Thanks for any hints or thoughts about this problem.

Best regards, Peter

PS: our setup
* we use the generic provider
* server exports / client imports 3 remote services


******* created 23681044
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainerGroup.readConnectRequestMessage(SOContainerGroup.java:87)
    at org.eclipse.ecf.provider.generic.SOContainerGroup.handleAccept(SOContainerGroup.java:104)
    at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:96)
    at java.lang.Thread.run(Thread.java:745)
******* created 33227769
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 1588972
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 8301198
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 23539477
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 28666476
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 24957018
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 21093621
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 6684209
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 32530145
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeContainerMessage(SOContainer.java:530)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:868)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)
******* created 86212
java.lang.Exception
    at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:214)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.getClassResolver(ClassResolverObjectInputStream.java:88)
    at org.eclipse.ecf.core.util.ClassResolverObjectInputStream.resolveClass(ClassResolverObjectInputStream.java:98)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.eclipse.ecf.provider.generic.SOContainer.defaultDeserializeSharedObjectMessage(SOContainer.java:1009)
    at org.eclipse.ecf.provider.generic.SOContainer$1.deserializeMessage(SOContainer.java:163)
    at org.eclipse.ecf.provider.generic.SOContainer.deserializeSharedObjectMessage(SOContainer.java:1041)
    at org.eclipse.ecf.provider.generic.SOContainer.handleSharedObjectMessage(SOContainer.java:710)
    at org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:885)
    at org.eclipse.ecf.provider.generic.SOContainer$2.handleAsynchEvent(SOContainer.java:206)
    at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:383)
    at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:356)
    at java.lang.Thread.run(Thread.java:745)


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev

--
Mit freundlichen Grüßen,
Peter Hermsdorf

 

 

GODYO Business Solutions AG
Prüssingstraße 35
07745 Jena

Peter Hermsdorf
Senior Software Developer

E-Mail: [hidden email]
Telefon: +49 3641 287-0
Telefax: +49 3641 287-287
Internet: www.godyo-p4.de

signatur

GODYO Business Solutions AG, Prüssingstraße 35, 07745 Jena,
Vorstand: Hans-Uwe Schramm, Aufsichtsratsvorsitzender:
Dirk Waltje,
Amtsgericht Jena HRB 502 129

Diese E-Mail ist vertraulich. Wenn Sie nicht der vorgesehene Empfänger sind, verwenden Sie bitte keine Inhalte dieser E-Mail und leiten sie diese auch nicht weiter. Wenn Sie fälschlicherweise diese E-Mail bekommen haben, informieren Sie uns bitte umgehend und löschen dieses Dokument.

This e-mail is confidential. If you are not the intended recipient, please do not disclose or use the contents of the e-mail. If you have erroneously received this e-mail, please inform us immediately by return e-mail and delete the document.

_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Loading...