[ 
https://issues.apache.org/jira/browse/LOG4J2-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13541156#comment-13541156
 ] 

Ralph Goers commented on LOG4J2-137:
------------------------------------

Nevermind.  In looking at the source code for version 1.6 it seems there is a 
race condition that may cause the server thread to notify the client before the 
client waits. The latest version of dumbster fixed this but apparently wasn't 
released. The project appears to be dead as the update was made in 2005 and the 
source hasn't been updated since. The project seems to have been forked to 
github but I don't see any releases anywhere.  Given that, I really don't have 
a clue how to fix this.
                
> Build hangs during SMTPAppenderTest
> -----------------------------------
>
>                 Key: LOG4J2-137
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-137
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.0-beta3
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
> Maven home: /usr/local/Cellar/maven/3.0.4/libexec
> Java version: 1.7.0_10, vendor: Oracle Corporation
> Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.8.2", arch: "x86_64", family: "mac"
>            Reporter: Joern Huxhorn
>
> I was trying to build SVN revision r1426064
> This is the stacktrace of the hang:
> Running org.apache.logging.log4j.core.appender.SMTPAppenderTest
> 2012-12-28 22:10:56
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode):
> "Thread-0" prio=5 tid=0x00007ffd70a23800 nid=0x5307 runnable 
> [0x0000000171629000]
>    java.lang.Thread.State: RUNNABLE
>       at java.net.PlainSocketImpl.socketAccept(Native Method)
>       at 
> java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
>       at java.net.ServerSocket.implAccept(ServerSocket.java:522)
>       at java.net.ServerSocket.accept(ServerSocket.java:490)
>       at com.dumbster.smtp.SimpleSmtpServer.run(Unknown Source)
>       at java.lang.Thread.run(Thread.java:722)
> "Service Thread" daemon prio=5 tid=0x00007ffd71855000 nid=0x5103 runnable 
> [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread1" daemon prio=5 tid=0x00007ffd71854000 nid=0x5003 waiting 
> on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread0" daemon prio=5 tid=0x00007ffd70856000 nid=0x4f03 waiting 
> on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Signal Dispatcher" daemon prio=5 tid=0x00007ffd70855000 nid=0x4e03 waiting 
> on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Finalizer" daemon prio=5 tid=0x00007ffd7081e000 nid=0x3b03 in Object.wait() 
> [0x0000000170b56000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       - waiting on <0x000000014e7a5798> (a java.lang.ref.ReferenceQueue$Lock)
>       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
>       - locked <0x000000014e7a5798> (a java.lang.ref.ReferenceQueue$Lock)
>       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
>       at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
> "Reference Handler" daemon prio=5 tid=0x00007ffd7080f800 nid=0x3a03 in 
> Object.wait() [0x0000000170a53000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       - waiting on <0x000000014e7a5320> (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 <0x000000014e7a5320> (a java.lang.ref.Reference$Lock)
> "main" prio=5 tid=0x00007ffd7080e000 nid=0x1703 in Object.wait() 
> [0x000000010bbed000]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       - waiting on <0x000000014f874068> (a com.dumbster.smtp.SimpleSmtpServer)
>       at java.lang.Object.wait(Object.java:503)
>       at com.dumbster.smtp.SimpleSmtpServer.start(Unknown Source)
>       - locked <0x000000014f874068> (a com.dumbster.smtp.SimpleSmtpServer)
>       at 
> org.apache.logging.log4j.core.appender.SMTPAppenderTest.testDelivery(SMTPAppenderTest.java:137)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:601)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:601)
>       at 
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
> "VM Thread" prio=5 tid=0x00007ffd71847800 nid=0x3903 runnable 
> "GC task thread#0 (ParallelGC)" prio=5 tid=0x00007ffd71804800 nid=0x3703 
> runnable 
> "GC task thread#1 (ParallelGC)" prio=5 tid=0x00007ffd71805800 nid=0x3803 
> runnable 
> "VM Periodic Task Thread" prio=5 tid=0x00007ffd71852800 nid=0x5203 waiting on 
> condition 
> JNI global references: 160
> Heap
>  PSYoungGen      total 26240K, used 17690K [0x000000014e7a0000, 
> 0x00000001504e0000, 0x000000016bba0000)
>   eden space 22528K, 78% used 
> [0x000000014e7a0000,0x000000014f8e6a98,0x000000014fda0000)
>   from space 3712K, 0% used 
> [0x0000000150140000,0x0000000150140000,0x00000001504e0000)
>   to   space 3712K, 0% used 
> [0x000000014fda0000,0x000000014fda0000,0x0000000150140000)
>  ParOldGen       total 59904K, used 0K [0x0000000113fa0000, 
> 0x0000000117a20000, 0x000000014e7a0000)
>   object space 59904K, 0% used 
> [0x0000000113fa0000,0x0000000113fa0000,0x0000000117a20000)
>  PSPermGen       total 21248K, used 7927K [0x000000010eda0000, 
> 0x0000000110260000, 0x0000000113fa0000)
>   object space 21248K, 37% used 
> [0x000000010eda0000,0x000000010f55df20,0x0000000110260000)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to