Bruno,

I'm working on reproducing it, it did not happen during any of our testing.
I'm working on modifying our scripts so that we can reproduce it locally.

My gut is that it's related to deserializng a replicated value in the
session.   I'm thinking of disabling clustering in tomcat and restarting our
app, (without session replication).  Just so we have the other node running.

J



On Mon, Dec 8, 2008 at 1:57 PM, Bruno Cesar Borges <[EMAIL PROTECTED]
> wrote:

> Jeremy, could you please try to debug and see which class Wicket is trying
> to resolve at class IObjectStreamFactory, line 70?
>
>
> org.apache.wicket.util.io.IObjectStreamFactory$1.resolveClass(IObjectStreamFactory.java:70)
>
> Thanks,
> Bruno
>
> -----Original Message-----
> From: Jeremy Levy [mailto:[EMAIL PROTECTED]
> Sent: Monday, December 08, 2008 4:02 PM
> To: users@wicket.apache.org
> Subject: Clustering Problems / java.lang.StackOverflowError
>
>
> We have recently moved our application over to using clustering, we are
> running JBoss 4.2.3 with Tomcat 6 bundled using two nodes.  After a few
> seconds with both nodes active and receiving traffic we start to see
> StackOverFlow exceptions.  They don't originate from within our code and
> I'm
> a bit at a loss of how to troubleshoot this.   Any help is appreciated.
>
> java.lang.StackOverflowError
>        at
>
> EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.hash(ConcurrentReaderHashMap.java:299)
>        at
>
> EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(ConcurrentReaderHashMap.java:411)
>        at
>
> org.jboss.mx.loading.UnifiedLoaderRepository3.getCachedClass(UnifiedLoaderRepository3.java:222)
>        at
>
> org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:403)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>        at java.lang.Class.forName0(Native Method)
>        at java.lang.Class.forName(Class.java:247)
>        at
> java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
>        at
>
> org.apache.wicket.util.io.IObjectStreamFactory$1.resolveClass(IObjectStreamFactory.java:70)
>        at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
>        at
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
>        at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>        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:706)
>        at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1230)
>        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.GeneratedMethodAccessor123.invoke(Unknown Source)
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
>        at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>        at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>        at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>        at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>        at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>        at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>        at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>        at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>        at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>        at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>        at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>        at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>        at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>        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:706)
>        at
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1230)
>        at
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228)
>
> The full stack trace just repeats this more or less.
>
> J
>
> ***************************************************************************************************
> "Atenção: Esta mensagem foi enviada para uso exclusivo do(s)
> destinatários(s) acima identificado(s),
> podendo conter informações e/ou documentos confidencias/privilegiados e seu
> sigilo é protegido por
> lei. Caso você tenha recebido por engano, por favor, informe o remetente e
> apague-a de seu sistema.
> Notificamos que é proibido por lei a sua retenção, disseminação,
> distribuição, cópia ou uso sem
> expressa autorização do remetente. Opiniões pessoais do remetente não
> refletem, necessariamente,
> o ponto de vista da CETIP, o qual é divulgado somente por pessoas
> autorizadas."
>
>
> "Warning: This message was sent for exclusive use of the addressees above
> identified, possibly
> containing information and or privileged/confidential documents whose
> content is protected by law.
> In case you have mistakenly received it, please notify the sender and
> delete it from your system.
> Be noticed that the law forbids the retention, dissemination, distribution,
> copy or use without
> express authorization from the sender. Personal opinions of the sender do
> not necessarily reflect
> CETIP's point of view, which is only divulged by authorized personnel."
>
> ***************************************************************************************************
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Jeremy Levy

See my location in real-time:
http://seemywhere.com/jeremy

Right now we are paying a $2,500 referral fee for any full-time hire we make
and keep for 90 days.  We're looking for Java Developers and Marketers with
Internet marketing experience.   You can earn this fee if your referral
leads directly to us hiring one of these people.  Call or email me for
details.

Reply via email to