You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by behrica <ca...@efsa.europa.eu> on 2009/02/17 09:42:25 UTC
Stackoverflow running Wicket application on JBOSS cluster
Hi,
I setup our wicket application on a simple JBoss cluster with session
replication.
Doing that I get more or less immediately the following track trace: (I
paste only the upper part, but the same message gets repeated over and over
in the stack trace)
I use wicket 1.3.4, but it's the same with 1.3.5. I did not try yet any of
the 1.4 versions.
JBOSS version is 4.2.2 with JDK 1.5.11
Did somebody has an idea what could be the problem ?
2009-02-16 19:00:46,755 DEBUG
[org.jboss.web.tomcat.service.session.JBossCacheManager] loadSession(): id=
waZCv4eBljwIL84w97q+EA**, session=SessionBasedClusteredSession[id:
waZCv4eBljwIL84w97q+EA** lastAccessedTime: 1234807244931 version: 24
lastOutdated: 0]
2009-02-16 19:00:48,438 ERROR
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/raw-war].[default]]
Servlet.service() for servlet default threw exception
java.lang.StackOverflowError
at java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3361)
at
java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3171)
at java.io.ObjectInputStream.readString(ObjectInputStream.java:1577)
at java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1375)
at java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:634)
at
java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:789)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1534)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:479)
at org.apache.wicket.Component.readObject(Component.java:4228)
at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
at org.apache.wicket.Session.getPage(Session.java:751)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
at org.apache.wicket.Session.getPage(Session.java:751)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
at org.apache.wicket.Session.getPage(Session.java:751)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
at org.apache.wicket.Session.getPage(Session.java:751)
at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
--
View this message in context: http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22052904.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Stackoverflow running Wicket application on JBOSS cluster
Posted by Jeremy Levy <je...@gmail.com>.
I don't know...
If you can repeat this, run it in a debugger and get some data where in
wicket it's actually happening and post it back here so the dev's can
comment.
We were not able to reproduce it reliably enough to get any real data on it.
Jeremy
On Wed, Feb 18, 2009 at 4:22 AM, behrica <ca...@efsa.europa.eu>wrote:
>
> Dear Jeremy,
>
> thanks for the info. Are you sugessting that this is a bug in the Tomcat
> session replication and has nothing to do with Wicket ?
> As I see parts of Wicket code in the stack trace, which handles the page
> serialisation, I was more thinking that it is a problem of Wicket or of
> something in my classes, such as pages having refernces to other pages.
>
> Carsten
>
>
> jelevy wrote:
> >
> > We have seen the same issue with virtually the same set up. You may want
> > to
> > try running it in a profiler and pinpoint directly where it's having an
> > issue.
> >
> > I was able to get it to work if I didn't use <distributable/> in web.xml.
> > But then of course there is no session replication.
> >
> > Tomcat session replication isn't that efficient anyhow especially after
> > you
> > add a couple of different nodes in the cluster.
> >
> > We are looking at using terracotta as a replacement.
> >
> > Jeremy
> >
> > On Tue, Feb 17, 2009 at 3:42 AM, behrica
> > <ca...@efsa.europa.eu>wrote:
> >
> >>
> >> Hi,
> >>
> >> I setup our wicket application on a simple JBoss cluster with session
> >> replication.
> >>
> >> Doing that I get more or less immediately the following track trace: (I
> >> paste only the upper part, but the same message gets repeated over and
> >> over
> >> in the stack trace)
> >>
> >> I use wicket 1.3.4, but it's the same with 1.3.5. I did not try yet any
> >> of
> >> the 1.4 versions.
> >>
> >> JBOSS version is 4.2.2 with JDK 1.5.11
> >>
> >> Did somebody has an idea what could be the problem ?
> >>
> >> 2009-02-16 19:00:46,755 DEBUG
> >> [org.jboss.web.tomcat.service.session.JBossCacheManager] loadSession():
> >> id=
> >> waZCv4eBljwIL84w97q+EA**, session=SessionBasedClusteredSession[id:
> >> waZCv4eBljwIL84w97q+EA** lastAccessedTime: 1234807244931 version: 24
> >> lastOutdated: 0]
> >> 2009-02-16 19:00:48,438 ERROR
> >>
> >>
> [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/raw-war].[default]]
> >> Servlet.service() for servlet default threw exception
> >> java.lang.StackOverflowError
> >> at
> >> java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3361)
> >> at
> >>
> java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3171)
> >> at
> >> java.io.ObjectInputStream.readString(ObjectInputStream.java:1577)
> >> at
> >> java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1375)
> >> at
> >> java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:634)
> >> at
> >>
> java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:789)
> >> at
> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1534)
> >> at
> >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
> >> at
> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
> >> at
> >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:479)
> >> at org.apache.wicket.Component.readObject(Component.java:4228)
> >> at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
> >> at
> >>
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >> at java.lang.reflect.Method.invoke(Method.java:585)
> >> at
> >> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> >> at
> >> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> >> at org.apache.wicket.Session.getPage(Session.java:751)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> >> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
> >> at
> >>
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >> at java.lang.reflect.Method.invoke(Method.java:585)
> >> at
> >> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> >> at
> >> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> >> at org.apache.wicket.Session.getPage(Session.java:751)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> >> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
> >> at
> >>
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >> at java.lang.reflect.Method.invoke(Method.java:585)
> >> at
> >> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> >> at
> >> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> >> at org.apache.wicket.Session.getPage(Session.java:751)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> >> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
> >> at
> >>
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >> at java.lang.reflect.Method.invoke(Method.java:585)
> >> at
> >> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> >> at
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> >> at
> >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> >> at
> >>
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> >> at
> >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> >> at
> >> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> >> at
> >> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> >> at org.apache.wicket.Session.getPage(Session.java:751)
> >> at
> >>
> >>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22052904.html
> >> Sent from the Wicket - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >>
> >>
> >
> >
> > --
> > Jeremy Levy
> >
> > See my location in real-time:
> > http://seemywhere.com/jeremy
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22075044.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
--
Jeremy Levy
See my location in real-time:
http://seemywhere.com/jeremy
Re: Stackoverflow running Wicket application on JBOSS cluster
Posted by behrica <ca...@efsa.europa.eu>.
Dear Jeremy,
thanks for the info. Are you sugessting that this is a bug in the Tomcat
session replication and has nothing to do with Wicket ?
As I see parts of Wicket code in the stack trace, which handles the page
serialisation, I was more thinking that it is a problem of Wicket or of
something in my classes, such as pages having refernces to other pages.
Carsten
jelevy wrote:
>
> We have seen the same issue with virtually the same set up. You may want
> to
> try running it in a profiler and pinpoint directly where it's having an
> issue.
>
> I was able to get it to work if I didn't use <distributable/> in web.xml.
> But then of course there is no session replication.
>
> Tomcat session replication isn't that efficient anyhow especially after
> you
> add a couple of different nodes in the cluster.
>
> We are looking at using terracotta as a replacement.
>
> Jeremy
>
> On Tue, Feb 17, 2009 at 3:42 AM, behrica
> <ca...@efsa.europa.eu>wrote:
>
>>
>> Hi,
>>
>> I setup our wicket application on a simple JBoss cluster with session
>> replication.
>>
>> Doing that I get more or less immediately the following track trace: (I
>> paste only the upper part, but the same message gets repeated over and
>> over
>> in the stack trace)
>>
>> I use wicket 1.3.4, but it's the same with 1.3.5. I did not try yet any
>> of
>> the 1.4 versions.
>>
>> JBOSS version is 4.2.2 with JDK 1.5.11
>>
>> Did somebody has an idea what could be the problem ?
>>
>> 2009-02-16 19:00:46,755 DEBUG
>> [org.jboss.web.tomcat.service.session.JBossCacheManager] loadSession():
>> id=
>> waZCv4eBljwIL84w97q+EA**, session=SessionBasedClusteredSession[id:
>> waZCv4eBljwIL84w97q+EA** lastAccessedTime: 1234807244931 version: 24
>> lastOutdated: 0]
>> 2009-02-16 19:00:48,438 ERROR
>>
>> [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/raw-war].[default]]
>> Servlet.service() for servlet default threw exception
>> java.lang.StackOverflowError
>> at
>> java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3361)
>> at
>> java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3171)
>> at
>> java.io.ObjectInputStream.readString(ObjectInputStream.java:1577)
>> at
>> java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1375)
>> at
>> java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:634)
>> at
>> java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:789)
>> at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1534)
>> at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
>> at
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
>> at
>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:479)
>> at org.apache.wicket.Component.readObject(Component.java:4228)
>> at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
>> at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>> at
>> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
>> at org.apache.wicket.Session.getPage(Session.java:751)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
>> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
>> at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>> at
>> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
>> at org.apache.wicket.Session.getPage(Session.java:751)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
>> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
>> at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>> at
>> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
>> at org.apache.wicket.Session.getPage(Session.java:751)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
>> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
>> at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>> at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>> at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>> at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>> at
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>> at
>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>> at
>> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
>> at
>>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
>> at org.apache.wicket.Session.getPage(Session.java:751)
>> at
>>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
>>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22052904.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
> --
> Jeremy Levy
>
> See my location in real-time:
> http://seemywhere.com/jeremy
>
>
--
View this message in context: http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22075044.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Stackoverflow running Wicket application on JBOSS cluster
Posted by Jeremy Levy <je...@gmail.com>.
We have seen the same issue with virtually the same set up. You may want to
try running it in a profiler and pinpoint directly where it's having an
issue.
I was able to get it to work if I didn't use <distributable/> in web.xml.
But then of course there is no session replication.
Tomcat session replication isn't that efficient anyhow especially after you
add a couple of different nodes in the cluster.
We are looking at using terracotta as a replacement.
Jeremy
On Tue, Feb 17, 2009 at 3:42 AM, behrica <ca...@efsa.europa.eu>wrote:
>
> Hi,
>
> I setup our wicket application on a simple JBoss cluster with session
> replication.
>
> Doing that I get more or less immediately the following track trace: (I
> paste only the upper part, but the same message gets repeated over and over
> in the stack trace)
>
> I use wicket 1.3.4, but it's the same with 1.3.5. I did not try yet any of
> the 1.4 versions.
>
> JBOSS version is 4.2.2 with JDK 1.5.11
>
> Did somebody has an idea what could be the problem ?
>
> 2009-02-16 19:00:46,755 DEBUG
> [org.jboss.web.tomcat.service.session.JBossCacheManager] loadSession(): id=
> waZCv4eBljwIL84w97q+EA**, session=SessionBasedClusteredSession[id:
> waZCv4eBljwIL84w97q+EA** lastAccessedTime: 1234807244931 version: 24
> lastOutdated: 0]
> 2009-02-16 19:00:48,438 ERROR
>
> [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/raw-war].[default]]
> Servlet.service() for servlet default threw exception
> java.lang.StackOverflowError
> at
> java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3361)
> at
> java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3171)
> at java.io.ObjectInputStream.readString(ObjectInputStream.java:1577)
> at
> java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1375)
> at
> java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:634)
> at
> java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:789)
> at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1534)
> at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
> at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
> at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:479)
> at org.apache.wicket.Component.readObject(Component.java:4228)
> at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> at
> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> at org.apache.wicket.Session.getPage(Session.java:751)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> at
> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> at org.apache.wicket.Session.getPage(Session.java:751)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> at
> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> at org.apache.wicket.Session.getPage(Session.java:751)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
> at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
> at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
> at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
> at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
> at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
> at
> org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707)
> at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
> at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296)
> at org.apache.wicket.Session.getPage(Session.java:751)
> at
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363)
>
>
>
> --
> View this message in context:
> http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22052904.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
--
Jeremy Levy
See my location in real-time:
http://seemywhere.com/jeremy