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

          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.
          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 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 -

          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.

            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