[ 
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)

Reply via email to