https://issues.apache.org/bugzilla/show_bug.cgi?id=50467

           Summary: Occasional NIO connector lockups on high load
           Product: Tomcat 6
           Version: 6.0.29
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: Connectors
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: h...@fasterlight.com


We've been running Tomcat 6.0.29 on FC8 2.6.21 with tens of thousands of long
polling threads which usually work fine. Every few days though we will
experience a sudden lockup of the NIO connector and it has to be restarted.
These have been seen to be accompanied by the following stack trace:

Exception in thread "http-8082-ClientPoller-0" java.lang.NullPointerException
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1620)
    at java.lang.Thread.run(Thread.java:662)

Looking at the source it seems the issue is likely to be a race condition where
access() is called on a null attachment, probably while it's in the process of
being cancelled:

                    while (iterator != null && iterator.hasNext()) {
                        SelectionKey sk = (SelectionKey) iterator.next();
                        KeyAttachment attachment =
(KeyAttachment)sk.attachment();
/*NPE*/                 attachment.access();
                        iterator.remove();
                        processKey(sk, attachment);
                    }//while

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

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

Reply via email to