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

Reply via email to