Make saving an atomic operation
Saving the score should be an atomic operation so that – no matter what happens – the use is always left with a file containing a valid score. In the worst case the state of that score will be the one from the last successful saving operation.
There are two issues (#63271: Changing instrument names may lead to crash and empty mscz file and #87021: Crash on saving results in complete data loss (Version: 2.0.2, Linux)) reporting crashes that result in an empty score, among others when saving the score. Assuming that the empty scores result from the application crashing DURING the writing of the file these issues would be highly mitigated by making saving an atomic operation. Also, finding the cause of the crashes (which are hard to reproduce) would become much easier since the user can start reproducing the crash from a much more recent state.