Do you have a testcase? Please make a jira issue with it

On 2/16/08, Luke Ma <[EMAIL PROTECTED]> wrote:
>
> I think Wicket 1.3.1 introduced a bug in the PageStore.  I get a stack
> overflow with behaviors such as:
>
>    * Click on a link and then click on a second link (on the same page)
> before the first one finishes processing.
>    * On Firefox, click on a link to a page, then click back to go back to
> the first page, then click on any link.
>    * In IE, click on some links, click the back button.
>
> Stack trace below.  Maybe somebody familiar with the bowels of Wicket
> PageStore can take a quick look to see if this is a bug?
>
> java.lang.StackOverflowError
>  java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2264)
>
> java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2672)
>
> java.io.ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2696)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1934)
>  java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
>  java.util.ArrayList.readObject(ArrayList.java:585)
>  sun.reflect.GeneratedMethodAccessor324.invoke(Unknown Source)
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  java.lang.reflect.Method.invoke(Method.java:597)
>  java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>  java.util.ArrayList.readObject(ArrayList.java:593)
>  sun.reflect.GeneratedMethodAccessor324.invoke(Unknown Source)
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  java.lang.reflect.Method.invoke(Method.java:597)
>  java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>  java.util.ArrayList.readObject(ArrayList.java:593)
>  sun.reflect.GeneratedMethodAccessor324.invoke(Unknown Source)
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  java.lang.reflect.Method.invoke(Method.java:597)
>  java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
>  java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>  java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>  java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>  org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:392)
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228)
>
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:702)
>
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:311)
>  org.apache.wicket.Session.getPage(Session.java:745)
>
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:354)
> --
> View this message in context:
> http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513039.html
> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>
>

Reply via email to