WhatsApp kann nicht auf iCloud backupen

Nachdem ich meinen Mac mini endlich auf OS X 10.11 El Capitan gelüpft hatte, konnte ich endlich auch iCloud Drive über all meine Geräte (Mac mini, MacBook Air, iPhone SE, iPad Air 2, iPad 4) aktivieren.

Leider aber bockt WhatsApp auf meinem iPhone SE und will partout nicht nach iCloud backupen:

Uploading: 0 bytes of 456.0 MB (0%)

Und genau in diesem Zustand verweilt die Anzeige, minuten- und stundenlang, ohne dass ein einziges Byte in die iCloud hochgeladen wird.

Gestern und heute habe ich ein, zwei Stunden investiert, um dem Problem auf den Grund zu gehen. Leider habe ich die Lösung (noch?) nicht gefunden.

Ein Blick auf dem iPhone SE unter Settings > iCloud > iCloud Drive zeigt, dass iCloud aktiviert ist, WhatsApp der Zugriff auf iCloud erlaubt ist und das iPhone auch über das Mobilfunknetz mit iCloud kommunizieren darf:

Soweit so gut. Spannend wird es, wenn ich den iCloud Speicherverbrauch genauer anschaue. Hierzu gehe ich zu Settings > iCloud > Storage > Manage Storage, wo ich unter der Rubrik „DOCUMENTS & DATA“ den Eintrag

WhatsApp Messen… 2.1MB

entdecke:

Gestern reagierte das iPhone nicht, als ich diesen Eintrag antippte.

Versuch unter iCloud Web

Als nächste loggte ich mich auf die Web-Oberfläche von iCloud ein und versuchte es dort mit einer Bereinigung. Unter Einstellungen fand ich folgendes Dialogfeld:

Leider klappte das auch nicht:

Versuch unter macOS

Man kann übrigens auch versuchen, das WhatsApp-Backup unter OS X zu entfernen — doch gestern schlug auch das fehl:

In der Console las ich die nichtssagende Fehlermeldung:

Erneuter Versuch auf dem iPhone

Doch heute gelange ich auf dem iPhone schnurstracks in die Detailansicht:

Edit angetippt, dann erscheint die Möglichkeit, die Daten zu löschen:

Dies habe ich soeben getan, und tatsächlich, WhatsApp erscheint nun nicht mehr in der Liste. Immerhin ein Fortschritt zu gestern — wobei ich felsenfest überzeugt war, dass wenn einmal dieses veraltete Backup weg ist das Backup funktionieren wird. Falsch gedacht; WhatsApp hängt immer noch bei 0 Bytes.

Ein kompletter Neustart des Gerätes änderte schlussendlich alles! Als ich den Button Back Up Now anklickte, lud das iPhone nach ein paar Sekunden „Preparing“ Daten in irrer Geschwindigkeit nach iCloud:

Seither kann ich endlich beruhigt sein, bei einem Verlust meines Telefons garantiert noch alle WhatsApp-Mitteilungen als Sicherung auf iCloud zu besitzen:

Die Lösung?

Leider für mich immer noch ein Mysterium. Doch was ich gestern gemacht habe: iCloud Drive auf all meinen Geräten ausgeschaltet, die Geräte heruntergefahren, neugestartet und erst dann wieder eingeschaltet.

Update 2016-11-17: Ich vermute mittlerweile, dass das iOS-Upgrade meines ehrwürdigen iPad 4 das Problem gelöst hat. Meine Hypothese: Da auf dem Gerät noch iOS 9 installiert war, verhinderte das Gerät so, dass meine iCloud upgegradet werden kann. Sobald das Gerät auf iOS 10 migriert war, konnte die von Apple durchgeführte, transparente Migration endlich losgetreten werden.

iCloud Drive-Zugang über iCloud.com

Während dem Debugging-Prozess ist mir aufgefallen, dass ich weder über meinen Mac mini, noch mein iPad Air 2 auf das (webbasierte) iCloud Drive unter iCloud.com zugreifen kann. Folgende Fehlermeldung erscheint:

There was a problem loading the content of this folder.

Der nette Herr von der Apple Support-Hotline konnte mir heute mit diesem Problem leider auch nicht weiterhelfen. Seine einzige Empfehlung: Cookies löschen und den Mac mini neu starten. Immerhin hat mich Apple angerufen und so den Anruf auf das Mobilfunknetz bezahlt.

Er beharrte zudem darauf, dass ich diesen Screen auf meinem iPad nicht anzeigen lassen könne — doch, kann ich, wenn ich in Safari lange auf dem Reload-Button verharre und dann „Request Desktop Site“ auswähle.

iCloud Drive-Ablage auf dem lokalen Mac

Im Laufe der Untersuchung kam ich zudem auf die Idee, den WhatsApp-Ordner auf iCloud über meinen Mac zu löschen. Das iCloud Drive wird auf meinem Mac mini unter OS X 10.11 in folgendem Verzeichnis gecached:

~/Library/Mobile Documents/

Mit dem Tool Plain Cloud erhält man eine Übersichtsliste in Form eines GUIs:

Dort habe ich dann auch WhatsApp wiedergefunden, welches im folgenden Pfad liegt (lag):

~/Library/Mobile Documents/57T9237FN3~net~whatsapp~WhatsApp

Der Inhalt gestern (vor rm -rf):

Dieses Verzeichnis auf der Kommandozeile von Hand zu löschen brachte gestern leider nicht den gewünschten Erfolg.

brctl

Apple stellt mit brctl ein Kommandozeilentool zur Verfügung (Kommentar von Mendel Kucharzeck vom 11.07.16 um 22:08 Uhr), welches beim Debugging eventuell auch noch weiterhelfen könnte. Hier der Output für gestern:

$ brctl log
[note] 0.000 [2016-09-27 02:40:22.115] sqlite.clientTruth sync-down.periodic-sync BRCPeriodicSyncOperation.m:137
scheduled a useless periodic sync
[note] 28798.505 [2016-09-27 10:40:20.620] sqlite.clientTruth sync-down.periodic-sync BRCPeriodicSyncOperation.m:137
scheduled a useless periodic sync
[ERROR] 32416.649 [2016-09-27 11:40:38.764] cloudkit.operation.callback sync.down BRCSyncDownOperation.m:201
fetch operation 57T9237FN3.net.whatsapp.WhatsApp error: <CKError 0x7ff7cd9f6220: "Server Rejected Request" (15/6000); server message = "Zone migration failed"; Retry after 43200.0 seconds; uuid = 1CFAE291-105A-4BA7-B0DA-663C5F5EA27F; conta
[note] 56254.108 [2016-09-27 18:17:56.223] brc.sync container.scheduler BRCContainerScheduler.m:819
received a push for container 57T9237FN3~net~whatsapp~WhatsApp
[note] 56254.412 [2016-09-27 18:17:56.527] brc.sync container.scheduler BRCContainerScheduler.m:808
received a push for the container-metadata zone
[note] 56261.563 [2016-09-27 18:18:03.677] brc.sync container.scheduler BRCContainerScheduler.m:808
received a push for the container-metadata zone
[WARN] 56318.506 [2016-09-27 18:19:00.621] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd6392c0; recordType=AppContainer, recordID=iCloud.com.microsoft.lync2013.iphone:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=3>
[WARN] 56318.506 [2016-09-27 18:19:00.621] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd68bb00; recordType=AppContainer, recordID=iCloud.com.kayak.travel:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=4>
[WARN] 56318.507 [2016-09-27 18:19:00.621] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd6caad0; recordType=AppContainer, recordID=iCloud.com.reddit.alienblue:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=5>
[WARN] 56318.507 [2016-09-27 18:19:00.622] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd631250; recordType=AppContainer, recordID=LWL9XTYF8Q.com.syniumsoftware.macfamilytree7:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=6>
[WARN] 56318.507 [2016-09-27 18:19:00.622] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd6392c0; recordType=AppContainer, recordID=iCloud.QW9YDLAY9G.com.hotels.HotelsNearMe:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=7>
[WARN] 56318.508 [2016-09-27 18:19:00.622] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd6caad0; recordType=AppContainer, recordID=ZKENARDFWN.com.ifolor.ifolor-designer:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=8>
[WARN] 56318.508 [2016-09-27 18:19:00.623] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd631250; recordType=AppContainer, recordID=iCloud.com.getdropbox.Dropbox:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=9>
[WARN] 56318.509 [2016-09-27 18:19:00.623] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd68b2e0; recordType=AppContainer, recordID=com.apple.mobilemail:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=a>
[WARN] 56318.509 [2016-09-27 18:19:00.623] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd6392c0; recordType=AppContainer, recordID=L996Q9B5UB.com.landi.weather:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=b>
[WARN] 56318.509 [2016-09-27 18:19:00.624] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd68b2e0; recordType=AppContainer, recordID=iCloud.com.apple.iBooks:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=c>
[WARN] 56318.509 [2016-09-27 18:19:00.624] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd68bb00; recordType=AppContainer, recordID=F6266T9T75.com.apple.iMovie:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=d>
[WARN] 56318.510 [2016-09-27 18:19:00.625] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7ca980b30; recordType=AppContainer, recordID=com.apple.Numbers:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=e>
[WARN] 56318.510 [2016-09-27 18:19:00.625] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=com.apple.QuickTimePlayerX:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=f>
[WARN] 56318.511 [2016-09-27 18:19:00.625] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=com.apple.Preview:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=g>
[WARN] 56318.511 [2016-09-27 18:19:00.626] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd906ac0; recordType=AppContainer, recordID=com.apple.Notes:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=h>
[WARN] 56318.511 [2016-09-27 18:19:00.626] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=8YE23NZS57.com.kayak.travel:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=i>
[WARN] 56318.512 [2016-09-27 18:19:00.626] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=com.apple.Pages:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=j>
[WARN] 56318.512 [2016-09-27 18:19:00.627] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=iCloud.com.tinyspeck.chatlyio:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=k>
[WARN] 56318.512 [2016-09-27 18:19:00.627] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=com.apple.mail:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=l>
[WARN] 56318.513 [2016-09-27 18:19:00.627] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7cd9e2800; recordType=AppContainer, recordID=com.apple.TextEdit:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=m>
[WARN] 56318.513 [2016-09-27 18:19:00.628] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=57T9237FN3.net.whatsapp.WhatsApp:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=n>
[WARN] 56318.513 [2016-09-27 18:19:00.628] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=37GSA6A9EQ.com.benkazez.FlightTrack:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=o>
[WARN] 56318.514 [2016-09-27 18:19:00.628] cloudkit.operation.callback sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
no data in record <CKRecord: 0x7ff7c8611e30; recordType=AppContainer, recordID=CZF32S63U5.com.phaidon.wallpaperParis:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=p>
[WARN]

Spannend ist insbesondere dieser Eintrag mit dem Fehler „Zone migration failed“:

[ERROR] 32416.649 [2016-09-27 11:40:38.764] cloudkit.operation.callback sync.down BRCSyncDownOperation.m:201
fetch operation 57T9237FN3.net.whatsapp.WhatsApp error: <CKError 0x7ff7cd9f6220: "Server Rejected Request" (15/6000); server message = "Zone migration failed"; Retry after 43200.0 seconds; uuid = 1CFAE291-105A-4BA7-B0DA-663C5F5EA27F; conta
[note] 56254.108 [2016-09-27 18:17:56.223] brc.sync container.scheduler BRCContainerScheduler.m:819
received a push for container 57T9237FN3~net~whatsapp~WhatsApp
[note] 56254.412 [2016-09-27 18:17:56.527] brc.sync container.scheduler BRCContainerScheduler.m:808
received a push for the container-metadata zone
[note] 56261.563 [2016-09-27 18:18:03.677] brc.sync container.scheduler BRCContainerScheduler.m:808
received a push for the container-metadata zone