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

[jira] [Updated] (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 ]

Danny Christl updated WICKET-6009:
----------------------------------
    Attachment: wicket_spring_6_20.PNG
                wicket_spring_6_19.PNG

Classloader difference betweeen 6.19. and 6.20

> 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>) 



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