Repairing collections

From SuperMemo Help
Jump to navigation Jump to search

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:
   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)