Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 7.0.0-M1
    • Fix Version/s: 7.0.0-M5
    • Component/s: wicket
    • Labels:
      None
    • Environment:
      Tomcat 7.0.41

      Description

      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)

        Attachments

          Activity

            People

            • Assignee:
              mgrigorov Martin Grigorov
              Reporter:
              sebfz1 Sebastien Briquet
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: