I found the problem existed in an enormous amount of duplicates in my calendar. Sometimes 200 entries of the same event 8-10 years ago.
I ran script to clean up duplicates. Reset sync history and asked to copy next time only (in iTunes>info>advanced) Calendars onto iPhone and iPad during sync in iTunes.
Thanks for the comments. After a number of attempts over a couple of weeks sync seemed to work and get past 3 of 7. It is a mystery to me because I didn't perform any resets or do an upgrades.
I have a fairly big calendar and can only think that sync might get stuck or time out sometimes. This could be more likely after an iOS upgrade when the intial syncs are going to take a bit longer. Once that is done the backup might only have to be incremental.
I had it hanging on Calendar sync as well ...
This worked for me:
I also had crazy dupes of calendar items previously except on my iphone, so the idea was to get the singular calendar of events synced back to my computer. So ...
I made sure Calendar was empty on my computer: ~/Library/Calendars/
Cleared out. Emptied Trash.
Then per above link, cleared sync services from terminal:
/System/Library/Frameworks/SyncServices.framework/Versions/A/Resources/resetsync .pl full
Plugged in iPhone, set my prefs again, sync'ed. Went thru the sync quickly and got everything back to normal with only single events.
The key here (on dupes) is to have at least ONE version of your calendar in good shape. And that may be thru your iphone backups.
(sorry I know I switched thread topics, but sync and dupes seem to go hand in hand)
Hope this helps.