Thanks Sam. To answer your questions directly:
I have not noticed any power loss issues — the unit has been up continuously since a manual reboot on May 29, 243 hours without interruption across most of these failures.
I did the userdata copy you suggested in Post 12 on June 7. Stopped mediacenter, transplanted MyVideos131.db from the healthy unit, Kodi came up cleanly with the full library. A sixth incident occurred the following evening anyway. So the problem is not a corrupt DB state carrying over — a clean database from a known-good device doesn’t prevent it.
Looking at kodi.old.log from tonight’s session, the error originated in the Jellyfin-Kodi addon’s Python code, not in Kodi’s own SQLite layer:
sqlite3.OperationalError: disk I/O error
File "jellyfin_kodi/objects/tvshows.py", line 143, in tvshow
self.add_people(...)
File "jellyfin_kodi/objects/kodi/kodi.py", line 187, in add_people
self.cursor.executemany(sql, parameters)
That traceback appeared at 20:36:47, one second before Kodi’s own SQLITE_IOERR_SHORT_READ. The addon was mid-way through an incremental sync and holds its own persistent Python SQLite connection to MyVideos131.db in WAL mode — which lines up with JimKnopf’s concurrent access theory from Post 11.
Full logs: https://paste.osmc.tv/okirebonuq
Is there a path to upgrading SQLite in Kodi/OSMC, or would adjusting the addon behavior (eg disabling WAL mode) be the better lever here?