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