You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Russell Morrisey <Ru...@missionse.com> on 2011/04/01 21:15:07 UTC
ModalWindow detach/serialize crashes wicket app
Guys,
I'm having an intermittent issue in development where use of a ModalWindow on a page completely crashes wicket.
I don't know of the ModalWindow is the root cause. I am hoping that someone with intimate knowledge of wicket's page store can help me narrow it down. Hints appreciated. =)
The "X" button and other ajax controls within the ModalWindow's content page stop responding to user input. When I try to hit the same bookmarkable URL again for the containing page, wicket seems to have stopped running entirely, and I get a Tomcat HTTP 404 error.
The JVM outputs a StackOverflowError which looks like it happens during page serialization.
Apr 1, 2011 2:53:14 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
java.lang.StackOverflowError
The two blocks below occur multiple times, each, within a single trace:
...
at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.prepareForSerialization(DiskPageStore.java:1190)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.writeObject(SecondLevelCacheSessionStore.java:386)
...
at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:288)
at org.apache.wicket.Page.writeReplace(Page.java:1383)
In our application's init() method, we have this setting:
Objects.setObjectStreamFactory(null); // jdk serialization
I have tried to reproduce the problem in a quickstart; but, I have not had much luck, so far.
We don't really have any custom code in our app that deals with object serialization. Any help would be appreciated. We are currently using wicket 1.4.9; if you guys think this might be fixed in a later version, we'd be happy to upgrade. I searched briefly through the JIRA, and nothing popped out at me.
________________________________
RUSSELL E. MORRISEY
Programmer Analyst Professional
Mission Solutions Engineering, LLC
| Russell.Morrisey@missionse.com | www.missionse.com<http://www.missionse.com/>
304 West Route 38, Moorestown, NJ 08057-3212
________________________________
This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind MSE to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
RE: ModalWindow detach/serialize crashes wicket app
Posted by Russell Morrisey <Ru...@missionse.com>.
Clint, Pedro,
Thank you both for your replies. Based on your comments, and from looking at a heap dump, I am thinking the problem may stem from an inner class created by our app's wicket Session. I have made the inner class static, so that it will no longer hold a reference to the Session. The inner class is a model which loads a reference to a User object.
Any hints on how to reproduce the problem, so I can prove it? I'm not clear on what triggers the serialization process that causes the error to be thrown.
RUSSELL E. MORRISEY
Programmer Analyst Professional
Mission Solutions Engineering, LLC
| Russell.Morrisey@missionse.com | www.missionse.com
304 West Route 38, Moorestown, NJ 08057-3212
-----Original Message-----
From: Clint Checketts [mailto:checketts@gmail.com]
Sent: Friday, April 01, 2011 7:06 PM
To: users@wicket.apache.org
Subject: Re: ModalWindow detach/serialize crashes wicket app
Do you have a propetymodel with the session as its object?
On Friday, April 1, 2011, Pedro Santos <pe...@gmail.com> wrote:
> looks like your page is referencing session or pagemap somehow
>
> On Fri, Apr 1, 2011 at 4:15 PM, Russell Morrisey <
> Russell.Morrisey@missionse.com> wrote:
>
>> Guys,
>>
>> I'm having an intermittent issue in development where use of a ModalWindow
>> on a page completely crashes wicket.
>>
>> I don't know of the ModalWindow is the root cause. I am hoping that someone
>> with intimate knowledge of wicket's page store can help me narrow it down.
>> Hints appreciated. =)
>>
>> The "X" button and other ajax controls within the ModalWindow's content
>> page stop responding to user input. When I try to hit the same bookmarkable
>> URL again for the containing page, wicket seems to have stopped running
>> entirely, and I get a Tomcat HTTP 404 error.
>>
>> The JVM outputs a StackOverflowError which looks like it happens during
>> page serialization.
>> Apr 1, 2011 2:53:14 PM org.apache.catalina.core.StandardWrapperValve invoke
>> SEVERE: Servlet.service() for servlet default threw exception
>> java.lang.StackOverflowError
>> The two blocks below occur multiple times, each, within a single trace:
>> ...
>> at
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
>> at
>> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
>> at
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
>> at
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.prepareForSerialization(DiskPageStore.java:1190)
>> at
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.writeObject(SecondLevelCacheSessionStore.java:386)
>> ...
>> at
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
>> at
>> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
>> at
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:288)
>> at org.apache.wicket.Page.writeReplace(Page.java:1383)
>>
>> In our application's init() method, we have this setting:
>>
>> Objects.setObjectStreamFactory(null); // jdk serialization
>>
>> I have tried to reproduce the problem in a quickstart; but, I have not had
>> much luck, so far.
>>
>> We don't really have any custom code in our app that deals with object
>> serialization. Any help would be appreciated. We are currently using wicket
>> 1.4.9; if you guys think this might be fixed in a later version, we'd be
>> happy to upgrade. I searched briefly through the JIRA, and nothing popped
>> out at me.
>>
>> ________________________________
>>
>> RUSSELL E. MORRISEY
>> Programmer Analyst Professional
>> Mission Solutions Engineering, LLC
>>
>> | Russell.Morrisey@missionse.com | www.missionse.com<
>> http://www.missionse.com/>
>> 304 West Route 38, Moorestown, NJ 08057-3212
>>
>>
>> ________________________________
>> This is a PRIVATE message. If you are not the intended recipient, please
>> delete without copying and kindly advise us by e-mail of the mistake in
>> delivery.
>> NOTE: Regardless of content, this e-mail shall not operate to bind MSE to
>> any order or other contract unless pursuant to explicit written agreement or
>> government initiative expressly permitting the use of e-mail for such
>> purpose.
>>
>
>
>
> --
> Pedro Henrique Oliveira dos Santos
>
This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind MSE to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: ModalWindow detach/serialize crashes wicket app
Posted by Clint Checketts <ch...@gmail.com>.
Do you have a propetymodel with the session as its object?
On Friday, April 1, 2011, Pedro Santos <pe...@gmail.com> wrote:
> looks like your page is referencing session or pagemap somehow
>
> On Fri, Apr 1, 2011 at 4:15 PM, Russell Morrisey <
> Russell.Morrisey@missionse.com> wrote:
>
>> Guys,
>>
>> I'm having an intermittent issue in development where use of a ModalWindow
>> on a page completely crashes wicket.
>>
>> I don't know of the ModalWindow is the root cause. I am hoping that someone
>> with intimate knowledge of wicket's page store can help me narrow it down.
>> Hints appreciated. =)
>>
>> The "X" button and other ajax controls within the ModalWindow's content
>> page stop responding to user input. When I try to hit the same bookmarkable
>> URL again for the containing page, wicket seems to have stopped running
>> entirely, and I get a Tomcat HTTP 404 error.
>>
>> The JVM outputs a StackOverflowError which looks like it happens during
>> page serialization.
>> Apr 1, 2011 2:53:14 PM org.apache.catalina.core.StandardWrapperValve invoke
>> SEVERE: Servlet.service() for servlet default threw exception
>> java.lang.StackOverflowError
>> The two blocks below occur multiple times, each, within a single trace:
>> ...
>> at
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
>> at
>> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
>> at
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
>> at
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.prepareForSerialization(DiskPageStore.java:1190)
>> at
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.writeObject(SecondLevelCacheSessionStore.java:386)
>> ...
>> at
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
>> at
>> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
>> at
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:288)
>> at org.apache.wicket.Page.writeReplace(Page.java:1383)
>>
>> In our application's init() method, we have this setting:
>>
>> Objects.setObjectStreamFactory(null); // jdk serialization
>>
>> I have tried to reproduce the problem in a quickstart; but, I have not had
>> much luck, so far.
>>
>> We don't really have any custom code in our app that deals with object
>> serialization. Any help would be appreciated. We are currently using wicket
>> 1.4.9; if you guys think this might be fixed in a later version, we'd be
>> happy to upgrade. I searched briefly through the JIRA, and nothing popped
>> out at me.
>>
>> ________________________________
>>
>> RUSSELL E. MORRISEY
>> Programmer Analyst Professional
>> Mission Solutions Engineering, LLC
>>
>> | Russell.Morrisey@missionse.com | www.missionse.com<
>> http://www.missionse.com/>
>> 304 West Route 38, Moorestown, NJ 08057-3212
>>
>>
>> ________________________________
>> This is a PRIVATE message. If you are not the intended recipient, please
>> delete without copying and kindly advise us by e-mail of the mistake in
>> delivery.
>> NOTE: Regardless of content, this e-mail shall not operate to bind MSE to
>> any order or other contract unless pursuant to explicit written agreement or
>> government initiative expressly permitting the use of e-mail for such
>> purpose.
>>
>
>
>
> --
> Pedro Henrique Oliveira dos Santos
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: ModalWindow detach/serialize crashes wicket app
Posted by Pedro Santos <pe...@gmail.com>.
looks like your page is referencing session or pagemap somehow
On Fri, Apr 1, 2011 at 4:15 PM, Russell Morrisey <
Russell.Morrisey@missionse.com> wrote:
> Guys,
>
> I'm having an intermittent issue in development where use of a ModalWindow
> on a page completely crashes wicket.
>
> I don't know of the ModalWindow is the root cause. I am hoping that someone
> with intimate knowledge of wicket's page store can help me narrow it down.
> Hints appreciated. =)
>
> The "X" button and other ajax controls within the ModalWindow's content
> page stop responding to user input. When I try to hit the same bookmarkable
> URL again for the containing page, wicket seems to have stopped running
> entirely, and I get a Tomcat HTTP 404 error.
>
> The JVM outputs a StackOverflowError which looks like it happens during
> page serialization.
> Apr 1, 2011 2:53:14 PM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet default threw exception
> java.lang.StackOverflowError
> The two blocks below occur multiple times, each, within a single trace:
> ...
> at
> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
> at
> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
> at
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
> at
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.prepareForSerialization(DiskPageStore.java:1190)
> at
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.writeObject(SecondLevelCacheSessionStore.java:386)
> ...
> at
> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
> at
> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1130)
> at
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:288)
> at org.apache.wicket.Page.writeReplace(Page.java:1383)
>
> In our application's init() method, we have this setting:
>
> Objects.setObjectStreamFactory(null); // jdk serialization
>
> I have tried to reproduce the problem in a quickstart; but, I have not had
> much luck, so far.
>
> We don't really have any custom code in our app that deals with object
> serialization. Any help would be appreciated. We are currently using wicket
> 1.4.9; if you guys think this might be fixed in a later version, we'd be
> happy to upgrade. I searched briefly through the JIRA, and nothing popped
> out at me.
>
> ________________________________
>
> RUSSELL E. MORRISEY
> Programmer Analyst Professional
> Mission Solutions Engineering, LLC
>
> | Russell.Morrisey@missionse.com | www.missionse.com<
> http://www.missionse.com/>
> 304 West Route 38, Moorestown, NJ 08057-3212
>
>
> ________________________________
> This is a PRIVATE message. If you are not the intended recipient, please
> delete without copying and kindly advise us by e-mail of the mistake in
> delivery.
> NOTE: Regardless of content, this e-mail shall not operate to bind MSE to
> any order or other contract unless pursuant to explicit written agreement or
> government initiative expressly permitting the use of e-mail for such
> purpose.
>
--
Pedro Henrique Oliveira dos Santos