[jboss-jira] [JBoss JIRA] Closed: (JASSIST-30) Memory Leak - failure to clean up javassisst instances after EJB3 remote calls
Shigeru Chiba (JIRA)
jira-events at lists.jboss.org
Thu Jul 17 04:31:58 EDT 2008
[ https://jira.jboss.org/jira/browse/JASSIST-30?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shigeru Chiba closed JASSIST-30.
--------------------------------
> Memory Leak - failure to clean up javassisst instances after EJB3 remote calls
> ------------------------------------------------------------------------------
>
> Key: JASSIST-30
> URL: https://jira.jboss.org/jira/browse/JASSIST-30
> Project: Javassist
> Issue Type: Bug
> Environment: JBoss 4.0.4.GA, Windows Xp
> JBoss 4.0.4.GA, LInux (Debian)
> JBoss 4.0.4.GA, Solaris
> Reporter: Grant Quimby
> Assignee: Shigeru Chiba
> Priority: Blocker
>
> Quote from related JIRA issue EJBTHREE-736
> 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: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list