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

Thread-unsafe problem in tracetool logger

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • None
    • 2.03.07
    • None
    • None

    Description

      Hi Jettro,

      I found two problems there:
      (1) Because o.a.c.collections.buffer.CircularFifoBuffer is not
      thread-safe, the add() method of CircularFifoBuffer can throw the
      BufferOverflowException.
      (2) The trace tool logger should work only when the development.mode
      is true, but currently it is doing even though it is not development
      mode.

      I will create an issue for this and fix this.
      Thank you so much for pointing out this.

      Kind regards,

      Woonsan

      • Hide quoted text -

      On Tue, Jun 9, 2009 at 2:35 PM, Jettro Coenradie<jettro@jteam.nl> wrote:
      > Did anybody encounter this before?
      > 9-jun-2009 14:26:34 org.apache.catalina.core.ApplicationDispatcher invoke
      > SEVERE: Servlet.service() for servlet HstContainerServlet threw exception
      > org.apache.commons.collections.BufferOverflowException: The buffer cannot
      > hold more than 500 objects.
      > at
      > org.apache.commons.collections.buffer.BoundedFifoBuffer.add(BoundedFifoBuffer.java:237)
      > at
      > org.apache.commons.collections.buffer.CircularFifoBuffer.add(CircularFifoBuffer.java:93)
      > at
      > org.hippoecm.hst.core.logging.CircularFIFOLogEventBuffer.add(CircularFIFOLogEventBuffer.java:46)
      > at
      > org.hippoecm.hst.core.logging.TraceToolSlf4jLogger.addTraceToolLogEvent(TraceToolSlf4jLogger.java:175)
      > at
      > org.hippoecm.hst.core.logging.TraceToolSlf4jLogger.info(TraceToolSlf4jLogger.java:105)
      > at
      > org.hippoecm.hst.core.logging.HstComponentInvokerProfiler.profile(HstComponentInvokerProfiler.java:62)
      > at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
      > at
      > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      > at java.lang.reflect.Method.invoke(Method.java:597)
      > at
      > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627)
      > at
      > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616)
      > at
      > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64)
      > at
      > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      > at
      > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
      > at
      > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      > at
      > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      > at $Proxy0.invokeBeforeRender(Unknown Source)
      > at
      > org.hippoecm.hst.core.container.AggregationValve.processWindowsBeforeRender(AggregationValve.java:220)
      > at
      > org.hippoecm.hst.core.container.AggregationValve.invoke(AggregationValve.java:93)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:93)
      > at
      > org.hippoecm.hst.core.container.ResourceServingValve.invoke(ResourceServingValve.java:73)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:93)
      > at org.hippoecm.hst.core.container.ActionValve.invoke(ActionValve.java:139)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:93)
      > at
      > org.hippoecm.hst.core.container.SiteMenusResolvingValve.invoke(SiteMenusResolvingValve.java:34)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:93)
      > at
      > org.hippoecm.hst.core.container.ContextResolvingValve.invoke(ContextResolvingValve.java:122)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:93)
      > at org.hippoecm.hst.core.container.HstURLValve.invoke(HstURLValve.java:46)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:93)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline.invokeValves(HstSitePipeline.java:62)
      > at
      > org.hippoecm.hst.core.container.HstSitePipeline.invoke(HstSitePipeline.java:53)
      > at
      > org.hippoecm.hst.core.container.HstRequestProcessorImpl.processRequest(HstRequestProcessorImpl.java:50)
      > at
      > org.hippoecm.hst.container.HstContainerServlet.doGet(HstContainerServlet.java:86)
      > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
      > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      > at
      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      > at
      > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      > at
      > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
      > at
      > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
      > at
      > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
      > at
      > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
      > at
      > org.hippoecm.hst.container.HstVirtualHostsFilter.doFilter(HstVirtualHostsFilter.java:85)
      > at
      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      > at
      > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      > at nl.rijksoverheid.web.filters.LocaleFilter.doFilter(LocaleFilter.java:55)
      > at
      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      > at
      > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      > at
      > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      > at
      > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      > at
      > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      > at
      > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      > at
      > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      > at
      > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      > at
      > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
      > at
      > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      > at java.lang.Thread.run(Thread.java:619)
      > groeten Jettro

      Attachments

        Activity

          People

            wko Woonsan Ko (Inactive)
            wko Woonsan Ko (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: