Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-4569

rowDisplay.tag doesn't work properly in Tomcat 5.5.30

    Details

    • Type: Bug Fix
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.3
    • Component/s: User Interface
    • Labels:
      None
    • Rice Module:
      KNS
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Review Completed

      Description

      It has been confirmed that Rice does not work properly in Tomcat 5.5.30. What most people are seeing when they go to a lookup is that all of the search criteria fields are missing and they just see the "search" buttons.

      This is because it appears that rowDisplay.tag is not working correctly between Tomcat 5.5.29 and 5.5.30. It's not apparent to me though what change in 5.5.30 might have caused this.

      Additionally, at least for me I get a stack trace when I first try to load a lookup page, the second time the page loads but the search criteria is missing. Here is the stacktrace for the exception that I was seeing:

      2010-09-15 00:07:43,031 [http-8080-Processor24] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/kr-dev].[jsp] - Servlet.service() for servlet jsp threw exception
      java.io.FileNotFoundException: no such file: /java/servers/apache-tomcat-5.5.30/work/Catalina/localhost/kr-dev/org/apache/jsp/tag/web/kr/rowDisplay_tag$Helper.class
      at org.apache.jasper.compiler.SmapUtil$SDEInstaller.<init>(SmapUtil.java:253)
      at org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:241)
      at org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:165)
      at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:466)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:319)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
      at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)
      at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:207)
      at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:566)
      at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:50)
      at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:617)
      at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1442)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
      at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:621)
      at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1442)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
      at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:621)
      at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1442)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
      at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2222)
      at org.apache.jasper.compiler.Node$Root.accept(Node.java:457)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:635)
      at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
      at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
      at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
      at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
      at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:99)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at edu.iu.uis.eden.web.IUUserAccessFilter.doFilter(IUUserAccessFilter.java:80)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92)
      at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:127)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:305)
      at edu.iu.uis.cas.filter.CASFilter.redirectOrForwardChain(CASFilter.java:488)
      at edu.iu.uis.cas.filter.CASFilter.doFilterUnsynchronized(CASFilter.java:422)
      at edu.iu.uis.cas.filter.CASFilter.doFilter(CASFilter.java:401)
      at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:298)
      at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:166)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:66)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at edu.iu.uis.rice.web.IUTransactionFilter.doFilter(IUTransactionFilter.java:58)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      at java.lang.Thread.run(Thread.java:637)
      2010-09-15 00:07:43,035 [http-8080-Processor24] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/kr-dev].[action] - Servlet.service() for servlet action threw exception
      java.io.FileNotFoundException: no such file: /java/servers/apache-tomcat-5.5.30/work/Catalina/localhost/kr-dev/org/apache/jsp/tag/web/kr/rowDisplay_tag$Helper.class
      at org.apache.jasper.compiler.SmapUtil$SDEInstaller.<init>(SmapUtil.java:253)
      at org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:241)
      at org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:165)
      at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:466)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:319)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
      at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)
      at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:207)
      at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:566)
      at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:50)
      at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:617)
      at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1442)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
      at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:621)
      at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1442)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
      at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:621)
      at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1442)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2216)
      at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2222)
      at org.apache.jasper.compiler.Node$Root.accept(Node.java:457)
      at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2166)
      at org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:635)
      at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
      at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
      at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
      at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
      at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
      at org.kuali.rice.kns.web.struts.action.KualiRequestProcessor.process(KualiRequestProcessor.java:99)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at edu.iu.uis.eden.web.IUUserAccessFilter.doFilter(IUUserAccessFilter.java:80)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:92)
      at edu.iu.uis.rice.web.IUUserLoginFilter.doFilter(IUUserLoginFilter.java:127)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:305)
      at edu.iu.uis.cas.filter.CASFilter.redirectOrForwardChain(CASFilter.java:488)
      at edu.iu.uis.cas.filter.CASFilter.doFilterUnsynchronized(CASFilter.java:422)
      at edu.iu.uis.cas.filter.CASFilter.doFilter(CASFilter.java:401)
      at org.kuali.rice.kew.web.BootstrapFilterChain.doFilter(BootstrapFilter.java:298)
      at org.kuali.rice.kew.web.BootstrapFilter.doFilter(BootstrapFilter.java:166)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.kuali.rice.kns.web.filter.HideWebInfFilter.doFilter(HideWebInfFilter.java:66)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at edu.iu.uis.rice.web.IUTransactionFilter.doFilter(IUTransactionFilter.java:58)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      at java.lang.Thread.run(Thread.java:637)

        Attachments

          Issue Links

            Activity

            Hide
            tschneeb Travis Schneeberger added a comment -

            Peter, I know this jira is specifically for the rowDisplay.tag but the checkTabHighlight.tag also has the same problem. I tried a fix in this tag like rowDisplay but probably my fix also doesn't work here. Could you put the workaround in for this tag and test it since you are running linux?

            Show
            tschneeb Travis Schneeberger added a comment - Peter, I know this jira is specifically for the rowDisplay.tag but the checkTabHighlight.tag also has the same problem. I tried a fix in this tag like rowDisplay but probably my fix also doesn't work here. Could you put the workaround in for this tag and test it since you are running linux?
            Hide
            ewestfal Eric Westfall added a comment -

            Also, we did get a response back on the Tomcat bug. Looks like this problem is resolved in Tomcat 6, and they will port the fix back to tomcat 5.5.x (I'm assuming for a 5.5.32 release?)

            Show
            ewestfal Eric Westfall added a comment - Also, we did get a response back on the Tomcat bug. Looks like this problem is resolved in Tomcat 6, and they will port the fix back to tomcat 5.5.x (I'm assuming for a 5.5.32 release?)
            Hide
            gilesp Peter Giles (Inactive) added a comment -

            Eric, last I heard on this was exactly what you said, but no more. Here's Mark Thomas' last comment on the issue:
            "This was previously fixed in 6.0.x. I back-ported the relevant patches to 5.5.x and they do fix the issue. The combined patch has been proposed for 5.5.x"

            Travis, I'll look into it today.

            Show
            gilesp Peter Giles (Inactive) added a comment - Eric, last I heard on this was exactly what you said, but no more. Here's Mark Thomas' last comment on the issue: "This was previously fixed in 6.0.x. I back-ported the relevant patches to 5.5.x and they do fix the issue. The combined patch has been proposed for 5.5.x" Travis, I'll look into it today.
            Hide
            gilesp Peter Giles (Inactive) added a comment -

            added the same hack to checkTabHighlight.tag, resolving.

            Show
            gilesp Peter Giles (Inactive) added a comment - added the same hack to checkTabHighlight.tag, resolving.
            Hide
            riceci Rice-CI User (Inactive) added a comment -

            Integrated in rice-trunk-nightly #74 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/74/)
            KULRICE-5161: treeNode.tag exhibits recursive tag problem on Linux in Jetty 7.4.1

            Fixed w/ same workaround used for KULRICE-4569, which is to call another tag which calls back to the first tag via an imported JSP

            Show
            riceci Rice-CI User (Inactive) added a comment - Integrated in rice-trunk-nightly #74 (See http://ci.rice.kuali.org/job/rice-trunk-nightly/74/ ) KULRICE-5161 : treeNode.tag exhibits recursive tag problem on Linux in Jetty 7.4.1 Fixed w/ same workaround used for KULRICE-4569 , which is to call another tag which calls back to the first tag via an imported JSP

              People

              • Assignee:
                gilesp Peter Giles (Inactive)
                Reporter:
                ewestfal Eric Westfall
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: