You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Luke Ma <lu...@lukema.net> on 2008/02/16 01:19:07 UTC

PageStore Broken in 1.3.1?

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.


Re: PageStore Broken in 1.3.1?

Posted by Frank Bille <fr...@apache.org>.
I think it's about time.
Frank

On Thu, Mar 6, 2008 at 3:06 PM, Juha Alatalo <ju...@syncrontech.com>
wrote:

> Latest version works, thanks a lot. Is there coming a new release soon?
>
> - Juha
>
> Matej Knopp wrote:
> > There have been fixes to the serialization mechanism, so you might
> > want to check the latest trunk.
> >
> > -Matej
> >
> > On Thu, Mar 6, 2008 at 1:05 PM, Juha Alatalo
> > <ju...@syncrontech.com> wrote:
> >> Main idea was to ask, if Luke Ma already has? Problem occurs in one
> very
> >>  massive page of ours and creating corresponding test case using basic
> >>  wicket components takes time. I am not too enthusiastic to create one
> if
> >>  Luke already has.
> >>
> >>  - Juha
> >>
> >>
> >>
> >>  Johan Compagner wrote:
> >>  > did you make a testcase?
> >>  >
> >>  > On Thu, Mar 6, 2008 at 12:43 PM, Juha Alatalo <
> juha.alatalo@syncrontech.com>
> >>  > wrote:
> >>  >
> >>  >> Anything happened in this case? We have same kind of problems.
> >>  >> Increasing the stack size just makes things work a little bit
> longer.
> >>  >> StackOverflowError occurs only in 1.3.1 not in 1.3.0
> >>  >>
> >>  >> - Juha
> >>  >>
> >>  >> Martijn Dashorst wrote:
> >>  >>> You could increase the stack size of your VM. It is one of the -X
> >>  >>> parameters. It will at least give you a work around if it is a
> bug.
> >>  >>>
> >>  >>> Martijn
> >>  >>>
> >>  >>> On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
> >>  >>>> I can make a quickstart and file a JIRA, but wanted to see if
> anybody
> >>  >> had
> >>  >>>> seen it or could determine if it's an actual bug or something
> >>  >> environmental
> >>  >>>> on my side.
> >>  >>>>
> >>  >>>> Luke
> >>  >>>>
> >>  >>>>
> >>  >>>> Johan Compagner wrote:
> >>  >>>>> Do you have a testcase? Please make a jira issue with it
> >>  >>>>>
> >>  >>>>> On 2/16/08, Luke Ma <lu...@lukema.net> 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<
> http://nabble.com/>
> >>  >> .
> >>  >>>>>>
> >>  >>>> --
> >>  >>>> View this message in context:
> >>  >>
> http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
> >>  >>>> Sent from the Wicket - Dev mailing list archive at Nabble.com<
> http://nabble.com/>
> >>  >> .
> >>  >>>>
> >>  >>>
> >>  >
> >>
> >
> >
> >
>

Re: PageStore Broken in 1.3.1?

Posted by Juha Alatalo <ju...@syncrontech.com>.
Latest version works, thanks a lot. Is there coming a new release soon?

- Juha

Matej Knopp wrote:
> There have been fixes to the serialization mechanism, so you might
> want to check the latest trunk.
> 
> -Matej
> 
> On Thu, Mar 6, 2008 at 1:05 PM, Juha Alatalo
> <ju...@syncrontech.com> wrote:
>> Main idea was to ask, if Luke Ma already has? Problem occurs in one very
>>  massive page of ours and creating corresponding test case using basic
>>  wicket components takes time. I am not too enthusiastic to create one if
>>  Luke already has.
>>
>>  - Juha
>>
>>
>>
>>  Johan Compagner wrote:
>>  > did you make a testcase?
>>  >
>>  > On Thu, Mar 6, 2008 at 12:43 PM, Juha Alatalo <ju...@syncrontech.com>
>>  > wrote:
>>  >
>>  >> Anything happened in this case? We have same kind of problems.
>>  >> Increasing the stack size just makes things work a little bit longer.
>>  >> StackOverflowError occurs only in 1.3.1 not in 1.3.0
>>  >>
>>  >> - Juha
>>  >>
>>  >> Martijn Dashorst wrote:
>>  >>> You could increase the stack size of your VM. It is one of the -X
>>  >>> parameters. It will at least give you a work around if it is a bug.
>>  >>>
>>  >>> Martijn
>>  >>>
>>  >>> On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
>>  >>>> I can make a quickstart and file a JIRA, but wanted to see if anybody
>>  >> had
>>  >>>> seen it or could determine if it's an actual bug or something
>>  >> environmental
>>  >>>> on my side.
>>  >>>>
>>  >>>> Luke
>>  >>>>
>>  >>>>
>>  >>>> Johan Compagner wrote:
>>  >>>>> Do you have a testcase? Please make a jira issue with it
>>  >>>>>
>>  >>>>> On 2/16/08, Luke Ma <lu...@lukema.net> 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<http://nabble.com/>
>>  >> .
>>  >>>>>>
>>  >>>> --
>>  >>>> View this message in context:
>>  >> http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
>>  >>>> Sent from the Wicket - Dev mailing list archive at Nabble.com<http://nabble.com/>
>>  >> .
>>  >>>>
>>  >>>
>>  >
>>
> 
> 
> 

Re: PageStore Broken in 1.3.1?

Posted by Matej Knopp <ma...@gmail.com>.
There have been fixes to the serialization mechanism, so you might
want to check the latest trunk.

-Matej

On Thu, Mar 6, 2008 at 1:05 PM, Juha Alatalo
<ju...@syncrontech.com> wrote:
> Main idea was to ask, if Luke Ma already has? Problem occurs in one very
>  massive page of ours and creating corresponding test case using basic
>  wicket components takes time. I am not too enthusiastic to create one if
>  Luke already has.
>
>  - Juha
>
>
>
>  Johan Compagner wrote:
>  > did you make a testcase?
>  >
>  > On Thu, Mar 6, 2008 at 12:43 PM, Juha Alatalo <ju...@syncrontech.com>
>  > wrote:
>  >
>  >> Anything happened in this case? We have same kind of problems.
>  >> Increasing the stack size just makes things work a little bit longer.
>  >> StackOverflowError occurs only in 1.3.1 not in 1.3.0
>  >>
>  >> - Juha
>  >>
>  >> Martijn Dashorst wrote:
>  >>> You could increase the stack size of your VM. It is one of the -X
>  >>> parameters. It will at least give you a work around if it is a bug.
>  >>>
>  >>> Martijn
>  >>>
>  >>> On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
>  >>>> I can make a quickstart and file a JIRA, but wanted to see if anybody
>  >> had
>  >>>> seen it or could determine if it's an actual bug or something
>  >> environmental
>  >>>> on my side.
>  >>>>
>  >>>> Luke
>  >>>>
>  >>>>
>  >>>> Johan Compagner wrote:
>  >>>>> Do you have a testcase? Please make a jira issue with it
>  >>>>>
>  >>>>> On 2/16/08, Luke Ma <lu...@lukema.net> 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<http://nabble.com/>
>  >> .
>  >>>>>>
>  >>>> --
>  >>>> View this message in context:
>  >> http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
>  >>>> Sent from the Wicket - Dev mailing list archive at Nabble.com<http://nabble.com/>
>  >> .
>  >>>>
>  >>>
>  >
>



-- 
Resizable and reorderable grid components.
http://www.inmethod.com

Re: PageStore Broken in 1.3.1?

Posted by Juha Alatalo <ju...@syncrontech.com>.
Main idea was to ask, if Luke Ma already has? Problem occurs in one very 
massive page of ours and creating corresponding test case using basic 
wicket components takes time. I am not too enthusiastic to create one if 
Luke already has.

- Juha

Johan Compagner wrote:
> did you make a testcase?
> 
> On Thu, Mar 6, 2008 at 12:43 PM, Juha Alatalo <ju...@syncrontech.com>
> wrote:
> 
>> Anything happened in this case? We have same kind of problems.
>> Increasing the stack size just makes things work a little bit longer.
>> StackOverflowError occurs only in 1.3.1 not in 1.3.0
>>
>> - Juha
>>
>> Martijn Dashorst wrote:
>>> You could increase the stack size of your VM. It is one of the -X
>>> parameters. It will at least give you a work around if it is a bug.
>>>
>>> Martijn
>>>
>>> On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
>>>> I can make a quickstart and file a JIRA, but wanted to see if anybody
>> had
>>>> seen it or could determine if it's an actual bug or something
>> environmental
>>>> on my side.
>>>>
>>>> Luke
>>>>
>>>>
>>>> Johan Compagner wrote:
>>>>> Do you have a testcase? Please make a jira issue with it
>>>>>
>>>>> On 2/16/08, Luke Ma <lu...@lukema.net> 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<http://nabble.com/>
>> .
>>>>>>
>>>> --
>>>> View this message in context:
>> http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
>>>> Sent from the Wicket - Dev mailing list archive at Nabble.com<http://nabble.com/>
>> .
>>>>
>>>
> 

Re: PageStore Broken in 1.3.1?

Posted by Johan Compagner <jc...@gmail.com>.
did you make a testcase?

On Thu, Mar 6, 2008 at 12:43 PM, Juha Alatalo <ju...@syncrontech.com>
wrote:

> Anything happened in this case? We have same kind of problems.
> Increasing the stack size just makes things work a little bit longer.
> StackOverflowError occurs only in 1.3.1 not in 1.3.0
>
> - Juha
>
> Martijn Dashorst wrote:
> > You could increase the stack size of your VM. It is one of the -X
> > parameters. It will at least give you a work around if it is a bug.
> >
> > Martijn
> >
> > On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
> >> I can make a quickstart and file a JIRA, but wanted to see if anybody
> had
> >> seen it or could determine if it's an actual bug or something
> environmental
> >> on my side.
> >>
> >> Luke
> >>
> >>
> >> Johan Compagner wrote:
> >>> Do you have a testcase? Please make a jira issue with it
> >>>
> >>> On 2/16/08, Luke Ma <lu...@lukema.net> 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<http://nabble.com/>
> .
> >>>>
> >>>>
> >>>
> >> --
> >> View this message in context:
> http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
> >> Sent from the Wicket - Dev mailing list archive at Nabble.com<http://nabble.com/>
> .
> >>
> >>
> >
> >
>

Re: PageStore Broken in 1.3.1?

Posted by Juha Alatalo <ju...@syncrontech.com>.
Anything happened in this case? We have same kind of problems. 
Increasing the stack size just makes things work a little bit longer. 
StackOverflowError occurs only in 1.3.1 not in 1.3.0

- Juha

Martijn Dashorst wrote:
> You could increase the stack size of your VM. It is one of the -X
> parameters. It will at least give you a work around if it is a bug.
> 
> Martijn
> 
> On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
>> I can make a quickstart and file a JIRA, but wanted to see if anybody had
>> seen it or could determine if it's an actual bug or something environmental
>> on my side.
>>
>> Luke
>>
>>
>> Johan Compagner wrote:
>>> Do you have a testcase? Please make a jira issue with it
>>>
>>> On 2/16/08, Luke Ma <lu...@lukema.net> 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.
>>>>
>>>>
>>>
>> --
>> View this message in context: http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
>> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>>
>>
> 
> 

Re: PageStore Broken in 1.3.1?

Posted by Martijn Dashorst <ma...@gmail.com>.
You could increase the stack size of your VM. It is one of the -X
parameters. It will at least give you a work around if it is a bug.

Martijn

On 2/16/08, Luke Ma <lu...@lukema.net> wrote:
>
> I can make a quickstart and file a JIRA, but wanted to see if anybody had
> seen it or could determine if it's an actual bug or something environmental
> on my side.
>
> Luke
>
>
> Johan Compagner wrote:
> >
> > Do you have a testcase? Please make a jira issue with it
> >
> > On 2/16/08, Luke Ma <lu...@lukema.net> 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.
> >>
> >>
> >
> >
>
> --
> View this message in context: http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>
>


-- 
Buy Wicket in Action: http://manning.com/dashorst
Apache Wicket 1.3.1 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.1

Re: PageStore Broken in 1.3.1?

Posted by Luke Ma <lu...@lukema.net>.
I can make a quickstart and file a JIRA, but wanted to see if anybody had
seen it or could determine if it's an actual bug or something environmental
on my side.

Luke 


Johan Compagner wrote:
> 
> Do you have a testcase? Please make a jira issue with it
> 
> On 2/16/08, Luke Ma <lu...@lukema.net> 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.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/PageStore-Broken-in-1.3.1--tp15513039p15513211.html
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: PageStore Broken in 1.3.1?

Posted by Johan Compagner <jc...@gmail.com>.
Do you have a testcase? Please make a jira issue with it

On 2/16/08, Luke Ma <lu...@lukema.net> 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.
>
>