As seen in this run: http://build.wiredtiger.com:8080/job/wiredtiger-test-unit/6791/console
We end up with all internal threads sleeping and the checkpoint blocked:
What's happening is that the checkpoint is trying to read a page in the WT_REF_LIMBO state. But the eviction server thread has a hazard pointer on that page, preventing checkpoint from making progress.
We already have the eviction server take care not to stop on certain pages. This seems like another case we need to handle there.