(Well, it *still* hangs even after the timeout has passed, but at least there's multiple problems to debug now)