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

    Exception with tldcache the first time a web application is

    argaldo

      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
          argaldo

          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
            argaldo

            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
              starksm64

              A full stacktrace that shows the cause exception is needed.

              • 4. Re: Exception with tldcache the first time a web application
                argaldo

                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
                  argaldo

                  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
                    argaldo

                    Any clue about what is happening here?

                    • 7. Re: Exception with tldcache the first time a web application
                      argaldo

                      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