Out-of-memory Exception
------------------------
Key: JBAS-219
URL: http://jira.jboss.com/jira/browse/JBAS-219
Project: JBoss Application Server
Type: Bug
Reporter: SourceForge User
Assigned to: Scott M Stark
SourceForge Submitter: jsimone .
OS: WinXP Pro
JDK ver: 1.3.1_04-b02
This occurs in Both 3.0.0 final and 3.0.1RC1. Each
iteration creates 10 CMP 2.0 entity beans and returns.
So we get the memory exception after creating about
14,510 entities.
Below is the relevant client code and its result:
int totalPasses = 10000;
for (int pass=1; pass <= totalPasses; pass++) {
// Create a bunch of sample data using the event
manager interface ...
messageBox("CREATE SAMPLE
EVENTS", "Pass "+pass+" of "+totalPasses, " ");
eventIds = eventManager.createSampleEvents(10);
}
[java] ------------------------------------------------------
[java] --- CREATE SAMPLE EVENTS
[java] --- Pass 1451 of 10000
[java] --- Current Time: Sun Jul 28 18:14:18 EDT 2002
[java] ------------------------------------------------------
[java] java.rmi.ServerException: RemoteException
occurred in server thread; nested exception is:
[java] java.rmi.ServerException: null; nested exception
is:
[java] java.lang.OutOfMemoryError
[java] Embedded Exception
[java] null; nested exception is:
[java] java.lang.OutOfMemoryError; nested exception is:
[java] javax.ejb.TransactionRolledbackLocalException:
null; nested exception is:
[java] java.lang.OutOfMemoryError
[java] Embedded Exception
[java] null; nested exception is:
[java] java.lang.OutOfMemoryError
[java] java.rmi.ServerException: null; nested exception
is:
[java] java.lang.OutOfMemoryError
[java] Embedded Exception
[java] null; nested exception is:
[java] java.lang.OutOfMemoryError; nested exception is:
[java] javax.ejb.TransactionRolledbackLocalException:
null; nested exception is:
[java] java.lang.OutOfMemoryError
[java] Embedded Exception
[java] null; nested exception is:
[java] java.lang.OutOfMemoryError
[java] javax.ejb.TransactionRolledbackLocalException:
null; nested exception is:
[java] java.lang.OutOfMemoryError
[java] Embedded Exception
[java] null; nested exception is:
[java] java.lang.OutOfMemoryError
[java] at
sun.rmi.transport.StreamRemoteCall.exceptionReceived
FromServer(StreamRemoteCall.java:240)
[java] at
sun.rmi.transport.StreamRemoteCall.executeCall
(StreamRemoteCall.java:215)
[java] at sun.rmi.server.UnicastRef.invoke
(UnicastRef.java:117)
[java] at
org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invok
e(Unknown Source)
[java] at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.i
nvoke(JRMPInvokerProxy.java:128)
[java] at org.jboss.invocation.InvokerInterceptor.invoke
(InvokerInterceptor.java:108)
[java] at org.jboss.proxy.TransactionInterceptor.invoke
(TransactionInterceptor.java:73)
[java] at org.jboss.proxy.SecurityInterceptor.invoke
(SecurityInterceptor.java:76)
[java] at
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke
(StatelessSessionInterceptor.java:111)
[java] at org.jboss.proxy.ClientContainer.invoke
(ClientContainer.java:76)
[java] at $Proxy1.createSampleEvents(Unknown Source)
[java] at com.highnotes.ebu.client.test.Stress_2.main
(Stress_2.java:91)
[java]
javax.transaction.TransactionRolledbackException: null;
nested exception is:
[java] java.lang.OutOfMemoryError
[java] java.lang.OutOfMemoryError
[java] <<no stack trace available>>
An additional point is that if the entities are immediately
removed after creation, NO memory exception occurs.
In fact, I have had this test case running for almost 36
hours straight with no signs of distress.
Below is the relevant code from the client and its result:
int totalPasses = 10000;
for (int pass=1; pass <= totalPasses; pass++) {
// Create a bunch of sample data using the event
manager interface ...
messageBox("CREATE SAMPLE
EVENTS", "Pass "+pass+" of "+totalPasses, " ");
eventIds = eventManager.createSampleEvents(10);
Iterator iter = eventIds.iterator();
while (iter.hasNext()) {
eventManager.removeEvent((String) iter.next());
}
}
[java] ------------------------------------------------------
[java] --- TEST COMPLETE
[java] --- Pass 10000 of 10000, Total elapsed time: 0
days 0 hrs 26 mins 32 secs
[java] --- Current Time: Sun Jul 28 18:53:08 EDT 2002
[java] ------------------------------------------------------
The session facade has "RequiresNew" as the
transaction attribute and each of the entity bean
methods has "Required".
My expectation is that when the client invokes:
eventIds = eventManager.createSampleEvents(10);
that the createSampleEvents method of the
eventManager Session bean WILL create a new
transaction. Then, that 10 entity beans will be created
under that transaction. Finally, when the
createSampleEvents method returns to the client the
transaction will be complete and a commit will be
performed for the 10 enities created.
I don't see any evidence of this happening.
Shouldn't I be seeing SQL COMMITS in the server.log?
See ref link :
http://www.jboss.org/forums/thread.jsp?
forum=46&thread=18548
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development