as i said, what i have shown you is an oversimplification. certainly
you can try to load the wicket app first, in reality classes are
loaded lazily. so load the wicket app first, use it for a bit to make
sure it loads whatever classes it needs, then deploy the first and
second ears. that should most likely make it crap out when you start
using the last ear's app...

-igor


On Feb 12, 2008 2:03 PM, Vincenzo Vitale <[EMAIL PROTECTED]> wrote:
> It means that if I want to "porove" that Wicket is not the problem, we can
> try to load Wicket as the first application and then the others. Should the
> problem arise always on the last deployed application?
>
>
> V.
>
>
> On Feb 12, 2008 10:53 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>
> > not, this has nothing to do with load. look, your jvm has a preset
> > permgen limit where bytecode is stored. lets say that permgen is
> > allocated 60 megs, and all these numbers are arbitrary.
> >
> > first jboss loads all its jars, which arbitrarily takes 30mb. so after
> > jboss is loaded you have 30mb permgen left.
> >
> > then you deploy the first ear that loads all its jars that take up 15
> > megs, now you have 30 jboss+15 ear = 15 megs left in permgen
> >
> > then you load your second ear whose jars take up 10 megs, so now you
> > only have 5 megs left in your permgen.
> >
> > then you try to load wicket whose jars need more then 5 megs, so you
> > get an out of permgen error.
> >
> > this is a gross simplification, but basically what happens.
> >
> > permgen is called perm(anent) so it is not cleaned up, once something
> > is loaded it sticks.
> >
> > so really it has nothing to do with load, it has to do with the number
> > of classes you try to load into that jvm. the more libs you use the
> > more different classes are loaded, the more space you need.
> >
> > -igor
> >
> > On Feb 12, 2008 1:17 PM, Vincenzo Vitale <[EMAIL PROTECTED]>
> > wrote:
> > > Hi Igor,
> > >
> > > thanks for your fast answer (as usual)!!!
> > >
> > > So this also means that it's the high load on the bigger applications
> > which
> > > is causing that *only* the smallest (and less used) Wicket app has at
> > the
> > > moment the problem. Do you agree?
> > >
> > > We will try to monitor the usage by all the application deployed. I
> > don't
> > > know if Jboss has already something with this value available (ideally
> > an
> > > Mbean).
> > >
> > >
> > > Ciao,
> > > V.
> > >
> > >
> > > On Feb 12, 2008 7:18 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > >
> > > > this memory space is shared by all libs in the vm. so maybe your ears
> > > > are taking up a ton of space and only a small amount is left to the
> > > > wicket app...its just not the right way to look at the problem. this
> > > > is not heap space which is allocated for runtime stuff, this is the
> > > > space used by VM to hold bytecode for classes...it doesnt matter how
> > > > small the app is or what load it is under...
> > > >
> > > > -igor
> > > >
> > > >
> > > > On Feb 12, 2008 3:27 AM, Vincenzo Vitale <[EMAIL PROTECTED]>
> > > > wrote:
> > > > > Hi Johan,
> > > > >
> > > > > we proposed the increased memory solution to our IT department but
> > the
> > > > > answer was:
> > > > >
> > > > > " Why this problem is occurring only with the small application
> > using
> > > > > Wicket?".
> > > > >
> > > > > We have three ears deployed on the same Jboss instance. One is using
> > > > Spring
> > > > > MVC, one CXF and the admin module is using Wicket.
> > > > > Actually the admin module is used by only one person when the other
> > ones
> > > > > have a high load.
> > > > > We are using wicket.1.3.0-beta2 and the wicketstuff-dojo (1.3.0-dojo
> > ).
> > > > >
> > > > > We actually cannot reproduce the problem in an easy way and IT is
> > not
> > > > sure
> > > > > if it's caused by how we are using Wicket.
> > > > >
> > > > >
> > > > > Have you any glue or suggestions on that?
> > > > >
> > > > >
> > > > >
> > > > > Thanks,
> > > > > Vincenzo.
> > > > >
> > > > > On Feb 4, 2008 12:34 PM, Johan Compagner <[EMAIL PROTECTED]>
> > wrote:
> > > > >
> > > > >
> > > > > > Its not a normal out of mem but a Perm generation out of mem..
> > > > > > increase your perm space
> > > > > > -XX:MaxPermSize=128M (sun jvms, 128MB or give it more)
> > > > > >
> > > > > > these kind of out of mems seems to be hitten java the most.
> > > > > > Sun should really fix this somehow and make the perm space much
> > more
> > > > > > flexable...
> > > > > > (that it is a shared size with the normal heap for example)
> > > > > >
> > > > > > johan
> > > > > >
> > > > > >
> > > > > > On Feb 4, 2008 12:24 PM, Vincenzo Vitale <
> > [EMAIL PROTECTED]>
> > > > > > wrote:
> > > > > >
> > > > > > > We are using Wicket in our Admin console and sometimes an
> > > > OutOfMemory
> > > > > > > problem occurs.
> > > > > > >
> > > > > > > Have you ever experienced such a problem?
> > > > > > >
> > > > > > > Here the stacktrace:
> > > > > > >
> > > > > > > 2008-02-01 09:19:04,460 [FilePageSerializingThread-Admin] ERROR
> > > > STDERR -
> > > > > > > Exception in thread "FilePageSerializingThread-Admin"
> > > > > > > 2008-02-01 09:19:04,460 [FilePageSerializingThread-Admin] ERROR
> > > > STDERR -
> > > > > > > java.lang.OutOfMemoryError: PermGen space
> > > > > > > 2008-02-01 09:48:40,189 [TP-Processor1] ERROR
> > > > > > > org.apache.catalina.core.ContainerBase.[jboss.web
> > > > > > > ].[localhost].[/admin].[default]
> > > > > > > - Servlet.service() for servl
> > > > > > > et default threw exception
> > > > > > > java.lang.OutOfMemoryError: PermGen space
> > > > > > > 2008-02-01 09:49:48,847 [TP-Processor24] ERROR
> > > > > > > org.apache.catalina.core.ContainerBase.[jboss.web
> > > > > > > ].[localhost].[/admin].[default]
> > > > > > > - Servlet.service() for serv
> > > > > > > let default threw exception
> > > > > > > java.lang.OutOfMemoryError: PermGen space
> > > > > > > 2008-02-01 09:53:49,550 [TP-Processor31] ERROR
> > > > > > > org.apache.wicket.RequestCycle -
> > > > > > > java.lang.NullPointerException
> > > > > > >        at java.io.FilterInputStream.close(FilterInputStream.java
> > > > :159)
> > > > > > >        at
> > > > > > >
> > sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream.close
> > > > > > > (JarURLConnection.java:88)
> > > > > > >        at org.apache.wicket.Response.write(Response.java:323)
> > > > > > >        at
> > > > > > >
> > > > > > >
> > > > > >
> > > >
> > org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.respond
> > > > > > > (ResourceStreamRequestTarget.java:127)
> > > > > > >        at
> > > > > > org.apache.wicket.request.AbstractRequestCycleProcessor.respond(
> > > > > > > AbstractRequestCycleProcessor.java:103)
> > > > > > >        at org.apache.wicket.RequestCycle.respond(
> > RequestCycle.java
> > > > :1046)
> > > > > > >        at org.apache.wicket.RequestCycle.step(RequestCycle.java
> > > > :1112)
> > > > > > >        at org.apache.wicket.RequestCycle.steps(RequestCycle.java
> > > > :1176)
> > > > > > >        at org.apache.wicket.RequestCycle.request(
> > RequestCycle.java
> > > > :499)
> > > > > > >        at org.apache.wicket.protocol.http.WicketFilter.doGet(
> > > > > > > WicketFilter.java:257)
> > > > > > >        at org.apache.wicket.protocol.http.WicketFilter.doFilter(
> > > > > > > WicketFilter.java:138)
> > > > > > >        at
> > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > > > > > > (
> > > > > > > ApplicationFilterChain.java:202)
> > > > > > >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > > > > ApplicationFilterChain.java:173)
> > > > > > >        at
> > > > > > >
> > > > > > >
> > > > > >
> > > >
> > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal
> > > > > > > (OpenSessionInViewFilter.java:198)
> > > > > > >        at
> > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(
> > > > > > > OncePerRequestFilter.java:75)
> > > > > > >        at
> > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > > > > > > (
> > > > > > > ApplicationFilterChain.java:202)
> > > > > > >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > > > > ApplicationFilterChain.java:173)
> > > > > > >        at
> > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(
> > > > > > > ReplyHeaderFilter.java:96)
> > > > > > >        at
> > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > > > > > > (
> > > > > > > ApplicationFilterChain.java:202)
> > > > > > >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > > > > ApplicationFilterChain.java:173)
> > > > > > >        at org.apache.catalina.core.StandardWrapperValve.invoke(
> > > > > > > StandardWrapperValve.java:213)
> > > > > > >        at org.apache.catalina.core.StandardContextValve.invoke(
> > > > > > > StandardContextValve.java:178)
> > > > > > >        at
> > > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
> > > > > > > SecurityAssociationValve.java:175)
> > > > > > >        at org.jboss.web.tomcat.security.JaccContextValve.invoke(
> > > > > > > JaccContextValve.java:74)
> > > > > > >        at org.apache.catalina.core.StandardHostValve.invoke(
> > > > > > > StandardHostValve.java:126)
> > > > > > >        at org.apache.catalina.valves.ErrorReportValve.invoke(
> > > > > > > ErrorReportValve.java:105)
> > > > > > >        at org.apache.catalina.core.StandardEngineValve.invoke(
> > > > > > > StandardEngineValve.java:107)
> > > > > > >        at org.apache.catalina.connector.CoyoteAdapter.service(
> > > > > > > CoyoteAdapter.java:148)
> > > > > > >        at org.apache.jk.server.JkCoyoteHandler.invoke(
> > > > > > JkCoyoteHandler.java
> > > > > > > :199)
> > > > > > >        at org.apache.jk.common.HandlerRequest.invoke(
> > > > HandlerRequest.java
> > > > > > > :282)
> > > > > > >        at org.apache.jk.common.ChannelSocket.invoke(
> > > > ChannelSocket.java
> > > > > > > :754)
> > > > > > >        at org.apache.jk.common.ChannelSocket.processConnection(
> > > > > > > ChannelSocket.java:684)
> > > > > > >        at
> > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(
> > > > > > > ChannelSocket.java:876)
> > > > > > >        at
> > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > > > > > > ThreadPool.java:684)
> > > > > > >        at java.lang.Thread.run(Thread.java:595)
> > > > > > > 2008-02-01 09:53:49,551 [TP-Processor31] ERROR
> > > > > > > org.apache.catalina.core.ContainerBase.[jboss.web
> > > > > > > ].[localhost].[/admin].[default]
> > > > > > > - Servlet.service() for serv
> > > > > > > let default threw exception
> > > > > > > java.lang.IllegalStateException: getOutputStream() has already
> > been
> > > > > > called
> > > > > > > for this response
> > > > > > >        at org.apache.catalina.connector.Response.getWriter(
> > > > Response.java
> > > > > > > :599)
> > > > > > >        at org.apache.catalina.connector.ResponseFacade.getWriter
> > (
> > > > > > > ResponseFacade.java:195)
> > > > > > >        at org.apache.wicket.protocol.http.WebResponse.write(
> > > > > > > WebResponse.java:338)
> > > > > > >        at
> > org.apache.wicket.protocol.http.BufferedWebResponse.close(
> > > > > > > BufferedWebResponse.java:74)
> > > > > > >        at org.apache.wicket.protocol.http.WicketFilter.doGet(
> > > > > > > WicketFilter.java:267)
> > > > > > >        at org.apache.wicket.protocol.http.WicketFilter.doFilter(
> > > > > > > WicketFilter.java:138)
> > > > > > >        at
> > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > > > > > > (
> > > > > > > ApplicationFilterChain.java:202)
> > > > > > >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > > > > ApplicationFilterChain.java:173)
> > > > > > >        at
> > > > > > >
> > > > > > >
> > > > > >
> > > >
> > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal
> > > > > > > (OpenSessionInViewFilter.java:198)
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Thanks in advance,
> > > > > > > Vicio.
> > > > > > >
> > > > > >
> > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to