Right, our guess is that the project save was corrupted by the network
and/or computer and/or disk (by a "glitch"), so way lower down in the
system than Analysis or Python. It was fairly lucky here in that all that
happened was that six shifts were effectively deleted, and after removing
all references to them in the Nmr.xml file, the project re-opened (and
there is a way to re-create the missing six shifts). It could have been
much worse.
But this makes me wonder whether we should get even more paranoid and
after saving the contents to disk then re-open the file for reading in
order to do a checksum and see if there is a mismatch with what was
written to the file. This would have to be done in the API, and I'm not
sure whether Rasmus would be that keen on this (it would slow the save
down, perhaps by a lot, because of the checksum calculation having to be
done twice, and reading the file from disk). If there is a mismatch you
would have to assume your file was corrupted, and so would have to do
another save.
Wayne
|