You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ivano Luberti <lu...@archicoop.it> on 2016/04/15 12:34:30 UTC

(solved ?) tapestry 4.1.6 and pergmen question

I write this so it goes on web archives and maybe (even though is not
probabile) one day someone will find it useful.

The solution is to avoid this

https://wiki.apache.org/tapestry/EasyBrowserRedirection

never raise that exception.
Instead use

PageRedirectException

in case you want to pass parameters to the page put them in the session
and remove them in rendering phase of the page you are redirecting to

finally be sure PageRedirectException also in the the page you are
redirecting to because it will not be trapped an Tapestry Exception page
will be showed.



---------------------------------------

It seems I have found the glitch.
Following this suggestion

https://wiki.apache.org/tapestry/EasyBrowserRedirection

I had implented redirection in a pageBeginRender method (I'm talking
about T 4.1.6, sorry about that)

Now it seems that when the excpetion is raised PermGen occupation is
increased.

It seems there is a difference with this regard raising the exception in
a listener instead that in pageBeginrender.

Anyone feels its memory activated on this?






Il 07/04/2016 17:37, Kalle Korhonen ha scritto:
> On Thu, Apr 7, 2016 at 12:33 AM, Ivano Luberti <lu...@archicoop.it> wrote:
>
>> Kalle, Chris, thanks for your answers.
>> Unfortunately the problem is not related to webapp reloading even
>> restarting the Tomcat service leads to out of PermGen in a few days,
>> PermGen itself is quite large and I already use UseConcMarkSweepGC. Down
>> The cause of the space consumption seems to be the presence of a lot of
>> classes of this type
>> org.apache.tapestry.enhance.ClassFactoryClassLoader
>>
> That's a symptom, not a cause.
>
>
>> It seems that the more request the application serves the more PermGen
>> increases and that's led me to think that the page pool is never cleaned up
>> or at least not well cleanedup.
>>
> Most likely, you have a permgen memory leak. Are you using streams and/or
> threads on your pages and are they properly closed, even in case of
> exceptions? I can't tell you how many memory leaks I've plugged over the
> years in thread and stream handling. Invariably, the errors are in your own
> code. See https://plumbr.eu/blog/memory-leaks/what-is-a-permgen-leak for
> possible causes for a permgen memory leak. Also, you are in luck because
> Tomcat 6 added some useful tools for detecting memory leaks (see
> http://wiki.apache.org/tomcat/MemoryLeakProtection, and Tomcat 7 and up is
> even able to recover from some of them). Take a heap dump of the stressed
> out system and load it in your VisualVM.
>
> Kalle
>
>
>
>> Il 06/04/2016 23:24, Kalle Korhonen ha scritto:
>>> If you run out of permgen space very quickly, then it's indicative that
>> the
>>> allocated permgen space is simply too small. Perhaps the new version of
>>> Tomcat requires more of it for itself, leaving less for your application.
>>> Is the webapp restarted at times? If so, that can easily cause permgen
>>> space to fill up because of the way OGNL works. And even if you are not
>>> restarting the app, you need to exercise all parts of your web
>> application
>>> to find out the true permgen space consumption of it.
>>>
>>> Kalle
>>>
>>> On Wed, Apr 6, 2016 at 1:49 PM, Ivano Luberti <lu...@archicoop.it>
>> wrote:
>>>> Hey Tony, if you don't mind, can you send me all the configuration
>>>> options of Java and Tomcat you are using? So tomcat6.conf and server.xml
>>>> files?
>>>>
>>>> No one else on the list can share its thoughts?
>>>>
>>>> Il 05/04/2016 23:03, Ivano Luberti ha scritto:
>>>>> Hi Tony thanks for the quick answer:
>>>>>
>>>>> Il 05/04/2016 21:50, Tony Nelson ha scritto:
>>>>>> I still have a Tapestry 4 app running with Tomcat 6.0.41, and it runs
>>>> well enough with:
>>>>>> -XX:MaxPermSize=1024m
>>>>> with that setting it fails but...
>>>>>> I also have
>>>>>>
>>>>>> -Xmx12g -Xms4g -XX:+UsseConcMarkSweepGC -XX:+UseParNewGC
>>>>> I have only  -Xmx2g
>>>>>
>>>>> I use
>>>>>
>>>>> -XX:+UseConcMarkSweepGC
>>>>>
>>>>> but not
>>>>>
>>>>> -XX:+UseParNewGC
>>>>>
>>>>>
>>>>> but this last one doesn't seem to have an influence on PermGen, does
>> it?
>>>>>
>>>> --
>>>> ==================================================
>>>> dott. Ivano Mario Luberti
>>>> Archimede Informatica societa' cooperativa a r. l.
>>>> Sede Operativa
>>>> Via Gereschi 36 - 56126- Pisa
>>>> tel.: +39-050- 580959
>>>> tel/fax: +39-050-8932061
>>>> web: www.archicoop.it
>>>> ==================================================
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>> --
>> ==================================================
>> dott. Ivano Mario Luberti
>> Archimede Informatica societa' cooperativa a r. l.
>> Sede Operativa
>> Via Gereschi 36 - 56126- Pisa
>> tel.: +39-050- 580959
>> tel/fax: +39-050-8932061
>> web: www.archicoop.it
>> ==================================================
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>

-- 
==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-8932061
web: www.archicoop.it
==================================================



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org