[
https://issues.apache.org/jira/browse/TAP5-277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639543#action_12639543
]
Wendell Ruotsi commented on TAP5-277:
-------------------------------------
I don't see any problem running under a version of java later than 1.6.0_01.
Tomcat on that machine had been running under 1.6.0. JConsole says its:
Java HotSpot(TM) Client VM version 1.6.0-rc-b104
I'll see if I can get the JRE updated and verify that all is well.
Thanks,
Wendell
------------------------------------------------------------------------------------------
Running with 1.6.0_01, it definitely hangs every time:
Full thread dump Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing):
"DestroyJavaVM" prio=6 tid=0x00296c00 nid=0x17b0 waiting on condition
[0x00000000..0x0090fd4c]
java.lang.Thread.State: RUNNABLE
"TryWrite9" prio=6 tid=0x02ac7800 nid=0x618 waiting on condition
[0x033ef000..0x033efc14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite8" prio=6 tid=0x02ac5800 nid=0x1494 waiting on condition
[0x0334f000..0x0334fd14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite7" prio=6 tid=0x02ac3800 nid=0x7e4 waiting on condition
[0x032af000..0x032afa14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite6" prio=6 tid=0x02ac1800 nid=0x8ac waiting on condition
[0x0320f000..0x0320fb14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite5" prio=6 tid=0x02abf800 nid=0x1694 waiting on condition
[0x0316f000..0x0316fc14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite4" prio=6 tid=0x02abc800 nid=0x1768 waiting on condition
[0x030cf000..0x030cfd14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite3" prio=6 tid=0x02aba800 nid=0x10e4 waiting on condition
[0x0302f000..0x0302fa14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite2" prio=6 tid=0x02ab8800 nid=0xf80 waiting on condition
[0x02f8f000..0x02f8fb14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"TryWrite1" prio=6 tid=0x02ab6800 nid=0xecc waiting on condition
[0x02eef000..0x02eefc14]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x2299e148> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
at
ValidateReentrantReadWriteLockBugFixed.run(ValidateReentrantReadWriteLockBugFixed.java:66)
at java.lang.Thread.run(Unknown Source)
"Low Memory Detector" daemon prio=6 tid=0x02a5d800 nid=0x12f8 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x02a58800 nid=0x122c waiting on condition
[0x00000000..0x02d0f89c]
java.lang.Thread.State: RUNNABLE
"Attach Listener" daemon prio=10 tid=0x02a57800 nid=0x558 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x02a56800 nid=0x12a0 waiting on
condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=0x02a52000 nid=0x145c in Object.wait()
[0x02c1f000..0x02c1fc14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22970b38> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x22970b38> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x02a4dc00 nid=0xe0 in Object.wait()
[0x02bcf000..0x02bcfd14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22970a38> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x22970a38> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x02a44800 nid=0x19c runnable
"VM Periodic Task Thread" prio=10 tid=0x02a5ec00 nid=0x1294 waiting on condition
JNI global references: 580
Heap
def new generation total 960K, used 574K [0x22970000, 0x22a70000, 0x22e50000)
eden space 896K, 64% used [0x22970000, 0x229ffb78, 0x22a50000)
from space 64K, 0% used [0x22a50000, 0x22a50000, 0x22a60000)
to space 64K, 0% used [0x22a60000, 0x22a60000, 0x22a70000)
tenured generation total 4096K, used 0K [0x22e50000, 0x23250000, 0x26970000)
the space 4096K, 0% used [0x22e50000, 0x22e50000, 0x22e50200, 0x23250000)
compacting perm gen total 12288K, used 127K [0x26970000, 0x27570000,
0x2a970000)
the space 12288K, 1% used [0x26970000, 0x2698fc18, 0x2698fe00, 0x27570000)
ro space 8192K, 62% used [0x2a970000, 0x2ae6e4e8, 0x2ae6e600, 0x2b170000)
rw space 12288K, 52% used [0x2b170000, 0x2b7b0e78, 0x2b7b1000, 0x2bd70000)
Howard M. Lewis Ship (JIRA) wrote:
[
[1]https://issues.apache.org/jira/browse/TAP5-277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639444#action_12639444
]
Howard M. Lewis Ship commented on TAP5-277:
-------------------------------------------
I've been trying to pursue this; my development JDK doesn't seem to have an
issue.
Here's some code, adapted from a JDK bug report, to see if things are working
correctly:
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* Test ReentrantReadWrite Lock. This code shows how we cannot regain a read
lock if a write lock times out.
* Adapted from [2]http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.
*/
public class ValidateReentrantReadWriteLockBugFixed implements Runnable
{
private static final int THREAD_COUNT = 10;
final static ReadWriteLock lock = new ReentrantReadWriteLock(false);
final static Runnable blocker = new Runnable()
{
public void run()
{
log("Acquire Read (blocker)");
lock.readLock().lock();
sleep(20);
log("Release Read (blocker)");
lock.readLock().unlock();
}
};
public void run()
{
log("Acquire Read (initial)");
lock.readLock().lock();
log("Release Read (for upgrade)");
lock.readLock().unlock();
log("Try For Write");
try
{
boolean gotWrite = lock.writeLock().tryLock(20,
TimeUnit.MILLISECONDS);
if (gotWrite)
{
log("Got Write");
sleep(5);
log("Unlocking write");
lock.writeLock().unlock();
}
else
{
log("**** Write timed out");
}
}
catch (InterruptedException e)
{
log("Interrupted");
}
log("Re-Obtain Read (after write lock released)");
lock.readLock().lock();
log("Release Read");
lock.readLock().unlock();
log("EXIT Try");
}
static void sleep(int millis)
{
try
{
Thread.sleep(millis);
}
catch (InterruptedException ex)
{ // Ignore.
}
}
static void log(String s)
{
System.out.printf("%s: %s%n", Thread.currentThread().getName(), s);
}
public static void main(String[] args)
{
for (int i = 0; i < THREAD_COUNT; i++)
{
new Thread(blocker, "Blocker" + i).start();
new Thread(new ValidateReentrantReadWriteLockBugFixed(), "TryWrite"
+ i).start();
}
}
}
On my machine, this code executes and completes normally, with a mix of
successful locks and lock timeouts.
Please compile and execute this code in your target environment.
Request threads hang at ConcurrentBarrier.withRead() on multi-processor machine
-------------------------------------------------------------------------------
Key: TAP5-277
URL: [3]https://issues.apache.org/jira/browse/TAP5-277
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-ioc
Affects Versions: 5.0.15
Reporter: Wendell Ruotsi
At some point, my pages stop responding - before the request even gets logged -
looking through the threads, I see them hung (3 of them here). On a single
processor machine, I haven't seen this. This happens with both Tomcat and Jetty.
Name: http-80-1
State: WAITING on [EMAIL PROTECTED]
Total blocked: 0 Total waited: 10
Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:73)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
$RequestHandler_11cf8146628.service($RequestHandler_11cf8146628.java)
$RequestHandler_11cf814661f.service($RequestHandler_11cf814661f.java)
org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1005)
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
$HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
$HttpServletRequestFilter_11cf814661d.service($HttpServletRequestFilter_11cf814661d.java)
$HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
$HttpServletRequestHandler_11cf814661c.service($HttpServletRequestHandler_11cf814661c.java)
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
Name: http-80-2
State: WAITING on [EMAIL PROTECTED]
Total blocked: 1 Total waited: 16
Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.restoreReadLock(ConcurrentBarrier.java:173)
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.tryWithWrite(ConcurrentBarrier.java:243)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:87)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
$RequestHandler_11cf8146628.service($RequestHandler_11cf8146628.java)
$RequestHandler_11cf814661f.service($RequestHandler_11cf814661f.java)
org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1005)
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
$HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
$HttpServletRequestFilter_11cf814661d.service($HttpServletRequestFilter_11cf814661d.java)
$HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
$HttpServletRequestHandler_11cf814661c.service($HttpServletRequestHandler_11cf814661c.java)
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
Name: http-80-3
State: WAITING on [EMAIL PROTECTED]
Total blocked: 0 Total waited: 1
Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:73)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
$RequestHandler_11cf8146628.service($RequestHandler_11cf8146628.java)
$RequestHandler_11cf814661f.service($RequestHandler_11cf814661f.java)
org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1005)
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
$HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
$HttpServletRequestFilter_11cf814661d.service($HttpServletRequestFilter_11cf814661d.java)
$HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
$HttpServletRequestHandler_11cf814661c.service($HttpServletRequestHandler_11cf814661c.java)
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
----------------------------------------------------------------------------------------
[1]
https://issues.apache.org/jira/browse/TAP5-277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639444#action_12639444
[2] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733
[3] https://issues.apache.org/jira/browse/TAP5-277
> Request threads hang at ConcurrentBarrier.withRead() on multi-processor
> machine
> -------------------------------------------------------------------------------
>
> Key: TAP5-277
> URL: https://issues.apache.org/jira/browse/TAP5-277
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-ioc
> Affects Versions: 5.0.15
> Reporter: Wendell Ruotsi
>
> At some point, my pages stop responding - before the request even gets logged
> - looking through the threads, I see them hung (3 of them here). On a single
> processor machine, I haven't seen this. This happens with both Tomcat and
> Jetty.
> Name: http-80-1
> State: WAITING on [EMAIL PROTECTED]
> Total blocked: 0 Total waited: 10
> Stack trace:
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(Unknown Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
> Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
> Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
> Source)
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown
> Source)
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:73)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> $RequestHandler_11cf8146628.service($RequestHandler_11cf8146628.java)
> $RequestHandler_11cf814661f.service($RequestHandler_11cf814661f.java)
> org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1005)
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> $HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> $HttpServletRequestFilter_11cf814661d.service($HttpServletRequestFilter_11cf814661d.java)
> $HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
> $HttpServletRequestHandler_11cf814661c.service($HttpServletRequestHandler_11cf814661c.java)
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> java.lang.Thread.run(Unknown Source)
> Name: http-80-2
> State: WAITING on [EMAIL PROTECTED]
> Total blocked: 1 Total waited: 16
> Stack trace:
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(Unknown Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
> Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
> Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
> Source)
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown
> Source)
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.restoreReadLock(ConcurrentBarrier.java:173)
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.tryWithWrite(ConcurrentBarrier.java:243)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:87)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> $RequestHandler_11cf8146628.service($RequestHandler_11cf8146628.java)
> $RequestHandler_11cf814661f.service($RequestHandler_11cf814661f.java)
> org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1005)
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> $HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> $HttpServletRequestFilter_11cf814661d.service($HttpServletRequestFilter_11cf814661d.java)
> $HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
> $HttpServletRequestHandler_11cf814661c.service($HttpServletRequestHandler_11cf814661c.java)
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> java.lang.Thread.run(Unknown Source)
> Name: http-80-3
> State: WAITING on [EMAIL PROTECTED]
> Total blocked: 0 Total waited: 1
> Stack trace:
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(Unknown Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
> Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
> Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
> Source)
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown
> Source)
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:73)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> $RequestHandler_11cf8146628.service($RequestHandler_11cf8146628.java)
> $RequestHandler_11cf814661f.service($RequestHandler_11cf814661f.java)
> org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1005)
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> $HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> $HttpServletRequestFilter_11cf814661d.service($HttpServletRequestFilter_11cf814661d.java)
> $HttpServletRequestHandler_11cf8146620.service($HttpServletRequestHandler_11cf8146620.java)
> $HttpServletRequestHandler_11cf814661c.service($HttpServletRequestHandler_11cf814661c.java)
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]