Please read this whole message before doing anything.
Back up all data.
Before taking each of these steps, quit (force quit if necessary) the application. After taking the step, relaunch and test. When the problem is resolved (or when you complete Step 3 without resolving it), stop and close the Library folder.
Step 1
Hold down the option key and select
Go
▹
Library
from the Finder menu bar. From the folder that opens, move these subfolders (some may not exist) to the Trash, leaving the Library folder open:
- Caches/com.apple.CalendarAgent
- Caches/com.apple.iCal
- Saved Application State/com.apple.iCal.savedState
Step 2
Move these files from the Library folder to the Desktop (again, some may not exist):
- Preferences/ByHost/com.apple.iCal.helper.*.plist
- Preferences/com.apple.CalendarAgent.plist
- Preferences/com.apple.iCal.Alarm.plist
- Preferences/com.apple.iCal.AlarmScheduler.plist
- Preferences/com.apple.iCal.helper.plist
- Preferences/com.apple.iCal.plist
- Preferences/com.apple.iCalExternalSync.plist
- Preferences/iCalExternalSync.plist
Here "*" stands for a long string of letters, numbers, and dashes. If the application now works, you may be able to put back some of the files you moved in this step, relaunching and testing after each one. Eventually you may find the one that caused the problem; delete it. Recreate your settings as necessary.
If the application still crashes, put back each of the files you moved in this step, overwriting the one that may have been created in its place. You don't have to put back the folders you moved in Step 1.
Step 3
Move this folder to the Desktop:
Calendars
Note: you're not moving the Calendars application; you're moving a folder named "Calendars". If there's no change, put the folder back where it was.
If the application launches after you move the Calendars folder, the event database is corrupt. You have two choices:
- Restore the folder from a Time Machine snapshot or other backup that predates the corruption.
- Use a third-party application such as Calendar Cleaner to try to repair the database.