We should not throw an exception at line 460 if we are interrupted - this is likely to happen - the scheduled thread is trying to obtain the lock while a new message arrived and the message arrival cancels the scheduled task.

Maybe we can just remove throwing that exception altogether (just change it to a debug log).