Uploaded image for project: '[Read Only] - Hippo Site Toolkit 2'
  1. [Read Only] - Hippo Site Toolkit 2
  2. HSTTWO-73

Incorrect image path leads to unpredictable behavior

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • High
    • Resolution: Probably fixed, check next version
    • 2.01.00
    • 2.01.00
    • None
    • None

    Description

      I had a background image defined in a CSS, with an incorrect path, e.g.

      div.example {
      background:url(../../images/bg.gif);
      }

      where it should have been

      div.example {
      background:url(../images/bg.gif);
      }

      This lead to very unpredictable behavior. I would get a javax.jcr.PathNotFoundException (which is not surprising), but this would sometimes be followed by a javax.jcr.InvalidItemStateException ("the item does not exist anymore"). In about 1 out of 10 times, the JSP page would display correctly. The other 9 times, the modules on the page would render only partly, or not at all. Refreshing the page 10 times in a browser resulted in 10 different pages.

      Full stack traces below:

      2008-10-07 16:32:46.111::WARN: /images/button_arrow_yellow_right.gif
      javax.jcr.PathNotFoundException: images
      at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:126)
      at org.apache.jackrabbit.rmi.server.ServerNode.getNode(ServerNode.java:228)
      at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
      at sun.rmi.transport.Transport$1.run(Transport.java:153)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
      at java.lang.Thread.run(Thread.java:595)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
      at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:179)
      at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
      at $Proxy3.getNode(Unknown Source)
      at org.apache.jackrabbit.rmi.client.ClientNode.getNode(ClientNode.java:227)
      at org.hippoecm.hst.core.template.ContextBase.<init>(ContextBase.java:54)
      at org.hippoecm.hst.core.template.ContextBase.<init>(ContextBase.java:41)
      at org.hippoecm.hst.core.template.URIFragmentContextBaseFilter.doFilter(URIFragmentContextBaseFilter.java:138)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
      at org.hippoecm.hst.core.template.ModuleFilter.doFilter(ModuleFilter.java:102)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      at org.mortbay.jetty.Server.handle(Server.java:285)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:368)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

      07.10.2008 16:32:46 ERROR [org.hippoecm.hst.core.template.tag.LayoutModulesTag.doStartTag():79] RepositoryException:
      javax.jcr.InvalidItemStateException: 3daabdf9-5915-432f-a28e-70a9abc71931: the item does not exist anymore
      at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:104)
      at org.apache.jackrabbit.rmi.server.ServerNode.hasProperty(ServerNode.java:169)
      at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
      at sun.rmi.transport.Transport$1.run(Transport.java:153)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
      at java.lang.Thread.run(Thread.java:595)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
      at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:179)
      at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
      at $Proxy3.hasProperty(Unknown Source)
      at org.apache.jackrabbit.rmi.client.ClientNode.hasProperty(ClientNode.java:319)
      at org.hippoecm.hst.core.template.node.PageContainerModuleNode.getTemplatePage(PageContainerModuleNode.java:53)
      at org.hippoecm.hst.core.template.tag.LayoutModulesTag.doStartTag(LayoutModulesTag.java:76)
      at org.apache.jsp.jsp.index_jsp._jspx_meth_hst$1tmpl_container_0(org.apache.jsp.jsp.index_jsp:221)
      at org.apache.jsp.jsp.index_jsp._jspService(org.apache.jsp.jsp.index_jsp:150)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:80)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:464)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
      at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
      at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
      at org.hippoecm.hst.core.template.URLMappingTemplateContextFilter.doFilter(URLMappingTemplateContextFilter.java:103)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
      at org.hippoecm.hst.core.template.URIFragmentContextBaseFilter.doFilter(URIFragmentContextBaseFilter.java:166)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
      at org.hippoecm.hst.core.template.ModuleFilter.doFilter(ModuleFilter.java:102)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      at org.mortbay.jetty.Server.handle(Server.java:285)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:368)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

      Attachments

        Activity

          People

            mmeijnhard Mike Meijnhard (Inactive)
            niels Niels van Kampenhout (Oud) (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: