…so I went over our classes which integrate old io with nio with a fine toothcomb (note: Sun’s SSL hasn’t yet been upgraded to support SelectableChannel’s). And I found a point where a particular malformed HTTP request could cause a busy-wait on an individual Socket - but only if that Socket had been created via old io, not via nio. This could, of course, explain cpu-hogging. I fixed that loophole and put in an alert so that if a request triggers it, we’ll get a note in the log, and I’ll know that that problem at least was being exercised.
I’ve also put in Kev’s brute-force “if you take too long to request data, I kill you” approach :). We’ll just have to wait and see which one triggers first…