Re: Out of memory error in Notification Service...

Michael Rumpf <[email protected]> 23 Sep 2002 16:58:29 +0200
Newsgroups gmane.comp.corba.openorb.devel
Message-ID <1032793109.1128.46.camel@pc-mrumpf>
--=-7dlLJ/Wuv71x5T1lyxrj
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

This is a dead forum. Please use the facilities described on
http://openorb.sf.net (openorb-users mailing-list) for any further
discussion. And please do not use HTML mail, tell your email client to
send ASCII only.

On Mon, 2002-09-23 at 16:08, Min Lu wrote:
> First of all, we are still using OpenORB-1.1.0, TransactionService-1.1.0,
> PersistentStateService-1.1.0
> And NotificationService-1.0.1.  Here is what I remember I did:
> 
> We first find out NotificationService is leaking memory even when there is
> no
> activities between consumer and suplier. Someone told even just have it sits
> there
> For a couple of weeks, it will ran out of memory.
> 
> I still don't understand all the details of this, but found of one line in
> /PersistentStateService-1.1.0/src/main/org/openorb/pss/connector/memory/Memo
> ryWrapper.java
> 
> private void map_factories( org.openorb.pss.compiler.reflect.psdlStorageHome
> sh, java.io.PrintWriter file )
> {
> ....
> // Min Lu        		file.println("\t\tregister_type_incarnation(
> obj );");			
> }
> 
> After commenting this, the leak seemed to stop. Maybe the structured was not
> properly uninitialized?
> With this one line change, our are able to flood the ChannelServer with
> millions of events without seeing
> "Out of Memory" exception.

Maybe Steve can tell us what the line you commented out is good for...!?

Attached you can find the diff for the change you are proposing. Shawn,
did you find such a memory leak while using the Notification Service or
has this been fixed in the NotificationService?

Cheers,
   Michael


--=-7dlLJ/Wuv71x5T1lyxrj
Content-Disposition: attachment; filename=MemoryWrapper.java.diff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=ISO-8859-1

? MemoryWrapper.java.diff
Index: MemoryWrapper.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/openorb/PersistentStateService/src/main/org/openorb/pss/=
connector/memory/MemoryWrapper.java,v
retrieving revision 1.4
diff -u -r1.4 MemoryWrapper.java
--- MemoryWrapper.java	21 Aug 2002 08:22:06 -0000	1.4
+++ MemoryWrapper.java	23 Sep 2002 14:52:05 -0000
@@ -1208,7 +1208,8 @@
=20
             file.println( " ) ((org.openorb.pss.connector.memory.MemoryCat=
alogBase)_catalog).create_object( this, \"" + sh.managed().idlID() + "\" );=
" );
=20
-            file.println( "\t\tregister_type_incarnation( obj );" );
+            // TODO: This has been identified to cause memory leaks, but i=
sn't the call necessary for anything...!?
+            //file.println( "\t\tregister_type_incarnation( obj );" );
=20
             enum =3D factories[ i ].content();
=20

--=-7dlLJ/Wuv71x5T1lyxrj--

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of:
	unsubscribe openorb-dev