[ https://issues.apache.org/jira/browse/LOG4J2-1422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16880036#comment-16880036 ]
ASF subversion and git services commented on LOG4J2-1422: --------------------------------------------------------- Commit 7318abcbf2d8492ea6db5f3a3beef9660a87f220 in logging-log4j2's branch refs/heads/master from Ralph Goers [ https://gitbox.apache.org/repos/asf?p=logging-log4j2.git;h=7318abc ] LOG4J2-1422 - revert change > AsyncAppenderQueueFullPolicyTest sometimes hangs > ------------------------------------------------ > > Key: LOG4J2-1422 > URL: https://issues.apache.org/jira/browse/LOG4J2-1422 > Project: Log4j 2 > Issue Type: Bug > Components: Appenders > Affects Versions: 2.6 > Reporter: Remko Popma > Assignee: Remko Popma > Priority: Major > Fix For: 2.6.2 > > > From the log4j-dev mailing list: > {quote} > I just tried to do a full build and got this test to hang. Gary reported the > same thing last week on Windows. The stack trace indicates that it isn’t > properly shutting down. Somehow it seems the BlockingAppender must not be > having its shutdown flag set. This test was only added a month ago. I’m not > really sure what this test is trying to do but it appears to have some flawed > logic somewhere. > {quote} > {noformat} > Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.80-b11 mixed mode): > "Attach Listener" daemon prio=5 tid=0x00007fc93b81b000 nid=0x3d0b waiting on > condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > "AsyncAppender-Async" daemon prio=5 tid=0x00007fc93c16c000 nid=0x5603 > sleeping[0x00007000015d5000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.logging.log4j.test.appender.BlockingAppender.append(BlockingAppender.java:44) > at > org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:155) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:128) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:119) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) > at > org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.callAppenders(AsyncAppender.java:338) > at > org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.run(AsyncAppender.java:291) > "surefire-forkedjvm-command-thread" daemon prio=5 tid=0x00007fc93c845800 > nid=0x5403 runnable [0x00007000014d2000] > java.lang.Thread.State: RUNNABLE > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(FileInputStream.java:272) > at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) > at java.io.BufferedInputStream.read(BufferedInputStream.java:254) > - locked <0x00000007aaa9ab70> (a java.io.BufferedInputStream) > at java.io.DataInputStream.readInt(DataInputStream.java:387) > at > org.apache.maven.surefire.booter.MasterProcessCommand.decode(MasterProcessCommand.java:117) > at > org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:360) > at java.lang.Thread.run(Thread.java:745) > "last-ditch-daemon-shutdown-thread-30sec" daemon prio=5 > tid=0x00007fc93c873800 nid=0x5203 waiting on condition [0x00007000013cf000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000007aad7d750> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at > java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) > at > java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090) > at > java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) > at > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > "Service Thread" daemon prio=5 tid=0x00007fc93c014800 nid=0x4e03 runnable > [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > "C2 CompilerThread1" daemon prio=5 tid=0x00007fc93c82d800 nid=0x4c03 waiting > on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > "C2 CompilerThread0" daemon prio=5 tid=0x00007fc93b051800 nid=0x4a03 waiting > on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > "Signal Dispatcher" daemon prio=5 tid=0x00007fc93b04c000 nid=0x3e0f runnable > [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > "Finalizer" daemon prio=5 tid=0x00007fc93c800000 nid=0x3803 in Object.wait() > [0x0000700000d3a000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000007aaa84858> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) > - locked <0x00000007aaa84858> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) > "Reference Handler" daemon prio=5 tid=0x00007fc93c00e000 nid=0x3603 in > Object.wait() [0x0000700000c37000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000007aaa84470> (a java.lang.ref.Reference$Lock) > at java.lang.Object.wait(Object.java:503) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) > - locked <0x00000007aaa84470> (a java.lang.ref.Reference$Lock) > "main" prio=5 tid=0x00007fc93c002800 nid=0x1703 in Object.wait() > [0x0000700000218000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000007aca98af0> (a > org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread) > at java.lang.Thread.join(Thread.java:1281) > - locked <0x00000007aca98af0> (a > org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread) > at > org.apache.logging.log4j.core.appender.AsyncAppender.stop(AsyncAppender.java:126) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.stop(AbstractConfiguration.java:321) > at > org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:306) > at > org.apache.logging.log4j.core.config.Configurator.shutdown(Configurator.java:337) > at > org.apache.logging.log4j.junit.LoggerContextRule$1.evaluate(LoggerContextRule.java:97) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at org.junit.runners.Suite.runChild(Suite.java:128) > at org.junit.runners.Suite.runChild(Suite.java:27) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75) > at > org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:161) > at > org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) > "VM Thread" prio=5 tid=0x00007fc93c00b800 nid=0x3403 runnable > "GC task thread#0 (ParallelGC)" prio=5 tid=0x00007fc93b809800 nid=0x2403 > runnable > "GC task thread#1 (ParallelGC)" prio=5 tid=0x00007fc93b80a000 nid=0x2603 > runnable > "GC task thread#2 (ParallelGC)" prio=5 tid=0x00007fc93b80a800 nid=0x2803 > runnable > "GC task thread#3 (ParallelGC)" prio=5 tid=0x00007fc93b80b000 nid=0x2a03 > runnable > "GC task thread#4 (ParallelGC)" prio=5 tid=0x00007fc93b80c000 nid=0x2c03 > runnable > "GC task thread#5 (ParallelGC)" prio=5 tid=0x00007fc93b80c800 nid=0x2e03 > runnable > "GC task thread#6 (ParallelGC)" prio=5 tid=0x00007fc93b80d000 nid=0x3003 > runnable > "GC task thread#7 (ParallelGC)" prio=5 tid=0x00007fc93b00b800 nid=0x3203 > runnable > "VM Periodic Task Thread" prio=5 tid=0x00007fc93c01d000 nid=0x5003 waiting on > condition > JNI global references: 170 > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)