Network stalled on block height 10008 due to logic flaw in pool software on official pool. It was not requesting new block from daemon after daemon rejected previous block submission.
We rewrote the code that refreshes miner jobs to not blindly compare block height of the current job with block height of the network and instead refresh the block after every block submission attempt.
The original code was polling for new block template every 1 second, but didn’t refresh the miner jobs until block height changed. This was obviously incorrect. We restricted the loop to only initial startup of the pool.