2015-09-21 23 views
14

iOS 9のリリースでは、iOS 9のApple側のバグであると思われるいくつかのクラッシュレポートが表示されています。これは、デバイスタイプ(iPhone、iPadとiPod)。なぜこれが起こっているのか、それを回避するために何かできることがあるかどうかを探しています。このスタックはCrash Reportingシステム(Crashlytics)を通じて報告されているので、残念ながら私は再現可能なステップやコードはありませんが、可能な限り質問に答えるよう努力します。次のようにスタックされる:iOS 9 EXC_BAD_ACCESS KERN_INVALID_ADDRESSで_prepareForCAFlushでクラッシュする

Thread : Crashed: com.apple.main-thread 
0 libobjc.A.dylib    0x34a27ad6 objc_msgSend + 21 
1 CoreFoundation     0x230d3db9 -[__NSArrayM dealloc] + 148 
2 libobjc.A.dylib    0x34a34f67 objc_object::sidetable_release(bool) + 150 
3 libobjc.A.dylib    0x34a353a9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 388 
4 CoreFoundation     0x230cbfa9 _CFAutoreleasePoolPop + 16 
5 UIKit       0x27523cd9 _prepareForCAFlush + 312 
6 UIKit       0x2752886b _beforeCACommitHandler + 10 
7 CoreFoundation     0x2317a509 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20 
8 CoreFoundation     0x2317880d __CFRunLoopDoObservers + 280 
9 CoreFoundation     0x23178c3f __CFRunLoopRun + 958 
10 CoreFoundation     0x230cc249 CFRunLoopRunSpecific + 520 
11 CoreFoundation     0x230cc035 CFRunLoopRunInMode + 108 
12 GraphicsServices    0x2c182ad1 GSEventRunModal + 160 
13 UIKit       0x272e18a9 UIApplicationMain + 144 
14 APPNAMEHERE     0x000ec967 main (main.m:14) 
+0

どのアナリティクスプロバイダを使用していますか? – Yerk

+0

Yerk、Googleアナリティクスをアプリイベントなどに使用しています。クラッシュレポートのためのTwitter Fabric Crashlyticsが含まれます。 – Josh

+0

はCrashlyticsのバグのようです:https://stackoverflow.com/a/31016107/4975761 – wj2061

答えて

-3

は、32ビットプロセッサA5およびA6とデバイスに影響を与えるべき思える - iPodの第5世代、iPhone 4S/5/5C、アプリ2 /ミニ)。 私たちの側にもreproはありません。 これらのクラッシュは、iOS 9のリリースおよび採用により開始され、増加しました。 iOS v9.0.1では修正されていないようです。

+0

ファブリックによれば、クラッシュの40%はiPhone 6に属し、25%はiPhone 6にプラスしています – Efesus

+0

これを確認するには、 64ビット版もあります。私たちはiPhone 6と6の多くにこのクラッシュもあります。まだそれを理解しようとしている... – Josh

1

同様のスタックトレースでaが発生しました。長い調査の結果、他のクラッシュに関連していることがわかりました。私はまだ2つのクラッシュがどのように関係しているのかまだ分かりません。ここで

は、他のクラッシュについての詳細は以下のとおりです。

我々は

AudioServicesSystemSoundCompletionは、その関数呼び出しを実行

void AudioServicesSystemSoundCompletion(SystemSoundID ssID, void *clientData) { 
    AudioServicesRemoveSystemSoundCompletion(ssID); 
    CFRelease(clientData); 
} 

のように見えた

AudioServicesAddSystemSoundCompletion(self.soundID, 
             [[NSRunLoop currentRunLoop] getCFRunLoop], 
             kCFRunLoopDefaultMode, 
             AudioServicesSystemSoundCompletion, 
             (void *)CFBridgingRetain(self)); 

のような私たちのいずれかの方法で関数呼び出しを持っていました2回以上同時にアプリがクラッシュしました。 CFBridgingRetain(self)の代わりにNULLを渡し、CFRelease(clientData)を削除することでこれを修正しました。ライン。

この修正により、 '_prepareForCAFlush'クラッシュはもう見られなくなりました。

また、Crashlyticsによれば、クラッシュが再現されるたびに、デバイスのメモリ使用量が非常に高いことにも注意してください。

希望すると便利です。

+0

あなたがここで提案しているものについていくつかの理論をテストしています。もしうまくいくなら私は皆に知らせるでしょう。あなたがここにいるものとまったく同じことをしているわけではありませんが、間違ったタイミングで何かがリリースされているように見えますが、それが原因かもしれません。応答してくれてありがとう、私は約1週間で決定的な結果を期待しています。 – Josh

+0

更新。修正プログラムの試みは、今のところ問題を解決していません。私たちが試したことがいくつか役に立ったが、それほど重要ではない可能性がある。私は何かが "漏れている"ことを賭けているし、これは物事をきれいにしようとするとクラッシュする。どういうわけか、どうして本当に知りたかったのですか? – Josh

+0

今はどうですか?私たちは同じ問題を抱えていて、何が原因なのか分かりません。 –

1

問題は、アプリケーションが最小化されたときにキーボードを表示していたことが問題だったということでした。

[self.textView becomeFirstResponder]; 
    [self.textView resignFirstResponder]; 

私はapplicationWillResignActiveイベントで上記のコードを実行しました。 このコードを削除するとクラッシュが修正されました。

1

私もこの問題に直面しています。私はそれが原因である可能性があると考えました。 SDWebImageを使用していますか? これはCFRunLoopRun()が呼び出されていることと、他の人が苦情を申し立てていることがわかった唯一の場所であるためです。 Dead thread ticket -> App Crash

関連する問題