Uploaded image for project: 'Jetspeed (Retired)'
  1. Jetspeed (Retired)
  2. JS1-526

[PATCH] Hyperthreading causes registry/PSML loading errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.6-dev
    • 1.6
    • PSML, Registry
    • None
    • Windows servers (2000/2003) with hyperthreading CPUs (or multiple CPU)

    Description

      Running Jetspeed 1.6-dev (HEAD -> 2004-11-23) throws exceptions when reading xreg & psml files if the system has more than more CPU (or hyperthreading). This affects 1.6-dev only, 1.5 works perfectly.

      After disabling hyperthreading Jetspeed-1.6 works perfectly (confirmed on three different servers).

      Where the problem occurs is a bit random, and is affected by the server load.

      The problem seems to be associated with the classes 'LateCastorRegistryService' and 'CastorPsmlManagerService'.

      Please contact me for more information if needed.

      Here is an example exception from the jetspeedservices log (not very informative):

      2004-11-24 11:27:34,656 [http-8080-Processor25] ERROR CastorPsmlManagerService - PSMLManager: Could not unmarshal the file D:\apache\Tomcat_5.0\webapps\jetspeed-1.6-dev-20041123\WEB-INF\psml\user\anon\html\default.psml
      org.xml.sax.SAXException: The class for the root element 'portlets' could not be found.
      at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:595)
      at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.java:245)
      at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.java:182)
      at org.exolab.castor.xml.util.DOMEventProducer.processChildren(DOMEventProducer.java:333)
      at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.java:134)
      at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.java:170)
      at org.exolab.castor.xml.util.DOMEventProducer.start(DOMEventProducer.java:110)
      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:290)
      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:374)
      at org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService.loadDocument(CastorPsmlManagerService.java:472)
      at org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService.getDocument(CastorPsmlManagerService.java:387)
      at org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService.getDocument(CastorPsmlManagerService.java:340)
      at org.apache.jetspeed.services.PsmlManager.getDocument(PsmlManager.java:72)
      at org.apache.jetspeed.services.profiler.JetspeedProfilerService.fallback(JetspeedProfilerService.java:734)
      at org.apache.jetspeed.services.profiler.JetspeedProfilerService.fallbackProfile(JetspeedProfilerService.java:509)
      at org.apache.jetspeed.services.profiler.JetspeedProfilerService.getProfile(JetspeedProfilerService.java:262)
      at org.apache.jetspeed.services.profiler.JetspeedProfilerService.getProfile(JetspeedProfilerService.java:545)
      at org.apache.jetspeed.services.Profiler.getProfile(Profiler.java:87)
      at org.apache.jetspeed.modules.actions.JetspeedAccessController.doPerform(JetspeedAccessController.java:74)
      at org.apache.turbine.modules.Action.perform(Action.java:87)
      at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122)
      at org.apache.turbine.Turbine.doGet(Turbine.java:529)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
      at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:670)
      at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:637)
      at org.apache.jsp.index_jsp._jspService(index_jsp.java:45)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
      at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
      at java.lang.Thread.run(Thread.java:534)

      Attachments

        1. JS1-526-patch.txt
          18 kB
          Bjorn Vidar Remme

        Activity

          People

            morciuch Mark Orciuch
            rembjo0 Bjorn Vidar Remme
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: