7 Replies Latest reply on Jul 3, 2006 7:25 AM by Alberto Rodriguez

    Exception with tldcache the first time a web application is

    Alberto Rodriguez Newbie

      A web application deployed as an exploded war under server/default/deploy dir wich uses struts tld gives this error the first time anybody requests it's initial page.


      Subsecuent requests are well served and the exception never arises again until the server is restarted.



      exception

      org.apache.jasper.JasperException: /pages/login/index.jsp(3,0) Unable to initialize TldLocationsCache: invalid entry CRC (expected 0x5150bebf but got 0x10c9647c)
      org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


      Seems that jboss/jbossweb-tomcat is having some problem handling tld jars or definitions when compiling the first time, isn't it?

        • 1. Re: Exception with tldcache the first time a web application
          Alberto Rodriguez Newbie

          sorry, JBoss version is latest, of course:

          4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200606261336

          • 2. Re: Exception with tldcache the first time a web application
            Alberto Rodriguez Newbie

            tld definition files were moved to META-INF without any change, also note that the same war webapp deployed in tomcat 5.0.x or 5.5.x works ok....

            • 3. Re: Exception with tldcache the first time a web application
              Scott Stark Master

              A full stacktrace that shows the cause exception is needed.

              • 4. Re: Exception with tldcache the first time a web application
                Alberto Rodriguez Newbie

                here it is, i didn't post it earlier because of it's lack of new information:

                HTTP Status 500 -

                --------------------------------------------------------------------------------

                type Exception report

                message

                description The server encountered an internal error () that prevented it from fulfilling this request.

                exception

                org.apache.jasper.JasperException: /pages/login/index.jsp(3,0) Unable to initialize TldLocationsCache: invalid entry CRC (expected 0x5150bebf but got 0x10c9647c)
                org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
                javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
                org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


                root cause

                org.apache.jasper.JasperException: /pages/login/index.jsp(3,0) Unable to initialize TldLocationsCache: invalid entry CRC (expected 0x5150bebf but got 0x10c9647c)
                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:86)
                org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:339)
                org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:372)
                org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484)
                org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
                org.apache.jasper.compiler.Parser.parse(Parser.java:126)
                org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
                org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
                org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
                org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
                org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
                javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
                org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


                note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.



                and this is exactly the exception shown in the announced Tomcat logs...

                • 5. Re: Exception with tldcache the first time a web application
                  Alberto Rodriguez Newbie

                  Here you have the *full* (since Thread.run) stacktrace:

                  org.apache.jasper.JasperException: /pages/login/login.jsp(3,0) Unable to initialize TldLocationsCache: invalid entry CRC (expected
                  0x5150bebf but got 0x10c9647c)
                  at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
                  at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
                  at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:86)
                  at org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:339)
                  at org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:372)
                  at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484)
                  at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
                  at org.apache.jasper.compiler.Parser.parse(Parser.java:126)
                  at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
                  at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
                  at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
                  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
                  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
                  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
                  at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
                  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
                  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
                  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                  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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
                  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.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:595)

                  • 6. Re: Exception with tldcache the first time a web application
                    Alberto Rodriguez Newbie

                    Any clue about what is happening here?

                    • 7. Re: Exception with tldcache the first time a web application
                      Alberto Rodriguez Newbie

                      Sorry guys, the problem was a corrupt jgroups jar, when the tldcache tries to index the tld definitions inside the META-INF directory in the jar file fails because of wrong CRC in that particular jar, solution: download a fresh brand new (uncorrupted) jgroup version.


                      greets