 <p>Do you have another thread that is iterating/modifying the key set of Selector? From the Selector's java doc, keys are NOT threadsafe. </p> <blockquote> <p>Concurrency</p> <p>Selectors are themselves safe for use by multiple concurrent threads; their key sets, however, are not. ...</p> </blockquote> <p>You may get CME exception If you have a thread working on the key set while Selector.close() is being called. Looking at the stack trace, the exceptions are happening in Sun's common implementation codes, so it shouldn't be AIX specific implementation. My suggestion would be identifying the thread that is add/removing selector keys, and see if synchronized keyword needs to be applied, or you need to make a sync-copy before working on the keys. If the modifying thread is not your thread/codes, then it is AIX issue. However, I can't tell without seeing the codes that modifying the key set. </p> <p>Good luck debugging. I hope it helps</p>