Как исправить поврежденный кеш календаря?

4480
Blacklight Shining

Я был в хвосте /var/log/system.logи заметил внезапную стену текста. Посмотрев ближе, я увидел, что CalendarAgent получил ошибку при попытке сохранить что-то:

Nov 18 11:42:45 rainbow-dash.local CalendarAgent[12321]: CoreData: error: (11) Fatal error. The database at /Users/blackl/Library/Calendars/Calendar Cache is corrupted. SQLite error code:11, 'database disk image is malformed' Nov 18 11:42:45 rainbow-dash.local CalendarAgent[12321]: Core Data: annotation: -executeRequest: encountered exception = Fatal error. The database at /Users/blackl/Library/Calendars/Calendar Cache is corrupted. SQLite error code:11, 'database disk image is malformed' with userInfo = { NSFilePath = "/Users/blackl/Library/Calendars/Calendar Cache"; NSSQLiteErrorDomain = 11; } 

2 сообщения повторяются несколько раз

Nov 18 11:42:49 rainbow-dash.local CalendarAgent[12321]: [com.apple.calendar.store.log.subscription] [WARNING: CalSubscriptionSession :: persistError :: save failed] 

Вся эта последовательность повторяется много раз по всему журналу.

fileЯ сказал, что файл, о котором идет речь, был SQLite 3.x database, поэтому я немного поискал и нашел способ проверить их.

blackl% cp -i ~/Library/Calendars/Calendar\ Cache /tmp blackl% sqlite3 /tmp/Calendar\ Cache SQLite version 3.7.12 2012-04-03 19:43:07 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma integrity_check ; *** in database main *** Main freelist: Bad ptr map entry key=863 expected=(2,0) got=(5,21) On page 21 at right child: 2nd reference to page 863 

Далее следуют несколько десятков строк:

rowid <number> missing from index <name> 

а потом:

wrong # of entries in index <name> 

Я немного растерялся относительно того, что делать сейчас - я не мог найти ничего о том, как исправить найденные ошибки. Также, возможно, было бы неплохо отключить Агент календаря, чтобы он не пытался использовать базу данных, пока она исправляется (поэтому я скопировал ее /tmpперед запуском sqlite3на ней).

Как отключить CalendarAgent и исправить его кеш?

4

1 ответ на вопрос

3
adavid

У меня была та же проблема, поэтому я закрыл Календарь и Calendar Cacheудалил файл.

Затем я открыл календарь. Прошло около минуты «Обновление календарей ...», но потом все получилось просто отлично.

Простое решение, но, похоже, сработало. Похоже, это опять меня усложнило! XD Blacklight Shining 11 лет назад 0