iOS 앱에서 FMDB을 사용하고 있습니다. 최근에 Apteligent에서 FMDB의 충돌에 관한 여러 가지 충돌 보고서를 받았습니다.FMDB 크래시 : [FMDatabaseQueue inDatabase :]의 SEGV_MAPERR
0 libdispatch.dylib 0x00000001810ab120 _dispatch_main_queue_callback_4CF + 2904
! 1 myApp 0x00000001001ac840 -[FMDatabaseQueue inDatabase:] (FMDatabaseQueue.m:142)
2 myApp 0x000000010011844c +[DataBaseController insert:withObjects:] (DataBaseController.m:602)
3 myApp 0x0000000100118254 +[DataBaseController insertObjects:withObjects:] (DataBaseController.m:575)
4 myApp 0x0000000100150e80 -[SendManagementBBDD crearySalvarEnvioConSolicitud:EntidadParaEncolar:borrarTrasEnvio:] (SendManagementBBDD.m:686)
5 myApp 0x0000000100150a28 __76-[SendManagementBBDD sendEntitiesAfterDetail:OnComplete:]_block_invoke (SendManagementBBDD.m:615)
6 libdispatch.dylib 0x00000001810a55f0 _dispatch_client_callout + 12
7 libdispatch.dylib 0x00000001810b0b94 _dispatch_sync_f_invoke + 68
8 myApp 0x0000000100150404 -[SendManagementBBDD sendEntitiesAfterDetail:OnComplete:] (SendManagementBBDD.m:563)
9 myApp 0x000000010005c284 __44-[DetailVC startWork:]_block_invoke (DetailVC.m:286)
10 libdispatch.dylib 0x00000001810a5630 _dispatch_call_block_and_release + 20
11 libdispatch.dylib 0x00000001810a55f0 _dispatch_client_callout + 12
12 libdispatch.dylib 0x00000001810b3a88 _dispatch_root_queue_drain + 2136
13 libdispatch.dylib 0x00000001810b3224 _dispatch_worker_thread3 + 108
14 libsystem_pthread.dylib 0x00000001812b9470 _pthread_wqthread + 1088
15 libsystem_pthread.dylib 0x00000001812b9020 start_wqthread + 0
여러 스레드에서 데이터베이스에 액세스합니다. As the documentation says, 나는 FMDatabaseQueue의 단일 인스턴스를 가지고 있으며이 인스턴스를 앱의 모든 스레드에서 공유합니다. 메소드 [FMDatabaseQueue inDatabase :]에서 SEGV_MAPERR 충돌이 발생했습니다.
이 충돌은 거의 발생하지 않지만 해결하려고합니다. 어떤 아이디어가 원인입니까?
대단히 감사합니다.
이 충돌은 Crittercism SDK 때문이라고 말하지 않습니다. 나는 크 리터 시즘에서이 충돌에 관한 몇 가지 보고서를 받았다고 말하고 싶다. 혼란을 드려 죄송합니다. – jmartinalonso