Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-1394

Sometimes TimeBasedRollingPolicy & LogbackLock deadlock at 23:59:59

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • None
    • 1.1.2
    • None
    • None

    Description

      threaddump :
      Found one Java-level deadlock:
      =============================

      "async-task-thread-pool-1-tid-59197-huoqiu-685270909":
      waiting to lock Monitor@0x00007f140c0282f8 (Object@0x00000000e802a3b0, a ch/qos/logback/core/rolling/TimeBasedRollingPolicy),
      which is held by "async-task-thread-pool-1-tid-59195-huoqiu-685270900"
      "async-task-thread-pool-1-tid-59195-huoqiu-685270900":
      waiting to lock Monitor@0x00007f13fc061b08 (Object@0x00000000e8035950, a ch/qos/logback/core/spi/LogbackLock),
      which is held by "async-task-thread-pool-1-tid-59197-huoqiu-685270909"

      Found a total of 1 deadlock.

      Thread 20382: (state = BLOCKED)

      • ch.qos.logback.core.rolling.RollingFileAppender.subAppend(java.lang.Object) @bci=6, line=176 (Compiled frame)
      • ch.qos.logback.core.OutputStreamAppender.append(java.lang.Object) @bci=10, line=103 (Compiled frame)
      • ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(java.lang.Object) @bci=123, line=88 (Compiled frame)
      • ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(java.lang.Object) @bci=33, line=48 (Compiled frame)
      • ch.qos.logback.classic.Logger.appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=12, line=273 (Compiled frame)
      • ch.qos.logback.classic.Logger.callAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=11, line=260 (Compiled frame)
      • ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=27, line=442 (Compiled frame)
      • ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=57, line=396 (Compiled frame)
      • ch.qos.logback.classic.Logger.info(java.lang.String) @bci=11, line=600 (Compiled frame)
      • com.bj58.spat.gaea.server.contract.log.LogbackLogger.info(java.lang.String) @bci=9, line=101 (Compiled frame)
      • com.bj58.spat.gaea.server.filter.ExecuteTimeFilter.filter(com.bj58.spat.gaea.server.contract.context.GaeaContext) @bci=121, line=72 (Compiled frame)
      • com.bj58.spat.gaea.server.core.proxy.AsyncInvokerHandle$1.run() @bci=203, line=99 (Compiled frame)
      • com.bj58.spat.gaea.server.util.async.AsyncWorker$1.run() @bci=84, line=157 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=95, line=1149 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=624 (Compiled frame)
      • java.lang.Thread.run() @bci=11, line=748 (Compiled frame)

      Thread 20380: (state = BLOCKED)

      • ch.qos.logback.core.rolling.RollingFileAppender.subAppend(java.lang.Object) @bci=6, line=176 (Compiled frame)
      • ch.qos.logback.core.OutputStreamAppender.append(java.lang.Object) @bci=10, line=103 (Compiled frame)
      • ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(java.lang.Object) @bci=123, line=88 (Compiled frame)
      • ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(java.lang.Object) @bci=33, line=48 (Compiled frame)
      • ch.qos.logback.classic.Logger.appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=12, line=273 (Compiled frame)
      • ch.qos.logback.classic.Logger.callAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=11, line=260 (Compiled frame)
      • ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=27, line=442 (Compiled frame)
      • ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=57, line=396 (Compiled frame)
      • ch.qos.logback.classic.Logger.info(java.lang.String) @bci=11, line=600 (Compiled frame)
      • com.bj58.spat.gaea.server.contract.log.LogbackLogger.info(java.lang.String) @bci=9, line=101 (Compiled frame)
      • com.bj58.spat.gaea.server.filter.ExecuteTimeFilter.filter(com.bj58.spat.gaea.server.contract.context.GaeaContext) @bci=121, line=72 (Compiled frame)
      • com.bj58.spat.gaea.server.core.proxy.AsyncInvokerHandle$1.run() @bci=203, line=99 (Compiled frame)
      • com.bj58.spat.gaea.server.util.async.AsyncWorker$1.run() @bci=84, line=157 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=95, line=1149 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=624 (Compiled frame)
      • java.lang.Thread.run() @bci=11, line=748 (Compiled frame)

      Thread 20378: (state = BLOCKED)

      • ch.qos.logback.core.rolling.RollingFileAppender.subAppend(java.lang.Object) @bci=6, line=176 (Compiled frame)
      • ch.qos.logback.core.OutputStreamAppender.append(java.lang.Object) @bci=10, line=103 (Compiled frame)
      • ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(java.lang.Object) @bci=123, line=88 (Compiled frame)
      • ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(java.lang.Object) @bci=33, line=48 (Compiled frame)
      • ch.qos.logback.classic.Logger.appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=12, line=273 (Compiled frame)
      • ch.qos.logback.classic.Logger.callAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=11, line=260 (Compiled frame)
      • ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=27, line=442 (Compiled frame)
      • ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=57, line=396 (Compiled frame)
      • ch.qos.logback.classic.Logger.info(java.lang.String) @bci=11, line=600 (Compiled frame)
      • com.bj58.spat.gaea.server.contract.log.LogbackLogger.info(java.lang.String) @bci=9, line=101 (Compiled frame)
      • com.bj58.spat.gaea.server.filter.ExecuteTimeFilter.filter(com.bj58.spat.gaea.server.contract.context.GaeaContext) @bci=121, line=72 (Compiled frame)
      • com.bj58.spat.gaea.server.core.proxy.AsyncInvokerHandle$1.run() @bci=203, line=99 (Compiled frame)
      • com.bj58.spat.gaea.server.util.async.AsyncWorker$1.run() @bci=84, line=157 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=95, line=1149 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=624 (Compiled frame)
      • java.lang.Thread.run() @bci=11, line=748 (Compiled frame)

      Thread 20377: (state = BLOCKED)

      • ch.qos.logback.core.rolling.RollingFileAppender.subAppend(java.lang.Object) @bci=6, line=176 (Compiled frame)
      • ch.qos.logback.core.OutputStreamAppender.append(java.lang.Object) @bci=10, line=103 (Compiled frame)
      • ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(java.lang.Object) @bci=123, line=88 (Compiled frame)
      • ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(java.lang.Object) @bci=33, line=48 (Compiled frame)
      • ch.qos.logback.classic.Logger.appendLoopOnAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=12, line=273 (Compiled frame)
      • ch.qos.logback.classic.Logger.callAppenders(ch.qos.logback.classic.spi.ILoggingEvent) @bci=11, line=260 (Compiled frame)
      • ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=27, line=442 (Compiled frame)
      • ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(java.lang.String, org.slf4j.Marker, ch.qos.logback.classic.Level, java.lang.String, java.lang.Object[], java.lang.Throwable) @bci=57, line=396 (Compiled frame)
      • ch.qos.logback.classic.Logger.info(java.lang.String) @bci=11, line=600 (Compiled frame)
      • com.bj58.spat.gaea.server.contract.log.LogbackLogger.info(java.lang.String) @bci=9, line=101 (Compiled frame)
      • com.bj58.spat.gaea.server.filter.ExecuteTimeFilter.filter(com.bj58.spat.gaea.server.contract.context.GaeaContext) @bci=121, line=72 (Compiled frame)
      • com.bj58.spat.gaea.server.core.proxy.AsyncInvokerHandle$1.run() @bci=203, line=99 (Compiled frame)
      • com.bj58.spat.gaea.server.util.async.AsyncWorker$1.run() @bci=84, line=157 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=95, line=1149 (Compiled frame)
      • java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=624 (Compiled frame)
      • java.lang.Thread.run() @bci=11, line=748 (Compiled frame)

      Attachments

        Activity

          People

            logback-dev Logback dev list
            calonlan calonlan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: