caiyue1993 / IceCream

Sync Realm Database with CloudKit
MIT License
1.94k stars 245 forks source link

更新到2.0.4,在iOS15下依然崩溃 #250

Closed DLsunset closed 2 years ago

DLsunset commented 2 years ago

Terminating app due to uncaught exception 'CKException', reason: 'Operation 3DB31DE15DDDF8AB is already running.' First throw call stack: (0x182721cac 0x199790758 0x189668d10 0x18959431c 0x189580f60 0x183e22314 0x183e2fa2c 0x1012ed1b8 0x1012de1c8 0x1012e5358 0x1012e6014 0x1012f1630 0x1dc09af38 0x1dc09aaa4) libc++abi: terminating with uncaught exception of type CKException dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib *** Terminating app due to uncaught exception 'CKException', reason: 'Operation 3DB31DE15DDDF8AB is already running.' terminating with uncaught exception of type CKException

以上是崩溃信息。 崩溃条件非常离奇,首先在我的iPhone7上从iOS14升到iOS15后,出现了#244的崩溃, 在更新了IceCream后,确实解决了这个崩溃问题,并且运行良好。但后来我将iOS15系统通过恢复功能完整重装后,就出现了上面的崩溃。并且每次必崩溃。然而这只在用xcode在真机运行时会出现这个错误,当使用ipa包安装时却不会出现这个崩溃。

后来我将我的iPhone7重装了14.8,可以良好运行,然后昨天升级到了iOS15,刚开始也运行良好,但是今天就又出现了这个问题。 另外,我在我日常使用的iPhone12上可以良好运行。 很离奇的崩溃,很害怕会把这个问题带到线上,希望可以定位并解决这个问题。

DLsunset commented 2 years ago

已找到原因。 修改前 image 修改后 image

caiyue1993 commented 2 years ago

Yes, you should use only one SyncEngine to hold multiple SyncObject instead of creating multiple SyncEngine instance.

JRJian commented 2 years ago

image 同样崩溃,在IOS15才会出现这个crash,一般是长时间使用的手机才会