Main & Backup Databases Corrupting on system crash

Every time Windows happens to crash to the point of requiring a hard shutdown both databases get corrupted, thus constantly losing my local stats and averages. Which shouldn’t happen since that’s what a backup is there to prevent.

Version: 2.4.1
OS: Windows 8.1 64x
OS: Windows 10 64x

08-10-2014 23:47:06.482 DEBUG GetModuleFileNameEx failed for processId: 10072 0 >>> CRASH HAPPENS JUST BEFORE THIS <<< 08-10-2014 23:49:39.077 INFO "Starting WhatPulse 2.4.1..." 08-10-2014 23:49:40.485 DEBUG Installed CrashRpt! 08-10-2014 23:49:41.435 DEBUG Database file: "C:/Users/Wopian/AppData/Local/WhatPulse/whatpulse.db" 08-10-2014 23:49:42.884 DEBUG Database check: "*** in database main *** On tree page 59 cell 9: Rowid 21 out of order (max larger than parent max of 19) On tree page 62 cell 10: Rowid 32 out of order (max larger than parent max of 31) On page 7120 at right child: invalid page number 7939 On tree page 7901 cell 80: invalid page number 7938 On tree page 7901 cell 80: Child page depth differs On tree page 7901 cell 81: invalid page number 7940 On tree page 7901 cell 82: invalid page number 7942 On tree page 7901 cell 83: invalid page number 7943 On tree page 7901 cell 84: invalid page number 7946 On tree page 7901 cell 85: invalid page number 7948 On tree page 7901 cell 86: invalid page number 7949 On tree page 7901 cell 87: invalid page number 7951 On tree page 7901 cell 88: invalid page number 7952 On tree page 7901 cell 89: invalid page number 7954 On tree page 7901 cell 90: invalid page number 7958 On tree page 7901 cell 91: invalid page number 7960 On tree page 7901 cell 92: invalid page number 7962 On tree page 7901 cell 93: invalid page number 7965 On tree page 7901 cell 94: invalid page number 7967 On tree page 7901 cell 95: invalid page number 7968 On tree page 7901 cell 96: invalid page number 7970 On tree page 7901 cell 97: invalid page number 7972 On tree page 7901 cell 98: invalid page number 7973 On tree page 7901 cell 99: invalid page number 7975 On tree page 7901 cell 100: invalid page number 7976 On tree page 7901 cell 101: invalid page number 7978 On tree page 7901 cell 102: invalid page number 7979 On tree page 7901 cell 103: invalid page number 7981 On tree page 7901 cell 104: invalid page number 7983 On tree page 7901 cell 105: invalid page number 7984 On tree page 7901 cell 106: invalid page number 7986 On tree page 7901 cell 107: invalid page number 7956 On tree page 7901 cell 108: Child page depth differs On tree page 7901 cell 109: invalid page number 7957 On tree page 7901 cell 109: Child page depth differs On tree page 7901 cell 110: invalid page number 7987 On tree page 7901 cell 111: invalid page number 7989 On page 7901 at right child: invalid page number 7990 On page 5719 at right child: invalid page number 7945 Page 7872 is never used Page 7880 is never used Page 7884 is never used Page 7886 is never used Page 7890 is never used Page 7892 is never used Page 7895 is never used Page 7898 is never used Page 7899 is never used Page 7903 is never used Page 7906 is never used Page 7908 is never used Page 7911 is never used Page 7915 is never used Page 7917 is never used Page 7920 is never used Page 7924 is never used Page 7926 is never used Page 7929 is never used Page 7932 is never used Page 7935 is never used" 08-10-2014 23:49:42.972 DEBUG Database integrity check: "*** in database main *** On tree page 59 cell 9: Rowid 21 out of order (max larger than parent max of 19) On tree page 62 cell 10: Rowid 32 out of order (max larger than parent max of 31) On page 7120 at right child: invalid page number 7939 On tree page 7901 cell 80: invalid page number 7938 On tree page 7901 cell 80: Child page depth differs On tree page 7901 cell 81: invalid page number 7940 On tree page 7901 cell 82: invalid page number 7942 On tree page 7901 cell 83: invalid page number 7943 On tree page 7901 cell 84: invalid page number 7946 On tree page 7901 cell 85: invalid page number 7948 On tree page 7901 cell 86: invalid page number 7949 On tree page 7901 cell 87: invalid page number 7951 On tree page 7901 cell 88: invalid page number 7952 On tree page 7901 cell 89: invalid page number 7954 On tree page 7901 cell 90: invalid page number 7958 On tree page 7901 cell 91: invalid page number 7960 On tree page 7901 cell 92: invalid page number 7962 On tree page 7901 cell 93: invalid page number 7965 On tree page 7901 cell 94: invalid page number 7967 On tree page 7901 cell 95: invalid page number 7968 On tree page 7901 cell 96: invalid page number 7970 On tree page 7901 cell 97: invalid page number 7972 On tree page 7901 cell 98: invalid page number 7973 On tree page 7901 cell 99: invalid page number 7975 On tree page 7901 cell 100: invalid page number 7976 On tree page 7901 cell 101: invalid page number 7978 On tree page 7901 cell 102: invalid page number 7979 On tree page 7901 cell 103: invalid page number 7981 On tree page 7901 cell 104: invalid page number 7983 On tree page 7901 cell 105: invalid page number 7984 On tree page 7901 cell 106: invalid page number 7986 On tree page 7901 cell 107: invalid page number 7956 On tree page 7901 cell 108: Child page depth differs On tree page 7901 cell 109: invalid page number 7957 On tree page 7901 cell 109: Child page depth differs On tree page 7901 cell 110: invalid page number 7987 On tree page 7901 cell 111: invalid page number 7989 On page 7901 at right child: invalid page number 7990 On page 5719 at right child: invalid page number 7945 Page 7872 is never used Page 7880 is never used Page 7884 is never used Page 7886 is never used Page 7890 is never used Page 7892 is never used Page 7895 is never used Page 7898 is never used Page 7899 is never used Page 7903 is never used Page 7906 is never used Page 7908 is never used Page 7911 is never used Page 7915 is never used Page 7917 is never used Page 7920 is never used Page 7924 is never used Page 7926 is never used Page 7929 is never used Page 7932 is never used Page 7935 is never used" 08-10-2014 23:49:43.007 DEBUG Detected a database failure..trying to restore! 08-10-2014 23:49:44.592 DEBUG Copied: "C:/Users/Wopian/AppData/Local/WhatPulse/whatpulse.db.backup" to: "C:/Users/Wopian/AppData/Local/WhatPulse/whatpulse.db" 08-10-2014 23:49:44.690 DEBUG Database integrity check: "rowid 57 missing from index mousepoints_date" 08-10-2014 23:49:44.690 DEBUG Unable to recover from database backup file! 08-10-2014 23:50:01.879 DEBUG Opened database in: 20444 ms 08-10-2014 23:50:01.952 DEBUG First time database use detected, setting version to: 4 08-10-2014 23:50:02.002 DEBUG Not running WhatPulse as Administrator! :-( 08-10-2014 23:50:02.039 DEBUG Encrypted file: "C:/Users/Wopian/AppData/Local/WhatPulse/whatpulse.wpw" 08-10-2014 23:50:02.056 DEBUG Empty user variables found! 08-10-2014 23:50:02.056 WARN Failed to load ' "C:/Users/Wopian/AppData/Local/WhatPulse/whatpulse.wpw" ' - trying backup file 08-10-2014 23:50:02.153 DEBUG Loaded application aliases 08-10-2014 23:50:06.696 WARN Sanity check failed when parsing lnk file: "C:/Users/Wopian/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Blockify Lite 0.5.lnk" 08-10-2014 23:50:08.074 WARN Sanity check failed when parsing lnk file: "C:/Users/Wopian/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/IOGraph_v1_0_1.lnk" 08-10-2014 23:50:43.003 DEBUG Opening GeoIP database: "C:/Users/Wopian/AppData/Local/WhatPulse/GeoIP.dat" 08-10-2014 23:50:43.519 DEBUG WhatPulse 2.4.1 has started -snipped normal startup sequence-

Unless the backup is made when you already have a corrupted database…in that case you can’t do much about this except trying not to shut your system down harshly.

Shouldn’t the client check for database integrity before backing it up? Or would that take too much processing power?

Yes, but WhatPulse shouldn’t backup corrupted data. It should at least check the database for errors before backing up and if corrupted, fall back onto the last backup as the main database.

Or have multiple backups (e.g 1 backup/day and keep last 7 days etc.) which is seen in quite a few programs.

SQLite is as lightweight in it’s features as in it’s footprint, there’s not much of a recovery you can do with it. Don’t crash the system. :wink:

\o/

main and backup both failed to recover from an unexpected bsod again.

Not really much I can do to avoid this as what I work on regularly requires me to work in an environment that’s highly vulnerable to bsod errors. Just really annoying working up a few million / TiB in the app over a couple of weeks and losing all the stat history. :confused:

[quote=“Wopian, post:6, topic:13908”]
Not really much I can do to avoid this as what I work on regularly requires me to work in an environment that’s highly vulnerable to bsod errors.[/quote]

Use a VM for that work so you don’t loose your open work. Otherwise create backups of your files, so you can recover (should do that regardless of WhatPulse).