Closed ppxasjsm closed 9 years ago
/home/ppxasjsm/sire.app/bin/python() [0x40456a] EndTrace Exception 'SireStream::magic_error' thrown by the thread 'master:main'. Magic error for "SireMove::Integrator". Got 1074836238, but expected 33672432. Thrown from FILE: /home/ppxasjsm/Projects/Sire/Sire_git/Sire/corelib/src/libs/SireStream/datastream.cpp, LINE: 133, FUNCTION: SireStream::VersionID SireStream::readHeader(QDataStream&, const Sire::RegisterMetaTypeBase&)
Hi Antonia,
Restarting from a previously serialized object doesn't work if you have update the data that is normally being streamed to/from a s3 file
(see the code in QDataStream SIREMOVE_EXPORT &operator<<(QDataStream &ds, const OpenMMFrEnergyST &velver) .. and /* Extract from a binary datastream / QDataStream SIREMOVE_EXPORT &operator>>(QDataStream &ds, OpenMMFrEnergyST &velver) { ...
If you want to ensure backward compatibility of the new code with old restart files you can use version numbers
See for example /corelib/src/libs/SireMove/mtsmc.cpp
Best wishes,
Julien
Dr. Julien Michel, Royal Society University Research Fellow Room 263, School of Chemistry Joseph Black Building, University of Edinburgh David Brewster Road
Edinburgh
EH9 3FJ United Kingdom phone: +44 (0)131 650 4797
On Tue, May 5, 2015 at 4:53 PM, ppxasjsm notifications@github.com wrote:
/home/ppxasjsm/sire.app/bin/python() [0x40456a] EndTrace Exception 'SireStream::magic_error' thrown by the thread 'master:main'. Magic error for "SireMove::Integrator". Got 1074836238, but expected 33672432. Thrown from FILE: /home/ppxasjsm/Projects/Sire/Sire_git/Sire/corelib/src/libs/SireStream/datastream.cpp, LINE: 133, FUNCTION: SireStream::VersionID SireStream::readHeader(QDataStream&, const Sire::RegisterMetaTypeBase&)
— Reply to this email directly or view it on GitHub https://github.com/michellab/Sire/issues/5#issuecomment-99122905.
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Ok maybe I don't quite understand this then. Say I run a short run of 5 cycles (which finish successfully). Then rather than going back to starting from scratch, I want to use the restart file that was generated...Rerunning with the restart file in the current directory produces the error. Isn't the reason for deleting restart files, such that we always start with a new run? I just want to make sure, that my minimization/annealling isn't executed when I start from a restart file.
What you described should work. Are you sure that your code is reading in the object variables in the reverse order they are written to the s3 file?
Julien Sent from my phone. On 5 May 2015 17:28, "ppxasjsm" notifications@github.com wrote:
Ok maybe I don't quite understand this then. Say I run a short run of 5 cycles (which finish successfully). Then rather than going back to starting from scratch, I want to use the restart file that was generated...Rerunning with the restart file in the current directory produces the error. Isn't the reason for deleting restart files, such that we always start with a new run? I just want to make sure, that my minimization/annealling isn't executed when I start from a restart file.
— Reply to this email directly or view it on GitHub https://github.com/michellab/Sire/issues/5#issuecomment-99132568.
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Well I don't think I have changed, the part for the restarts/saving of the system. I'll have a look tomorrow.
This thread had super helpful explanations. https://groups.google.com/forum/#!msg/sire-developers/PLPDmjrcJqQ/IQiRl-DfFkwJ I though I was reading and writing the same variables, but in the end due to the very long in and output stream I had made a mistake. Fixed now.
Is it possible that restarts do not work using the 'current' openMMMD.py script?