You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2015/10/22 09:04:27 UTC

[jira] [Resolved] (WICKET-6009) Massive creation of dynamic classes causes OutOfMemory (PermGen)

     [ https://issues.apache.org/jira/browse/WICKET-6009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov resolved WICKET-6009.
-------------------------------------
    Resolution: Duplicate

> Massive creation of dynamic classes causes OutOfMemory (PermGen)
> ----------------------------------------------------------------
>
>                 Key: WICKET-6009
>                 URL: https://issues.apache.org/jira/browse/WICKET-6009
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-spring
>    Affects Versions: 6.20.0
>         Environment: Glassfish 4.1, Any OS, Any JDK
>            Reporter: Danny Christl
>            Priority: Blocker
>              Labels: performance
>         Attachments: wicket_spring_6_19.PNG, wicket_spring_6_20.PNG
>
>
> After upgrading Wicket from 6.19 to 6.20 we are discovering massive unnecessary creation of CGLIB-Classes. After debugging the issue occurs every time an old page version is requested from PageStore that has an injected (@SpringBean) - member . If this happens a new proxy will be created every time. This leads to permgen waste and in the end to OutOfMemoryErrors and crashes. In 6.19. this error doesn't occur. For reproducing load any older version of a versioned page and a new class is loaded in ClassLoader (WICKET_WICKET_<anyInjectedSpringBean>$$EnhancerByCGLIB...<anyHash>) 
> In the attached screenshots you can see the difference between the two versions in one example (GarageService - a functional, injected service). The behaviour of the images occurs after restarting the Glassfish-server, deploy of the application. After visiting one site, using it and pressing the back button there are multiple GarageServices in the permgen available.
> Before update (6.19):
> !wicket_spring_6_19.PNG!
> After update (6.20):
> !wicket_spring_6_20.PNG!
> Maybe this happens in Wicket 7, too. But currently not checked. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)