2017-05-02 26 views
1

iOSアプリケーションのCrashlyticsクラッシュレポートを受け取っています。ユーザーの中には、アプリがクラッシュしてクラッシュログにSIGABRTを与えるものがあります。iOS:CrashlyticsのSIGABRTクラッシュの理解

私は数え切れないほどの時間にわたってこのエラーの原因を見つけようとしていますが、エラーの希少性(約1〜2%のユーザー)のため、エラーを再現することができませんでした。 Crashlytics、私はこのエラーの根本原因を見つけることができませんでした。

アプリのデプロイメントターゲットはiOS 7で、iOS 10以降のすべてのサイズのデバイスでクラッシュが発生しています(iOS 9,8または7にもエラーが発生しているかどうかはわかりません - Crashlyticsはクラッシュを表示していますiOSの10+)

ここでは、スタックトレースです:

CRASH_INFO_ENTRY_1 
*** error for object 0x17127f4c0: Invalid pointer dequeued from free list 
CRASH_INFO_ENTRY_0 
abort() called 

Crashed: com.apple.main-thread 
SIGABRT ABORT 0x000000018e2ea014 

#0. Crashed: com.apple.main-thread 
0 libsystem_kernel.dylib   0x18f6ca014 __pthread_kill + 8 
1 libsystem_pthread.dylib  0x18f791460 pthread_kill + 112 
2 libsystem_c.dylib    0x18f63e3f4 abort + 140 
3 libsystem_malloc.dylib   0x18f70ea38 
_nano_vet_and_size_of_live + 330 
4 libsystem_malloc.dylib   0x18f710bf0 
_nano_malloc_check_clear + 392 
5 libsystem_malloc.dylib   0x18f70fbb4 nano_calloc + 80 
6 libsystem_malloc.dylib   0x18f701180 malloc_zone_calloc + 152 
7 libsystem_malloc.dylib   0x18f7010c4 calloc + 40 
8 libobjc.A.dylib    0x18f131cfc cache_t::reallocate(unsigned int, unsigned int) + 52 
9 libobjc.A.dylib    0x18f1321fc cache_fill + 216 
10 libobjc.A.dylib    0x18f13cd00 lookUpImpOrForward + 412 
11 libobjc.A.dylib    0x18f147258 _objc_msgSend_uncached + 56 
12 UIKit       0x1967274e8 -[UITableView _endCellAnimationsWithContext:] + 13964 
13 Champion      0x100097bf4 -[MatchdayComposeController controllerDidChangeContent:] (MatchdayComposeController.m:427) 
14 CoreData      0x192abfe28 __82-[NSFetchedResultsController(PrivateMethods) _core_managedObjectContextDidChange:]_block_invoke + 4760 
15 CoreData      0x192abeb80 -[NSFetchedResultsController(PrivateMethods) _core_managedObjectContextDidChange:] + 124 
16 CoreFoundation     0x19069622c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 
17 CoreFoundation     0x190695930 _CFXRegistrationPost + 400 
18 CoreFoundation     0x1906956ac ___CFXNotificationPost_block_invoke + 60 
19 CoreFoundation     0x190704b9c -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1504 
20 CoreFoundation     0x1905d7bf4 _CFXNotificationPost + 376 
21 Foundation      0x1910de6bc -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 
22 CoreData      0x1929eed1c -[NSManagedObjectContext(_NSInternalNotificationHandling) _postObjectsDidChangeNotificationWithUserInfo:] + 724 
23 CoreData      0x192a75170 -[NSManagedObjectContext(_NSInternalChangeProcessing) _createAndPostChangeNotification:deletions:updates:refreshes:deferrals:wasMerge:] + 1336 
24 CoreData      0x1929ed338 -[NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:] + 2116 
25 CoreData      0x1929ebe3c -[NSManagedObjectContext save:] + 416 
26 Champion      0x10008e2ac -[AppDelegate saveContext] (AppDelegate.m:263) 
27 Champion      0x10009d1d4 +[Globals saveManagedObjectContext] (Globals.m:157) 
28 Champion      0x10006ee4c -[EntitySyncClient saveUpdates:] (EntitySyncClient.m:232) 
29 Champion      0x1000690a0 -[MatchController datepickerDidChangeValue:] (MatchController.m:994) 
30 UIKit       0x1965799a0 -[UIApplication sendAction:to:from:forEvent:] + 96 
31 UIKit       0x196579920 -[UIControl sendAction:to:forEvent:] + 80 
32 UIKit       0x196563dd0 -[UIControl _sendActionsForEvents:withEvent:] + 452 
33 UIKit       0x196e62c44 -[_UIDatePickerView pickerView:didSelectRow:inComponent:] + 540 
34 UIKit       0x1967b965c -[UIPickerView _sendSelectionChangedForComponent:notify:] + 116 
35 UIKit       0x1967b9894 -[UIPickerView _sendSelectionChangedFromTable:notify:] + 344 
36 UIKit       0x196ce6878 -[UIPickerTableView _scrollingFinished] + 188 
37 UIKit       0x196ce6a50 -[UIPickerTableView scrollViewDidEndDecelerating:] + 28 
38 UIKit       0x196857abc -[UIScrollView(UIScrollViewInternal) _scrollViewDidEndDeceleratingForDelegate] + 132 
39 UIKit       0x1966ed2cc -[UIScrollView(UIScrollViewInternal) _stopScrollDecelerationNotify:] + 332 
40 UIKit       0x1966ece08 -[UIScrollView _smoothScrollWithUpdateTime:] + 2356 
41 QuartzCore      0x1938ff640 CA::Display::DisplayLinkItem::dispatch(unsigned long long) + 44 
42 QuartzCore      0x1938ff4ec CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 444 
43 IOKit       0x190968570 IODispatchCalloutFromCFMessage + 372 
44 CoreFoundation     0x19069256c __CFMachPortPerform + 180 
45 CoreFoundation     0x1906aa934 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56 
46 CoreFoundation     0x1906aa0e8 __CFRunLoopDoSource1 + 436 
47 CoreFoundation     0x1906a7bcc __CFRunLoopRun + 1840 
48 CoreFoundation     0x1905d6048 CFRunLoopRunSpecific + 444 
49 GraphicsServices    0x192059198 GSEventRunModal + 180 
50 UIKit       0x1965af818 -[UIApplication _run] + 684 
51 UIKit       0x1965aa550 UIApplicationMain + 208 
52 Champion      0x1000b082c main (main.m:14) 
53 libdispatch.dylib    0x18f5b85b8 (Missing) 

私は援助のあらゆる種類のために非常に感謝されます。私がCrashlyticsエラーを再現するためのあらゆる種類のポインタを得ることができれば幸いです。主にテーブルビューが更新を終了さcontrollerDidChangeContent:のコード

との質問を更新

。あなたのプログラムの最後のあえぎが_endCellAnimationsWithContextにあった、とアニメーションのこれらのタイプは、通常、セルの編集の完了時に発生考える

- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller { 
    [self.tableView endUpdates]; 
    if(controller.fetchedObjects.count == 0){ 
     self.showsNoMatchesHint = YES; 
    } 
    else{ 
     self.showsNoMatchesHint = NO; 
    } 
} 
+0

エラー自体が "空きリストからデキューされたポインタが無効です"と表示されています。 ここには、潜在的に役に立つ2つの記事があります。[1](http://stackoverflow.com/questions/29961954/xcode-my-app-crash-and-the-error-is-invalid-pointer-dequeued-from - フリーリスト)と[2](http://stackoverflow.com/questions/41809388/invalid-pointer-xcode-8) – shim

+0

さて、私はすでに2番目のリンク(ゾンビ、メモリリーク)ですべてを試してみましたが、 。私はまだ私のデバイスやシミュレータでこのクラッシュを再現することができませんでした。私は最初のリンクで与えられたように展開ターゲットを変更することを躊躇していますが、それは残された唯一のものだと思われます。 –

+0

'MatchdayComposeController controllerDidChangeContent:'メソッドであなたの質問を更新し、427行目を指摘してください。 – rmaddy

答えて

0

その特定のテーブルには、セル編集操作を完了したとき、私が問題に見えると思います。ピッカーの視点とそこにも通知がありますので、いくつか絞り込んでください。がんばろう。

0

このコード行によって引き起こされるように見える

[self.tableView endUpdates]。

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableViewのロジックが正しいことを確認することをお勧めします。たとえば、配列が空の場合は0を返しません。がんばろう。

関連する問題