Tooling suffered from a serious bug that caused double-destruction of FileManager objects. These objects were owned by the Tool, but then passed as raw pointers to the CompilerInstance which tried to take ownership of them.
This bug is asymptomatic today because of another bug of a horrible sequence of coincidences, which I discovered when trying to fix a different bug that perturbed the world enough to expose this.