Bug 1097410

Summary: [GSS] (6.2.4) NIO EventPoller thread dies from uncaught NPE
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Aaron Ogburn <aogburn>
Component: WebAssignee: Rémy Maucherat <rmaucher>
Status: CLOSED CURRENTRELEASE QA Contact: Radim Hatlapatka <rhatlapa>
Severity: unspecified Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.3.0, 6.2.0, 6.2.1, 6.2.2, 6.2.3CC: aogburn, bmaxwell, cdewolf, jkudrnac, smumford, vtunka
Target Milestone: CR1   
Target Release: EAP 6.2.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In previous versions of the product, particular concurrency between a request thread and the NIO EventPoller thread could result in the EventPoller seeing an unaccounted for null `ChannelInfo` object in its maintain loop. As a result, the NIO EventPoller thread could then die from an uncaught `NullPointerException`. This could then lead to overall server unresponsiveness and connections remaining unclosed until the pool is exhausted. In this release the EventPoller thread accounts for any such null to prevent the `NullPointerException` from being thrown and the EventPoller thread will no longer die from such a `NullPointerException`.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-07 12:13:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1091974    
Bug Blocks: 1067534, 1103808    

Description Aaron Ogburn 2014-05-13 18:23:29 UTC
The EventPoller has been seen to die due to the following NPE:

Exception caught in EventPoller.maintain: java.lang.NullPointerException
        at org.apache.tomcat.util.net.NioEndpoint.processChannel(NioEndpoint.java:480) [jbossweb-7.2.2.Final-01079145-debug.jar:7.2.2.Final]
        at org.apache.tomcat.util.net.NioEndpoint$EventPoller.maintain(NioEndpoint.java:1170) [jbossweb-7.2.2.Final-01079145-debug.jar:7.2.2.Final]
        at org.apache.tomcat.util.net.NioEndpoint$EventPoller.run(NioEndpoint.java:1138) [jbossweb-7.2.2.Final-01079145-debug.jar:7.2.2.Final]
        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]

Comment 1 Aaron Ogburn 2014-05-13 18:26:06 UTC
A null pointer check was added already to avoid the NPE.  This fix got in pretty quick With the upgrade to 7.4.2.Final, but just wanted to get this bug and fix noted.