You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2014/05/20 22:18:40 UTC

[jira] [Resolved] (WICKET-5584) DiskDataStore error

     [ https://issues.apache.org/jira/browse/WICKET-5584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov resolved WICKET-5584.
-------------------------------------

    Resolution: Cannot Reproduce

I cannot reproduce the issue with plain quickstart, Tomcat 7.0.52 and current 7.0.0-SNAPSHOT.

I guess the issue at your side is caused by active Tomcat persistent sessions. You have created the sessions with a quickstart using Wicket 6.x and then after redeploy you try to restore the sessions with Wicket 7.x.
If persistent sessions is not active then Tomcat would invalidate the http sessions and Wicket will clean the disk data store.

If you can reproduce it with a fresh Tomcat installation and a quickstart app then please comment here with the steps to reproduce and we will reopen the ticket.

Thanks!

> DiskDataStore error
> -------------------
>
>                 Key: WICKET-5584
>                 URL: https://issues.apache.org/jira/browse/WICKET-5584
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.0.0-M1
>         Environment: Tomcat 7.0.41
>            Reporter: Sebastien Briquet
>
> Hi,
> I was experiencing runtime exception(s) with tomcat 7 (not with jetty), with a simple quickstart (nothing special in the quickstart).
> I had these errors when I start (or restart) the server and reach the homepage. One time the first error, next time the second error, etc.
> I am not sure how I can reproduce this outside my dev env (eclipse + tomcat)... Also, to be honest, it does not repro today (tried both M1 & SNAPSHOT) but... I have seen same errors while testing at work (tomcat 7.0.23).
> Please find bellow the 2 stacktraces:
> * Exception #1
> INFO: Server startup in 959 ms
> Exception in thread "Wicket-PageSavingThread" java.lang.NullPointerException
>     at org.apache.wicket.util.collections.IntHashMap.put(IntHashMap.java:303)
>     at org.apache.wicket.pageStore.PageWindowManager.putWindowIndex(PageWindowManager.java:97)
>     at org.apache.wicket.pageStore.PageWindowManager.createPageWindow(PageWindowManager.java:396)
>     at org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(DiskDataStore.java:348)
>     at org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.java:188)
>     at org.apache.wicket.pageStore.AsynchronousDataStore$PageSavingRunnable.run(AsynchronousDataStore.java:355)
>     at java.lang.Thread.run(Thread.java:744)
> * Exception #2
> INFO: Server startup in 929 ms
> ERROR - DiskDataStore              - Couldn't load DiskDataStore index from file /opt/apache-tomcat/work/Catalina/localhost/myproject/wicket.myproject-filestore/DiskDataStoreIndex.
> java.io.EOFException
>     at java.io.DataInputStream.readInt(DataInputStream.java:392)
>     at java.io.ObjectInputStream$BlockDataInputStream.readInt(ObjectInputStream.java:2820)
>     at java.io.ObjectInputStream.readInt(ObjectInputStream.java:971)
>     at org.apache.wicket.util.collections.IntHashMap.readObject(IntHashMap.java:1163)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)
>     at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at java.util.HashMap.readObject(HashMap.java:1184)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)
>     at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>     at org.apache.wicket.pageStore.DiskDataStore.loadIndex(DiskDataStore.java:226)
>     at org.apache.wicket.pageStore.DiskDataStore.<init>(DiskDataStore.java:83)
>     at org.apache.wicket.DefaultPageManagerProvider.newDataStore(DefaultPageManagerProvider.java:85)
>     at org.apache.wicket.DefaultPageManagerProvider.get(DefaultPageManagerProvider.java:56)
>     at org.apache.wicket.DefaultPageManagerProvider.get(DefaultPageManagerProvider.java:38)
>     at org.apache.wicket.Application.internalGetPageManager(Application.java:1405)
>     at org.apache.wicket.Session.getPageManager(Session.java:895)
>     at org.apache.wicket.Page.dirty(Page.java:278)
>     at org.apache.wicket.markup.html.WebPage.dirty(WebPage.java:324)
>     at org.apache.wicket.Page.init(Page.java:717)
>     at org.apache.wicket.Component.<init>(Component.java:684)
>     at org.apache.wicket.MarkupContainer.<init>(MarkupContainer.java:121)
>     at org.apache.wicket.Page.<init>(Page.java:170)
>     at org.apache.wicket.Page.<init>(Page.java:159)
>     at org.apache.wicket.markup.html.WebPage.<init>(WebPage.java:106)
>     at com.mycompany.HomePage.<init>(HomePage.java:17)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:171)
>     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:76)
>     at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:133)
>     at org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
>     at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
>     at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
>     at org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:300)
>     at org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:342)
>     at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:203)
>     at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
>     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:837)
>     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>     at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>     at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
>     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:744)



--
This message was sent by Atlassian JIRA
(v6.2#6252)