I wasn't able to load Magma-seaside-mmb.2.mcz, so I'm creating the session on my own in the #initialize method of the top component, beginning a transaction right off the bat, and doing a 'session commit; begin' when the user clicks 'Save'. So I'm always in an open transaction -- the last of which never gets closed.
Use commitAndBegin, a bit faster because it does the commit and gives you a new transaction in a single call to the server.
Now upon startup, the server produces an 'Error: a primitive has failed' error while (I think) reading a MaHashIndexRecord. Looking at http://localhost:21000/, all the repositories are shutting down. I've tried abandoning, and doing 'MagmaSession cleanUp', and then saving as a new version, but get an error (in MagmaCollectionManager>>collectionOid, respository session is nil).
Any ideas on getting going again? I really only have one repository I care about, and don't need the MagmaCollection, as I can recreate it from the other data in the repository.
Were you doing a local or remote repository? It sounds like the underlying files are closed but the repository is still trying to access them. The image shutDown/startUp code closes/opens the repository, disconnects/reconnects all sessions, so something got out of sync.
Try
MagmaSession initialize. MagmaRepositoryController initialize.
and should clear out Magma's startUp/shutDown lists that should then allow saving of the image. You should be able to reopen them and continue working.
Beyond that, a stack trace would be most helpful.
- Chris