{“msg”:“SQLITE_CORRUPT: database disk image is malformed”,“stack”:“Error: SQLITE_CORRUPT: database disk image is malformed”,“system”:“Windows_NT 10.0.22631 (x64)”,“time”:1752682169508,“version”:“1.16.2”}
Error log:
{“level”:30,“time”:1752682384800,“type”:“browser”,“name”:“main”,“args”:[“file:///C:/Users/rharper/OneDrive%20-%20UWSP/Documents/Pasipahkihnen/Pasipahkihnen.tropy/project.tpy”],“opts”:{“env”:“production”,“autoUpdates”:true,“contextIsolation”:true,“webgl”:false,“verbose”:false,“trace”:false,“data”:“C:\Users\rharper\AppData\Roaming\Tropy”,“cache”:“C:\Users\rharper\AppData\Roaming\Tropy\cache”,“logs”:“C:\Users\rharper\AppData\Roaming\Tropy\log”},“version”:“1.16.2”,“msg”:“main.init 1.16.2 Windows_NT 10.0.22631 (x64)”}
{“level”:30,“time”:1752682384848,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 1”}
{“level”:30,“time”:1752682384850,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1752682384852,“type”:“browser”,“name”:“main”,“file”:“C:\Users\rharper\OneDrive - UWSP\Documents\Pasipahkihnen\Pasipahkihnen.tropy\project.tpy”,“msg”:“open new project window”}
{“level”:30,“time”:1752682385040,“type”:“browser”,“name”:“main”,“status”:{“2d_canvas”:“enabled”,“canvas_oop_rasterization”:“enabled_on”,“direct_rendering_display_compositor”:“disabled_off_ok”,“gpu_compositing”:“enabled”,“multiple_raster_threads”:“enabled_on”,“opengl”:“enabled_on”,“rasterization”:“enabled”,“raw_draw”:“disabled_off_ok”,“skia_graphite”:“disabled_off”,“video_decode”:“enabled”,“video_encode”:“enabled”,“vulkan”:“disabled_off”,“webgl”:“enabled”,“webgl2”:“enabled”,“webgpu”:“enabled”},“msg”:“gpu-info-update”}
{“level”:30,“time”:1752682385207,“type”:“renderer”,“name”:“project”,“dpx”:1.7100000381469727,“args”:{“frameless”:true,“locale”:“en”,“webgl”:true,“zoom”:1},“msg”:“project.init”}
{“level”:30,“time”:1752682385268,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 1”}
{“level”:30,“time”:1752682385316,“type”:“browser”,“name”:“main”,“msg”:“ready after 386.472900390625ms”}
{“level”:30,“time”:1752682385273,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 1”}
{“level”:30,“time”:1752682385607,“type”:“renderer”,“name”:“project”,“msg”:“restoring projectFiles@tropy”}
{“level”:30,“time”:1752682385609,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1752682385609,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1752682385609,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1752682385612,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db C:\Users\rharper\AppData\Roaming\Tropy\ontology.db”}
{“level”:30,“time”:1752682385628,“type”:“renderer”,“name”:“project”,“msg”:“project ready 739ms [dom:336ms init:48ms load:338ms]”}
{“level”:30,“time”:1752682385752,“type”:“renderer”,“name”:“project”,“mode”:“webgl”,“resolution”:1,“msg”:“Esper.instance created with webgl renderer”}
{“level”:30,“time”:1752682385778,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\rharper\OneDrive - UWSP\Documents\Pasipahkihnen\Pasipahkihnen.tropy\project.tpy”}
{“level”:30,“time”:1752682385803,“type”:“renderer”,“name”:“project”,“msg”:“db query took 147ms”,“query”:“\n SELECT count(*) AS count FROM sqlite_schema”,“ms”:147}
{“level”:40,“time”:1752682385825,“type”:“renderer”,“name”:“project”,“stack”:“Error: SQLITE_CORRUPT: database disk image is malformed”,“msg”:“failed to create db connection”}
{“level”:40,“time”:1752682385825,“type”:“renderer”,“name”:“project”,“stack”:“Error: SQLITE_CORRUPT: database disk image is malformed”,“msg”:“unexpected error in *project.open”}
{“level”:40,“time”:1752682388044,“type”:“renderer”,“name”:“project”,“action”:“project.closed”,“meta”:{“ipc”:true,“seq”:9,“now”:1752682388044},“msg”:“project.closed failed: SQLITE_CORRUPT: database disk image is malformed”,“stack”:“Error: SQLITE_CORRUPT: database disk image is malformed”}
{“level”:30,“time”:1752682388103,“type”:“renderer”,“name”:“project”,“mode”:“r”,“msg”:“open db C:\Users\rharper\OneDrive - UWSP\Documents\Pasipahkihnen\Pasipahkihnen.tropy\project.tpy”}
{“level”:40,“time”:1752682388108,“type”:“renderer”,“name”:“project”,“stack”:“Error: SQLITE_CORRUPT: database disk image is malformed”,“msg”:“failed to create db connection”}
{“level”:40,“time”:1752682388109,“type”:“renderer”,“name”:“project”,“stack”:“Error: SQLITE_CORRUPT: database disk image is malformed”,“msg”:“failed to stat project file ‘C:\Users\rharper\OneDrive - UWSP\Documents\Pasipahkihnen\Pasipahkihnen.tropy’”}
I’m not sure what happened here. The database was stored on a shared drive but I have accessed it from only one computer. I was able to restore a previous version, so I lost only a day or so of data entry. Any ideas about how to avoid this in the future?
I don’t know if it’s possible with OneDrive, but one thing that could help is if you could configure OneDrive to sync the file only one way, ensuring that OneDrive can’t write back to the file on disk. Obviously, there should never be a write to the file if you’re only working on it on that one computer, but the disk corruption only happens when another process writes to the file while Tropy is connected to it.
The other option would be to turn syncing off while you’re working on the file. Or to make an unsynced copy of the file and only open that in Tropy (copying the file back once a work session is complete). Obviously these approaches are not very practical. We might built the latter into Tropy, though, to do this automatically, i.e., on open, make a private copy of the database to work on, and overwrite the original only when it’s save to do so.