I have just been through the process of zombifying and curing the villagers in my trade hall.
Each time a librarian villager was cured, they linked to the "1st choice" job block (I don't know what determines this block) which meant that they all linked to the same block.
- When free to move, all the villagers pathing to and trying to use the same job block leads to a crash.
- Breaking a job block linked to multiple villagers leads to a crash.
- All villagers sleep in the same bed in a stack - this does not lead to a crash.
Loading the game gives around 2 to 3 seconds before the game crashes. Loading the game in creative and using this time to very quickly set the game to night stops all the villagers pathing to the job block and avoids the crash.
Sending villagers into the nether allows you to safely remove them from a job block without a crash however the job block cannot be safely removed until all but one villagers have been unlinked from it.
Sending all villagers into the nether allows all job blocks to be removed, villagers can then be returned in small batches and given back job blocks without crashing the game. Villagers coming in from the Nether take the 1st unassigned job block as expected.
Whilst I have been able to fix the issue in a copy of the save via creative, this disables achievements on the world. It would be nice to continue the long term world in survival with achievements still active. I still have the original save but don't have a way to fix the bug in the time available before the crash in survival.
I can send the bugged save on request.