calonlan created LOGBACK-1394: --------------------------------- Summary: TimeBasedRollingPolicy LogbackLock deadlock at 23:59:59 Key: LOGBACK-1394 URL: https://jira.qos.ch/browse/LOGBACK-1394 Project: logback Issue Type: Bug Affects Versions: 1.1.2 Environment: *JDK:* java version "1.8.0_162" Java(TM) SE Runtime Environment (build 1.8.0_162-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
*logback.xml:* <configuration scan="true" scanPeriod="180 seconds" debug="true"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>../log/test.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>../log/test.%d\{yyyy-MM-dd}.log.zip</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d\{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern> </encoder> </appender> </configuration> Reporter: calonlan Assignee: Logback dev list Priority: Blocker *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) -- This message was sent by Atlassian JIRA (v7.3.1#73012) _______________________________________________ logback-dev mailing list logback-dev@qos.ch http://mailman.qos.ch/mailman/listinfo/logback-dev