File : Repair collection makes it possible to recover from errors in your collection. Repair collection goes through all data in the collection, looking for errors and plugging the holes. As much as a spell-checker can fix a badly written text, Repair collection can fix some problems produced by hard disk malfunction, viruses, or errors in copying files. If Repair collection cannot fix a problem, you will have to return to your most recent backup. Remember to backup often!
You can quickly execute Repair collection by choosing Ctrl+F12.
Repair collection is only possible in an unlocked SuperMemo.
Integrity problems in a collection may appear in case of hardware or system software problems. Bad clusters, lost sectors, data corruption, etc. can often be remedied by replacing affected files (e.g. corrupted Mpeg file, etc.). However, if the problem occurs in SuperMemo index files or files storing optimization data used by repetition spacing algorithm, only File : Repair collection can remedy the problem.
Important! Unless you have a recent backup handy, you should check the backup option before running Repair collection. You should never abort SuperMemo manually (e.g. with Ctrl+Alt+Del : Task Manager : End Process). This is particularly true during Repair collection. If you abort the repair operation while files are being rebuilt, your collection may be damaged beyond repair!
Before you begin the recovery, choose appropriate recovery options in Repair options dialog box.
Repair collection does not recover from some error types. Here are some errors that are not remedied with Repair collection:
- damage to binary files such as JPG, MP3, AVI, EXE, etc. Replace these file from the original CD-ROM or from your back-up storage. If you do not have a backup of these files, you will have to remove them by using Delete in the relevant registry, or recreate them in another way.
- damage to OF matrix, RF matrix, Cases matrix, etc. These matrices are stored in the file named sm8opt.dat. In case of errors indicating damage to these data structures, use Toolkit : Statistics : Reset parameters : Optimization matrices. You will lose some of data collected by SuperMemo about your performance with a given learning material, but you will be able resume your work without losing the learning process. Alternatively, you might restore sm8opt.dat file from one of your earlier backups
- damage to text files such as TRA, SCR, INI, etc. View these files in any text editor and change their contents. You can also edit legal TRA files with Toolkit : Options : Language : Localization table
- Read more: SuperMemo files
Note: If you encounter problems that could not be remedied with File : Repair collection (except for those listed above), please report it. Remember to make a backup of copy of the damaged collection, e.g. with File : Backup (Shift+F12) or better yet with File : Copy collection (Ctrl+Shift+C).
A typical collection checkup report might look like this:
SuperMemo Report Activity: Checking the integrity of the collection Collection: d:\colls\all Date: Feb 28, 2016, Sun, 01:51:39 SuperMemo 17 (Build 17.0, Feb 27, 2016) Checking 629,260 element records (ElementInfo.dat) Turning on tasklist verification along element data integrity checks Verifying integrity of element data (629260 elements in ElementInfo.dat) Verifying knowledge tree (629,260 elements in Contents.dat) Verifying the priority queue of 609,863 elements Verifying repetition schedule (Workload.dat and ElementInfo.dat) Verifying pending queue (Intact.dat) Verifying A-Factor, Lapses and Repetitions distributions Recovering registries and filespace references Rebuilding Text registry (1109677 members in a 1157580 member file) Rebuilding Template registry (123 members in a 134 member file) Rebuilding Font registry (74 members in a 10290 member file) Rebuilding Reference registry (42257 members in a 43610 member file) Rebuilding Style registry (1 members in a 4 member file) Rebuilding Script registry (2 members in a 2 member file) Rebuilding Program registry (101 members in a 102 member file) Rebuilding Ole registry (0 members in a 0 member file) Rebuilding Video registry (4 members in a 4 member file) Rebuilding Image registry (21593 members in a 22778 member file) Rebuilding Sound registry (120768 members in a 123541 member file) Redirected sound registry reference: From Member #13328 To Sound #41018: ornery Redirected sound registry reference: From Member #19792 To Sound #103943: hurdy-gurdy Rebuilding Tasklist registry (1 members in a 23 member file) Rebuilding Concept registry (51 members in a 98 member file) Rebuilding Link registry (40 members in a 40 member file) Registering components Transferring templates Registering references Registering image references Verifying link registry (40 members in a 40 member file) Verifying concepts registry (51 members in a 98 member file) Verifying Text registry ++++++++++++++++++++++ ERROR #1 ++++++++++++++++++++++ Wrong length of registry usership list for Text #622793: http://upload.wikimedia.org/wikipedia/commons/5/51/Thai_TIS_166-2549_mains_plug.jpg Count: reported=69 found=70 Registry: text Verifying Sound registry Warning! Registry member not used Sound #8661: conjugal Warning! Registry member not used Sound #12701: ask for a rain check Warning! Registry member not used Sound #20414: scallion Warning! Registry member not used Sound #117383: pellucid (wrong!) 4 unused member(s) in the Sound registry Verifying Video registry Verifying Style registry Verifying Script registry Verifying Program registry Verifying Template registry Verifying Tasklist registry Verifying Concept registry Verifying Link registry Deleting directory: d:\colls\all\registry\RText_users Deleting directory: d:\colls\all\registry\RFont_users Deleting directory: d:\colls\all\registry\RReference_users Deleting directory: d:\colls\all\registry\RImage_users Deleting directory: d:\colls\all\registry\RStyle_users Deleting directory: d:\colls\all\registry\RTemplate_users Verifying OLE filespace Verifying image filespace Verifying sound filespace Verifying video filespace Verifying stylesheet filespace Verifying script filespace Verifying binary filespace Verifying text filespace Warning! Removing formatting from member #1156992: Text: let U, V be topological spaces. A plateau for a function f: U → V is a path-connected set of points P of U such that for some y we have f (p) = y for all p in P Format: HTML Inspecting 515947 filespace slots Unused filespace slot count: 6 Checking for empty filespace slots Inspecting 6 empty filespace slots Formatting removed from 1 text Including 0 RTF text(s) and 1 HTML text(s) Verifying repetition history ++++++++++++++++++++++ ERROR #2 ++++++++++++++++++++++ Wrong sequence of repetitions! Repetition date: Jul 18, 1998 Item #12,348: derog: a rustic fellow (esp. if gullible or provincial) ++++++++++++++++++++++ ERROR #3 ++++++++++++++++++++++ Wrong sequence of repetitions! Repetition date: Nov 04, 2002 Item #177,001: Semicolons are optional and are required only if you want to [...] Repetition history compressed from 60.819 MB to 60.817 MB Deleting temporary folders Deleting directory: d:\colls\all\temp The size of remaining temporary files is 8.85 MB These files can be deleted with File : Tools : Garbage Removing empty collection directories Deleting directory: d:\colls\all\elements\2\4\30\ Deleting directory: d:\colls\all\subsets\tmp\ Removing empty secondary storage directories Process completed at 03:01:20 in 01:09:41 sec (Feb 28, 2016, Sun) 3 ERRORS (Checking the integrity of the collection)