mindbox-cloud / ios-sdk

Other
6 stars 16 forks source link

[iOS] MBLoggerCoreDataManager.saveContext(_:) crash #457

Open Khmelevsky opened 2 weeks ago

Khmelevsky commented 2 weeks ago

iOS 17.* only Mindbox 2.11.0 81% of crash events for this issue happened in the first 5 seconds of a user's session

SQLQueue 0x102308fb0 for CDLogMessage.sqlite 0 libsystem_kernel.dylib 0x91f8 fsync + 8 1 libsqlite3.dylib 0x4caa0 sqlite3_free_table + 47104 2 libsqlite3.dylib 0x55b54 sqlite3_randomness + 1664 3 libsqlite3.dylib 0x4c660 sqlite3_free_table + 46016 4 libsqlite3.dylib 0x3cd68 sqlite3_value_text + 19848 5 libsqlite3.dylib 0x3c930 sqlite3_value_text + 18768 6 libsqlite3.dylib 0x15c60 sqlite3_finalize + 1812 7 libsqlite3.dylib 0x36cf0 sqlite3_step + 46152 8 libsqlite3.dylib 0x2bc6c sqlite3_step + 964 9 CoreData 0x40e0 _execute + 128 10 CoreData 0x8c670 -[NSSQLiteConnection commitTransaction] + 596 11 CoreData 0x89fcc _executeGenerateObjectIDRequest + 388 12 CoreData 0x34abc -[NSSQLGenerateObjectIDRequestContext executeRequestCore:] + 28 13 CoreData 0x55ebc -[NSSQLStoreRequestContext executeRequestUsingConnection:] + 252 14 CoreData 0x55bd8 52-[NSSQLDefaultConnectionManager handleStoreRequest:]_block_invoke + 60 15 CoreData 0x55b10 37-[NSSQLiteConnection performAndWait:]_block_invoke + 48 16 libdispatch.dylib 0x3dd4 _dispatch_client_callout + 20 17 libdispatch.dylib 0x132c4 _dispatch_lane_barrier_sync_invoke_and_complete + 56 18 CoreData 0x22c6c -[NSSQLiteConnection performAndWait:] + 176 19 CoreData 0x22b30 -[NSSQLDefaultConnectionManager handleStoreRequest:] + 248 20 CoreData 0x229f8 -[NSSQLCoreDispatchManager routeStoreRequest:] + 228 21 CoreData 0x227fc -[NSSQLCore dispatchRequest:withRetries:] + 172 22 CoreData 0xafc7c -[NSSQLCore _obtainPermanentIDsForObjects:withNotification:error:] + 1324 23 CoreData 0x74824 -[NSSQLCore _prepareForExecuteRequest:withContext:error:] + 272 24 CoreData 0x730e8 __65-[NSPersistentStoreCoordinator executeRequest:withContext:error:]block_invoke.541 + 9172 25 CoreData 0x11700 -[NSPersistentStoreCoordinator routeHeavyweightBlock:] + 264 26 CoreData 0x10b9c -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 1048 27 CoreData 0xc1c38 -[NSManagedObjectContext save:] + 972 28 MyApp 0x73c1c0 specialized MBLoggerCoreDataManager.saveContext(:) + 177 (MBLoggerCoreDataManager.swift:177) 29 MyApp 0x739f4c closure #1 in MBLoggerCoreDataManager.create(message:timestamp:) + 171 (MBLoggerCoreDataManager.swift:171) 30 MyApp 0x73ad18 partial apply for closure #1 in MBLoggerCoreDataManager.create(message:timestamp:) + 4310543640 (:4310543640) 31 MyApp 0x73c434 partial apply for specialized thunk for @callee_guaranteed () -> (@out A, https://github.com/error @owned Error) + 4310549556 (:4310549556) 32 MyApp 0x7391d4 specialized closure #1 in closure #1 in NSManagedObjectContext.performAndWaitHelper(fn:execute:rescue:) + 33 (NSManagedObjectContext+Extension.swift:33) 33 MyApp 0x54cb8 Adapter.adapt(:for:completion:) + 137 (ChatCoordinator.swift:137) 34 MyApp 0x54cb8 Retrier.retry(:for:dueTo:completion:) + 4303310008 (:4303310008) 35 MyApp 0x320e28 thunk for https://github.com/escaping @callee_guaranteed () -> () + 4306243112 (:4306243112) 36 CoreData 0x26fe8 developerSubmittedBlockToNSManagedObjectContextPerform + 156 37 libdispatch.dylib 0x3dd4 _dispatch_client_callout + 20 38 libdispatch.dylib 0x136f8 _dispatch_sync_invoke_and_complete_recurse + 64 39 libdispatch.dylib 0x13178 dispatch_sync_f_slow + 176 40 CoreData 0x9d15c -[NSManagedObjectContext performBlockAndWait:] + 264 41 MyApp 0x738c88 specialized NSManagedObjectContext.mindboxPerformAndWait(:) + 15 (NSManagedObjectContext+Extension.swift:15) 42 MyApp 0x739bac MBLoggerCoreDataManager.create(message:timestamp:) + 79 (MBLoggerCoreDataManager.swift:79) 43 MyApp 0x73deb4 closure #1 in MBLogger.log(level:message:date:category:subsystem:) + 120 (MBLogger.swift:120) 44 MyApp 0x19c78 thunk for https://github.com/escaping @callee_guaranteed https://github.com/sendable () -> () + 4303068280 (:4303068280) 45 libdispatch.dylib 0x213c _dispatch_call_block_and_release + 32 46 libdispatch.dylib 0x3dd4 _dispatch_client_callout + 20 47 libdispatch.dylib 0xb400 _dispatch_lane_serial_drain + 748 48 libdispatch.dylib 0xbf30 _dispatch_lane_invoke + 380 49 libdispatch.dylib 0x16cb4 _dispatch_root_queue_drain_deferred_wlh + 288 50 libdispatch.dylib 0x16528 _dispatch_workloop_worker_thread + 404 51 libsystem_pthread.dylib 0x4934 _pthread_wqthread + 288 52 libsystem_pthread.dylib 0x10cc start_wqthread + 8

justSmK commented 1 week ago

Hello, @Khmelevsky. We started working on this since version 2.11.1. Please try to update the SDK to this version. And I would really like to get some feedback on this issue after updating the SDK, if it's not too much trouble.