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/05 21:43:38 UTC

tapestry 4.1.6 and pergmen question

I know I know, please don't shoot the pianist.
I have an old application written using Tapestry 4.1.6 and I can't get
the budget to rewrite in Tapestry 5.
(BTW I have already and succesfully used Tapestry 5, so I know what I'm
loosing here)
The application run without issues for years on a CentOS+Tomcat 5.5+Java
6 combination but recently  I had to move it to a new server where I
have CentOS+Tomcat 6+Java 6.

Suddenly the application started to quickly run out of memory with the
dreadful PermGen Out Of Meory Error.

I got an heap dump  in an hprof file and found that there thousands
instances of

org.apache.tapestry.enhance.ClassFactoryClassLoader

still alive

Does anyone have any clue of permanent generation memory issues with
Tapestry 4 and Tomcat 6 ?

TIA


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


Re: tapestry 4.1.6 and pergmen question

Posted by Chris Poulsen <ma...@nesluop.dk>.
You could try "CMSClassUnloadingEnabled" to see if that helps

-- 
Chris

On Wed, Apr 6, 2016 at 11:24 PM, Kalle Korhonen <ka...@gmail.com>
wrote:

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

Re: tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
Thanks Kalle, I know the links you suggest, but I was exlcuding my code
because it has not been chaned much from the one on the old server....

Anyway I will keep on investigating, I have no other choice.

Thanks anyway

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


(solved ?) tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
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


Re: tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
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


Re: tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
Thanks Kalle, I know the links you suggest, but I was exlcuding my code
because it has not been chaned much from the one on the old server....

Anyway I will keep on investigating, I have no other choice.

Thanks anyway

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


Re: tapestry 4.1.6 and pergmen question

Posted by Kalle Korhonen <ka...@gmail.com>.
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
>
>

Re: tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
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
here you can read the java settings :


-Djava.awt.headless=true -Dfile.encoding=ISO-8859-1 -Xms512m -Xmx2048m
-XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/tomcat6 -XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled


The cause of the space consumption seems to be the presence of a lot of
classes of this type

org.apache.tapestry.enhance.ClassFactoryClassLoader

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.








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


Re: tapestry 4.1.6 and pergmen question

Posted by Kalle Korhonen <ka...@gmail.com>.
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
>
>

Re: tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
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


Re: tapestry 4.1.6 and pergmen question

Posted by Ivano Luberti <lu...@archicoop.it>.
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


RE: tapestry 4.1.6 and pergmen question

Posted by Tony Nelson <tn...@starpoint.com>.
I still have a Tapestry 4 app running with Tomcat 6.0.41, and it runs well enough with:

-XX:MaxPermSize=1024m

I also have

-Xmx12g -Xms4g -XX:+UsseConcMarkSweepGC -XX:+UseParNewGC

But those may not be of interest to you.

Hope that helps
Tony

> -----Original Message-----
> From: Ivano Luberti [mailto:luberti@archicoop.it]
> Sent: Tuesday, April 05, 2016 3:44 PM
> To: Tapestry users
> Subject: tapestry 4.1.6 and pergmen question
>
> I know I know, please don't shoot the pianist.
> I have an old application written using Tapestry 4.1.6 and I can't get the
> budget to rewrite in Tapestry 5.
> (BTW I have already and succesfully used Tapestry 5, so I know what I'm
> loosing here) The application run without issues for years on a
> CentOS+Tomcat 5.5+Java
> 6 combination but recently  I had to move it to a new server where I have
> CentOS+Tomcat 6+Java 6.
>
> Suddenly the application started to quickly run out of memory with the
> dreadful PermGen Out Of Meory Error.
>
> I got an heap dump  in an hprof file and found that there thousands instances
> of
>
> org.apache.tapestry.enhance.ClassFactoryClassLoader
>
> still alive
>
> Does anyone have any clue of permanent generation memory issues with
> Tapestry 4 and Tomcat 6 ?
>
> TIA
>
>
> --
> ==================================================
> 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


Since 1982, Starpoint Solutions has been a trusted source of human capital and solutions. We are committed to our clients, employees, environment, community and social concerns.  We foster an inclusive culture based on trust, respect, honesty and solid performance. Learn more about Starpoint and our social responsibility at http://www.starpoint.com/social_responsibility

This email message from Starpoint Solutions LLC is for the sole use of  the intended recipient(s) and may contain confidential and privileged  information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.  Opinions, conclusions and other information in this message that do not relate to the official business of Starpoint Solutions shall be understood as neither given nor endorsed by it.

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