0

I upgraded from Yosemite to High Sierra and found that Calendar has "forgotten" all entries after the upgrade: no trace of them was to be found in ~/Libraries/Calendar. As I never activated synchronization with iCloud and also suppressed it during the upgrade, there was no direct way of recovering them.

In an effort to get the Calendar entries back, I copied the contents of the ~/Libraries/Calendar folder from my pre-upgrade Time Machine backup (overwriting some of them in the process). However, now Calendar cannot even be started, it crashes right on startup and leaves error messages like

error: (6922) I/O error for database at /Users/me/Library/Calendars/Calendar Cache.  SQLite error code:6922, 'disk I/O error'
error: Encountered exception I/O error for database at /Users/me/Library/Calendars/Calendar Cache.  SQLite error code:6922, 'disk I/O error' with userInfo {
NSFilePath = "/Users/me/Library/Calendars/Calendar Cache";
NSSQLiteErrorDomain = 6922;} while checking table name from store: <NSSQLiteConnection: 0x7f971e01d160>

in the logfile. What can I do to make Calendar work again and get the old entries back?

Thomas

2
  • What file type is the files in your backup, just [random characters] or [some data].[something else]?
    – Harcker
    Jan 16, 2018 at 22:11
  • There were several subdirectories named in a format consisting of some string and the extension .calendar. They contain a file Info.plist and further subdirectories with .ics and .icsalarm files for individual entries, which are human-readable. Then there are cache files, which are binary. There is also a particular file named "~/Library/Calendars/Calendar Sync ClientID Conflicts.tmp", which is also human-readable XML but doesn't seem to contain anything suspicious. In short, I don't know what could be corrupted there, except for the binary files, which I can't check.
    – TomR
    Jan 17, 2018 at 0:08

1 Answer 1

0

Try this: Quit calendar (cmd + q), delete the calendar directory on your Mac’s HD/SSD, empty trash, reboot (with the option to open previous apps/Windows off), launch calendar, wait 5 minutes, quit calendar (cmd + q). Find the .ics files in the backup, import them with the calendar app, wait, see if your calendar works.

Another soloution may be: Quit calendar Find the old calendar app in your backup, and copy it to your desktop. Copy the calendar directory from your backup, replace the current directory on your Mac. Reboot (with the option to open previous apps/Windows off). Launch calendar from your desktop, and see if it works...

3
  • The second solution is quite similar to what I had tried, so I have tried the first option now, although without rebooting, and even so it seems to work. It's quite a pain to import every single event by hand, though, but that's a different problem. Thanks for the suggestions!
    – TomR
    Jan 18, 2018 at 14:40
  • This may make workflow a "little" faster... : You can search the backup calendar folder in Finder with a search term like '.Ics', make it sort by kind, select all the .Ics files and then choose to open them in Calendar.
    – Harcker
    Jan 18, 2018 at 16:20
  • 1
    If I use the Import function from Calendar, I can only import one event at a time. However, I found out that I can mark multiple events in a folder in the Finder and then open and process them collectively with the CalendarFileHandler.app much more efficiently.
    – TomR
    Jan 18, 2018 at 23:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .