2015-06-30 21:06 GMT+03:00 Rich Mayfield <rich.mayfi...@veeva.com>:
> Moved from Tomcat 7.0.55 to Tomcat 8.0.23 and now see the AJP Poller
> thread churning through a lot of CPU in a pretty much quiet system.
>
> This seems like a bug.
>
> * Restarting does not resolve the issue

Is it easy to observe the issue? Does it happen soon after a restart,
or you are waiting for a long time?

> * I've seen some mention of bumping up the memory. Doubling the max
> heap (-Xmx from 506m to 1012m) does not help. This is a relatively
> small service that is essentially idle - or at least it would be with
> the exception of this Poller thread.
>
> The connector configuration is unchanged.
>
> <Connector port="28080" protocol="AJP/1.3"

1. Note that the above value of "protocol" means auto-selecting
between APR and BIO implementations.
>From thread name (below) it selected APR implementation provided by
Tomcat-Native library.

You may try choosing another implementation of the protocol.

Version of Tomcat-Native = ?  (It is logged when Tomcat starts)

>                secure="true"
>                scheme="https"
>                connectionTimeout="20000"
>                packetSize="20000"
>                maxThreads="1024"
>                URIEncoding="UTF-8"
>                redirectPort="443"
>                useSendfile="false"
>                compression="force"
>                
> compressableMimeTypes="text/html,text/xml,text/plain,text/javascript,text/css,application/json,application/xml"
> />
>
> The thread consuming all the CPU

2. How do you know that *this* thread consumes the cpu?
>From the stack trace it seems rather idle.
Does its state (stack trace) change over time?

Otherwise, this looks like a bug.

> "ajp-apr-28080-Poller" #62 daemon prio=5 os_prio=0
> tid=0x00002ba40293e000 nid=0x407d waiting on condition
> [0x00002ba3fc200000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00000000eaf94570> (a
> java.util.concurrent.locks.ReentrantLock$NonfairSync)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
>         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
>         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
>         at 
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
>         at 
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
>         at 
> java.util.concurrent.LinkedBlockingQueue.signalNotEmpty(LinkedBlockingQueue.java:172)
>         at 
> java.util.concurrent.LinkedBlockingQueue.offer(LinkedBlockingQueue.java:430)
>         at org.apache.tomcat.util.threads.TaskQueue.offer(TaskQueue.java:74)
>         at org.apache.tomcat.util.threads.TaskQueue.offer(TaskQueue.java:31)
>         at 
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1361)
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:161)
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:141)
>         at 
> org.apache.tomcat.util.net.AprEndpoint.processSocket(AprEndpoint.java:896)
>         at 
> org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1883)
>         at java.lang.Thread.run(Thread.java:745)
>
>
> # rpm -qa | grep apr
> apr-1.5.1-1
> apr-util-1.5.3-1
>
> # rpm -qa | grep http
> httpd-2.2.27-1
>
> Server version: Apache Tomcat/8.0.23
> Server built:   May 19 2015 14:58:38 UTC
> Server number:  8.0.23.0
> OS Name:        Linux
> OS Version:     2.6.18-371.el5
> Architecture:   amd64
> JVM Version:    1.8.0_40-b25
> JVM Vendor:     Oracle Corporation
>

3. Tomcat 8.0.24 has been released several days ago.

Its connector ("Coyote") section of changelog does not mention any
similar errors, although there were several changes related to
APR/native.


Best regards,
Konstantin Kolinko

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

Reply via email to