Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 5.0.3
    • Fix Version/s: 5.0.3
    • Component/s: tapestry-core
    • Labels:
      None
    • Environment:
      Mac OS X, Jboss 4.0.5

      Description

      On first access to an application:

      15:06:41,850 ERROR [[default]] Servlet.service() for servlet default threw exception
      java.lang.NullPointerException
      at org.apache.tapestry.internal.services.InternalModule$10.getCookies(InternalModule.java:621)
      at $CookieSource_11129809a58.getCookies($CookieSource_11129809a58.java)
      at org.apache.tapestry.internal.services.CookiesImpl.readCookieValue(CookiesImpl.java:45)
      at $Cookies_11129809a56.readCookieValue($Cookies_11129809a56.java)
      at org.apache.tapestry.services.PersistentLocaleImpl.getCookieValue(PersistentLocaleImpl.java:48)
      at org.apache.tapestry.services.PersistentLocaleImpl.get(PersistentLocaleImpl.java:42)
      at $PersistentLocale_11129809a55.get($PersistentLocale_11129809a55.java)
      at org.apache.tapestry.internal.services.LocalizationSetterImpl.setThreadLocale(LocalizationSetterImpl.java:93)
      at $LocalizationSetter_11129809a51.setThreadLocale($LocalizationSetter_11129809a51.java)
      at org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:41)
      at $RequestHandler_11129809a54.service($RequestHandler_11129809a54.java)
      at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:91)
      at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:82)
      at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
      at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:104)
      at $RequestHandler_11129809a54.service($RequestHandler_11129809a54.java)
      at $RequestHandler_11129809a4f.service($RequestHandler_11129809a4f.java)
      at org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:401)
      at $HttpServletRequestHandler_11129809a4e.service($HttpServletRequestHandler_11129809a4e.java)
      at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:114)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      at java.lang.Thread.run(Thread.java:613)
      15:06:51,286 INFO [TimingFilter] Request time: 820 ms

      Very odd .. this was after a clean build and deploy, yet the line number (InternalModule.java:621) doesn't match the current source. Something odd is afoot.

        Issue Links

          Activity

          Howard M. Lewis Ship created issue -
          Hide
          Howard M. Lewis Ship added a comment -

          Found an old application that was previously deployed (and alphabetically earlier), so its JARs (which were out of date) seem to override the newer JARs in my test application (the musiclib, from screencast #5).

          On a redeploy, got the following:

          java.lang.RuntimeException: No object of type org.apache.tapestry.services.Heartbeat is available from the Environment. Available types are org.apache.tapestry.MarkupWriter, org.apache.tapestry.PageRenderSupport, org.apache.tapestry.ValidationDecorator, org.apache.tapestry.dom.Document, org.apache.tapestry.internal.services.DocumentScriptBuilder, org.apache.tapestry.services.Heartbeat.
          org.apache.tapestry.internal.services.EnvironmentImpl.peekRequired(EnvironmentImpl.java:73)
          $Environment_111299129d5.peekRequired($Environment_111299129d5.java)
          $Environment_11129912965.peekRequired($Environment_11129912965.java)
          org.apache.tapestry.corelib.components.Loop._$environment_read_heartbeat(Loop.java)
          org.apache.tapestry.corelib.components.Loop.startHeartbeat(Loop.java:302)
          org.apache.tapestry.corelib.components.Loop.begin(Loop.java:297)
          org.apache.tapestry.corelib.components.Loop.beginRender(Loop.java)
          org.apache.tapestry.internal.structure.ComponentPageElementImpl$10$1.run(ComponentPageElementImpl.java:334)
          org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:930)
          org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:68)
          org.apache.tapestry.internal.structure.ComponentPageElementImpl$10.render(ComponentPageElementImpl.java:338)
          org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:57)
          org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:40)
          $PageMarkupRenderer_111299129d2.renderPageMarkup($PageMarkupRenderer_111299129d2.java)
          org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:45)
          $PageResponseRenderer_1112991297e.renderPageResponse($PageResponseRenderer_1112991297e.java)
          org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:60)
          $RequestExceptionHandler_11129912954.handleRequestException($RequestExceptionHandler_11129912954.java)
          org.apache.tapestry.services.TapestryModule$6.service(TapestryModule.java:543)
          $RequestHandler_11129912991.service($RequestHandler_11129912991.java)
          org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56)
          $RequestHandler_11129912991.service($RequestHandler_11129912991.java)
          org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
          $RequestHandler_11129912991.service($RequestHandler_11129912991.java)
          org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:91)
          org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:82)
          org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
          org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:104)
          $RequestHandler_11129912991.service($RequestHandler_11129912991.java)
          $RequestHandler_1112991298c.service($RequestHandler_1112991298c.java)
          org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:408)
          $HttpServletRequestHandler_1112991298b.service($HttpServletRequestHandler_1112991298b.java)
          org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:115)
          org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

          Obviously a ClassLoader issue, the Heartbeat class is listed as available even as the exception claims it is not (the keys here are Class, not String).

          A cold restart of the application seems to solve this problem.

          Show
          Howard M. Lewis Ship added a comment - Found an old application that was previously deployed (and alphabetically earlier), so its JARs (which were out of date) seem to override the newer JARs in my test application (the musiclib, from screencast #5). On a redeploy, got the following: java.lang.RuntimeException: No object of type org.apache.tapestry.services.Heartbeat is available from the Environment. Available types are org.apache.tapestry.MarkupWriter, org.apache.tapestry.PageRenderSupport, org.apache.tapestry.ValidationDecorator, org.apache.tapestry.dom.Document, org.apache.tapestry.internal.services.DocumentScriptBuilder, org.apache.tapestry.services.Heartbeat. org.apache.tapestry.internal.services.EnvironmentImpl.peekRequired(EnvironmentImpl.java:73) $Environment_111299129d5.peekRequired($Environment_111299129d5.java) $Environment_11129912965.peekRequired($Environment_11129912965.java) org.apache.tapestry.corelib.components.Loop._$environment_read_heartbeat(Loop.java) org.apache.tapestry.corelib.components.Loop.startHeartbeat(Loop.java:302) org.apache.tapestry.corelib.components.Loop.begin(Loop.java:297) org.apache.tapestry.corelib.components.Loop.beginRender(Loop.java) org.apache.tapestry.internal.structure.ComponentPageElementImpl$10$1.run(ComponentPageElementImpl.java:334) org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:930) org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:68) org.apache.tapestry.internal.structure.ComponentPageElementImpl$10.render(ComponentPageElementImpl.java:338) org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:57) org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:40) $PageMarkupRenderer_111299129d2.renderPageMarkup($PageMarkupRenderer_111299129d2.java) org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:45) $PageResponseRenderer_1112991297e.renderPageResponse($PageResponseRenderer_1112991297e.java) org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:60) $RequestExceptionHandler_11129912954.handleRequestException($RequestExceptionHandler_11129912954.java) org.apache.tapestry.services.TapestryModule$6.service(TapestryModule.java:543) $RequestHandler_11129912991.service($RequestHandler_11129912991.java) org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56) $RequestHandler_11129912991.service($RequestHandler_11129912991.java) org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43) $RequestHandler_11129912991.service($RequestHandler_11129912991.java) org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:91) org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:82) org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:104) $RequestHandler_11129912991.service($RequestHandler_11129912991.java) $RequestHandler_1112991298c.service($RequestHandler_1112991298c.java) org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:408) $HttpServletRequestHandler_1112991298b.service($HttpServletRequestHandler_1112991298b.java) org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:115) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) Obviously a ClassLoader issue, the Heartbeat class is listed as available even as the exception claims it is not (the keys here are Class, not String). A cold restart of the application seems to solve this problem.
          Howard M. Lewis Ship made changes -
          Field Original Value New Value
          Link This issue is related to TAPESTRY-1316 [ TAPESTRY-1316 ]
          Hide
          Howard M. Lewis Ship added a comment -

          TAPESTRY-1316 may be a fix for some JBoss woes.

          Show
          Howard M. Lewis Ship added a comment - TAPESTRY-1316 may be a fix for some JBoss woes.
          Hide
          Howard M. Lewis Ship added a comment -

          Yep, TAPESTRY-1316 seems to resolve the above exception on redeploy.

          Show
          Howard M. Lewis Ship added a comment - Yep, TAPESTRY-1316 seems to resolve the above exception on redeploy.
          Hide
          Howard M. Lewis Ship added a comment -

          TAPESTRY-1316 is great ... it fixes a number of deployment and re-deployment issues inside JBoss 4.0.5.

          Show
          Howard M. Lewis Ship added a comment - TAPESTRY-1316 is great ... it fixes a number of deployment and re-deployment issues inside JBoss 4.0.5.
          Howard M. Lewis Ship made changes -
          Fix Version/s 5.0.3 [ 12312338 ]
          Resolution Duplicate [ 3 ]
          Status Open [ 1 ] Resolved [ 5 ]
          Mark Thomas made changes -
          Workflow jira [ 12398926 ] Default workflow, editable Closed status [ 12569190 ]
          Mark Thomas made changes -
          Workflow Default workflow, editable Closed status [ 12569190 ] jira [ 12590443 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          23m 42s 1 Howard M. Lewis Ship 06/Mar/07 23:34

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Howard M. Lewis Ship
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development