[jboss-jira] [JBoss JIRA] Resolved: (JBAS-3849) Duplicating _$$_javassist_ classes after remote - call - OutOfMemory: PermGen
Steve Ebersole (JIRA)
jira-events at jboss.com
Thu Nov 16 17:54:43 EST 2006
[ http://jira.jboss.com/jira/browse/JBAS-3849?page=all ]
Steve Ebersole resolved JBAS-3849.
----------------------------------
Resolution: Done
I just finished uploading Hibernate 3.2.1.GA to the repository.
Javassist 3.4 as also been uploaded.
> Duplicating _$$_javassist_ classes after remote - call - OutOfMemory: PermGen
> -----------------------------------------------------------------------------
>
> Key: JBAS-3849
> URL: http://jira.jboss.com/jira/browse/JBAS-3849
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Remoting
> Affects Versions: JBossAS-4.0.4.CR2, JBossAS-4.0.5.CR1, JBossAS-4.0.5.GA, JBossAS-4.0.4.GA
> Environment:
> « Hide
> Linux Gentoo 2.6.18, JVM 1.5.0.08, 1.5.0.09, amd64
> RedHat Linux EE 4.0. JVM 1.5.0.09, intel
> Windows XP, JVM 1.5.0.09, intel
> Reporter: Piotr Tabor
> Assigned To: Steve Ebersole
> Priority: Critical
> Fix For: JBossAS-5.0.0.Beta1, JBossAS-4.2.0.CR1, JBossAS-4.0.5.SP1
>
> Attachments: leaktest.zip.zip
>
>
> A simple test (Books/Users) to reproduce the problem.
> beantestclient - a simple test client application (runnable: com.newitech.beantest.ejb.Client)
> beantest - simple EJB 3 beans.
> ==========================================================
> ANOTHER EXAMPLE AND IDEA OF BUG
> PermGen in EJB3 client aplication by remote interface.
> The application is as sample as it can be:
> -get remote interface of stateless EJB3 (by JNDI)
> - ask 1000 times to get a Collection (List) of 10 EntityBeans.
> After 255 there is OutOfMemory: PermGen.
> JVM options changes nothing (eventualy more PermSpace => longer run).
> The reason looks like the Javassist create lazyinitializer classes for every EntityBean retrived from the server.
> So: When I debug on server-side, I got before sending Entity to client:
> I got:
> myEntity[0].id=143534
> myEntity[0].flow=<FlowEntity_$$_javassist_7> 13434
> ...
> myEntity[0].user=<UserEntity_$$_javassist_15>...
> myEntity[0].stage=<StageEntity_$$_javassist_17>...
> And every remote call the class names (name)_$..._javassist_(index) got the same
> indexes (7,15,17) on server side (end every entity in returned collections of entities)
> But when I debug on client site - after return from remote call - the indexes of
> all returned entities are different (Each next increments index).
> So after first call I got:
> myEntity[0].id=143534
> myEntity[0].flow=<FlowEntity_$$_javassist_0>...
> ...
> myEntity[0].user=<UserEntity_$$_javassist_1>...
> myEntity[0].stage=<StageEntity_$$_javassist_2>...
> ...
> myEntity[1].id=143534
> myEntity[1].flow=<FlowEntity_$$_javassist_3>
> ...
> myEntity[1].user=<UserEntity_$$_javassist_4>...
> myEntity[1].stage=<StageEntity_$$_javassist_5>...
> ...
> After secund call:
> myEntity[0].id=143534
> myEntity[0].flow=<FlowEntity_$$_javassist_6>...
> ...
> myEntity[0].user=<UserEntity_$$_javassist_7>...
> myEntity[0].stage=<StageEntity_$$_javassist_8>...
> ...
> myEntity[1].id=143534
> myEntity[1].flow=<FlowEntity_$$_javassist_9>
> ...
> myEntity[1].user=<UserEntity_$$_javassist_10>...
> myEntity[1].stage=<StageEntity_$$_javassist_11>...
> ...
> And so on... ... and permGen after 260 iterations...
--
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list