Patch attached. Server synchronizes on selector.keys() when it iterates over it once every few seconds. JavaDoc for Selector says we need to synchronize on these sets while accessing them. In this perticular case, IPC handler could enqueue more connections (thus modifying selector.keys()) while Responder iterates over them.
With some artificial sleeps I verified these exceptions show up before the patch and disappear after.
Regd unit test, I think this was straight forward incorrect access of an object and we are correcting it. I don't think this requires a unit test, as such it is not easy to trigger this reliably.