Hi Mark,

> -----Original Message-----
> From: Mark Thomas [mailto:ma...@apache.org]
> Sent: Thursday, October 10, 2013 7:37 PM

> Thanks. Can you just check how many poller threads you get on a clean
> start? I'd expect 2 in most cases.

Yes, I see two "ClientPoller" threads after a clean start.

Here is a thread dump after clean start:

2013-10-10 19:39:05
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.0-b56 mixed mode):

"http-nio-8784-Acceptor-0" daemon prio=6 tid=0x000000000a826000 nid=0x27e8 
runnable [0x000000000c9ce000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
        at 
sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241)
        - locked <0x00000000ef0026b0> (a java.lang.Object)
        at 
org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:714)
        at java.lang.Thread.run(Thread.java:724)

"http-nio-8784-ClientPoller-1" daemon prio=6 tid=0x000000000ae73000 nid=0x1bd0 
runnable [0x000000000c78f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at 
sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
        at 
sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x00000000edcc3748> (a sun.nio.ch.Util$2)
        - locked <0x00000000edcc3738> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000edcc35e8> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at 
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1074)
        at java.lang.Thread.run(Thread.java:724)

"http-nio-8784-ClientPoller-0" daemon prio=6 tid=0x000000000ae72800 nid=0xa78 
runnable [0x000000000c30f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at 
sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
        at 
sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x00000000edcbf548> (a sun.nio.ch.Util$2)
        - locked <0x00000000edcbf538> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000edcbf3e8> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at 
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1074)
        at java.lang.Thread.run(Thread.java:724)

"ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=6 
tid=0x000000000aae3000 nid=0x19e0 waiting on condition [0x000000000c0ff000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1331)
        at java.lang.Thread.run(Thread.java:724)

"Thread-4" daemon prio=6 tid=0x000000000af7a800 nid=0x1a5c runnable 
[0x000000000bfdf000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
        at sun.nio.ch.Iocp.access$300(Iocp.java:46)
        at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:333)
        at java.lang.Thread.run(Thread.java:724)

"NioBlockingSelector.BlockPoller-1" daemon prio=6 tid=0x000000000aaa0800 
nid=0xcbc runnable [0x0000000009d0e000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at 
sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
        at 
sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x00000000eeffeb90> (a sun.nio.ch.Util$2)
        - locked <0x00000000eeffeb80> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000eeffea10> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at 
org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342)

"GC Daemon" daemon prio=2 tid=0x000000000a7e4800 nid=0x1988 in Object.wait() 
[0x000000000b9df000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000c04031b8> (a sun.misc.GC$LatencyLock)
        at sun.misc.GC$Daemon.run(GC.java:117)
        - locked <0x00000000c04031b8> (a sun.misc.GC$LatencyLock)

"AsyncFileHandlerWriter-242583474" daemon prio=6 tid=0x000000000981b000 
nid=0x12d4 waiting on condition [0x0000000009e3f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000c04031c8> (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.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:519)
        at 
java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:682)
        at 
org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:147)

"Service Thread" daemon prio=6 tid=0x00000000082b4000 nid=0x95c runnable 
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x00000000082a7000 nid=0x1e8 waiting on 
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x0000000008290800 nid=0x2100 waiting 
on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x000000000828d800 nid=0x6b0 waiting on 
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x000000000828c000 nid=0xd60 runnable 
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x0000000008238800 nid=0x1838 in Object.wait() 
[0x0000000008f8f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000c042c3c0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x00000000c042c3c0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

"Reference Handler" daemon prio=10 tid=0x00000000020ea000 nid=0x1fb0 in 
Object.wait() [0x0000000008b7f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000c042c3f0> (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 <0x00000000c042c3f0> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x0000000001c1f000 nid=0xd04 runnable [0x000000000235e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.DualStackPlainSocketImpl.accept0(Native Method)
        at 
java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
        at 
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:198)
        - locked <0x00000000edcce9b8> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:530)
        at java.net.ServerSocket.accept(ServerSocket.java:498)
        at 
org.apache.catalina.core.StandardServer.await(StandardServer.java:437)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:746)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:692)
        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:606)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:352)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:486)

"VM Thread" prio=10 tid=0x0000000008232000 nid=0xa60 runnable 

"GC task thread#0 (ParallelGC)" prio=6 tid=0x0000000002026800 nid=0x1c54 
runnable 

"GC task thread#1 (ParallelGC)" prio=6 tid=0x0000000002028000 nid=0x2680 
runnable 

"VM Periodic Task Thread" prio=10 tid=0x00000000082bd800 nid=0xe2c waiting on 
condition 

JNI global references: 219



Regards,
Konstantin Preißer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to