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.