Re: Out of memory error in Notification Service...
Shawn Boyce <[email protected]> Mon, 23 Sep 2002 11:51:10 -0400
| Newsgroups | gmane.comp.corba.openorb.devel |
|---|---|
| Organization | QCOM Inc. |
| Message-ID | <[email protected]> |
Michael Rumpf wrote:
>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?
>
>
I recall that a memory leak related to the PSS was found and fixed
awhile ago.
This was not an idle time leak but a leak that occurred when sending events.
The fix was made in the Notification Service to release PSS events
in ConsumerProxyQueue.java.
>Cheers,
> Michael
>
>
>
>------------------------------------------------------------------------
>
>? MemoryWrapper.java.diff
>Index: MemoryWrapper.java
>===================================================================
>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 @@
>
> file.println( " ) ((org.openorb.pss.connector.memory.MemoryCatalogBase)_catalog).create_object( this, \"" + sh.managed().idlID() + "\" );" );
>
>- file.println( "\t\tregister_type_incarnation( obj );" );
>+ // TODO: This has been identified to cause memory leaks, but isn't the call necessary for anything...!?
>+ //file.println( "\t\tregister_type_incarnation( obj );" );
>
> enum = factories[ i ].content();
>
>
>
--
Shawn Boyce
QCOM, Inc.
Quality Software is Our Business
http://www.qcominc.com
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of:
unsubscribe openorb-dev