Recovering from a file server or EMSRV crash
If your file server or EMSRV suffers a crash, you must check to see if the library has been damaged by the crash. You can run a utility included in the protocol of the EmLibrary class to determine if damage has occurred.
After the file server is restarted, perform the following steps:
1. Have all users disconnect from the library. To disconnect, select System > Disconnect From Server from the Tools menu.
2. Have all users save their images after disconnecting.
3. Restrict the rights to the library so that users cannot access the file.
4. Make a copy of the library.
5. Start an image. If possible, start the image connected to a different default library. If this is not possible, then set the default library name to nil. To change the default library name, edit the configuration file (abt.ini) and change the following line:
DefaultName=
6. Execute the following expression:
EmLibrary crashRecover: aPathName
Substitute the complete path name of your library file for aPathName. For example:
EmLibrary crashRecover: 'D:\Smalltalk\manager\manager.dat'
After you evaluate the expression, one of the following messages will display in your system error log:
a. {aLibrary} appears to be in a consistent state. This message indicates that the crash does not appear to have caused damage to the library.
b. {aLibrary} has been truncated to {aNumberOfBytes}. It now appears to be in a consistent state.
This message indicates that the file server software has arbitrarily extended the length of the library during its own crash recovery. For example, Novell will include the entire last page of the file when recovering from a crash--whether or not the entire page was written to. VA Smalltalk has discarded this additional data.
c. {aLibrary} had {aNumber} bytes of unrecoverable data. Your library did NOT appear to be in a consistent state. It has been repaired so that future transactions will be correct, but data has been lost.
This message indicates that the crash has damaged your library. Data was written to the file, which the server crash has lost. The library is inconsistent and a copy should be restored.
7. After the library (or a backup of the library) has been restarted, all users should reconnect to the library by selecting System > Reconnect To Server from the Tools menu.
Last modified date: 06/02/2020