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

| [email protected] | 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.

Reply via email to