تحديث - تحميل ios 9 للاندرويد




يوس 9 تحطم في_prepareForCAFlush مع EXC_BAD_ACCESS KERN_INVALID_ADDRESS (3)

مع إصدار نظام التشغيل يوس 9، نشاهد العديد من تقارير الأعطال لما يبدو أنه خطأ من جانب أبل من الأشياء في يوس 9. يحدث هذا عبر أنواع الأجهزة (إفون و إيباد و إيبود). وإنني أتطلع إلى معرفة سبب حدوث ذلك، وإذا كان هناك أي شيء يمكنني القيام به للتغلب عليه. يتم الإبلاغ عن هذه المكدس من خلال نظام الإبلاغ عن الأعطال لدينا (كراشليتيكش) لذلك للأسف أنا لم يكن لديك خطوات استنساخ أو رمز، ولكن سأحاول والإجابة على أي أسئلة على أفضل ما أستطيع. المكدس كما يلي:

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)

يبدو أن تؤثر فقط الأجهزة مع 32 بت معالجات A5 و A6 - آي بود 5th الجنرال، اي فون 4S / 5 / 5C، آي باد 2 / ميني). لا يوجد أي جانب من جانبنا. وبدأت هذه الأعطال وتصاعدت مع دائرة الرقابة الداخلية 9 الإفراج والتبني. دائرة الرقابة الداخلية v9.0.1 لا يبدو لإصلاحه.


واجهنا الحادث مع تتبع كومة مماثلة، وبعد تحقيق طويل اكتشفنا أنه كان مرتبطا تحطم آخر؛ إصلاح التي أيضا إصلاح هذا، ولكن أنا ما زلت غير متأكد كيف ترتبط تعطل اثنين.

في ما يلي تفاصيل عن الحادث الآخر:

كان لدينا استدعاء وظيفة في واحدة من أساليبنا مثل

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

حيث بدا أوديوسرفيسزسيستمسوندكومبليتيون مثل

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

تنفيذ تلك الدالة استدعاء مرتين أو أكثر في وقت واحد تسبب في التطبيق إلى تعطل. نحن إصلاح هذا عن طريق تمرير نول بدلا من (باطل *) كفبريدينجريتين (النفس) وإزالة كفريليس (كلينتداتا)؛ خط.

منذ هذا الإصلاح لم يعد نرى '_prepareForCAFlush' تحطم بعد الآن.

نلاحظ أيضا أنه وفقا كراشليتيكش كان الجهاز استخدام الذاكرة عالية جدا في كل مرة تحطمها قد استنسخ.

أتمنى أن يساعدك هذا!


أنا أيضا تواجه هذه المسألة، وأعتقد أنني وجدت ما يمكن أن يسبب ذلك. هل يا رفاق من أي فرصة باستخدام سدويبيماج؟ لأن هذا هو المكان الوحيد حيث وجدت أن كفرونلوبرون () يتم استدعاؤها وشكا أيضا أشخاص آخرين على: تذكرة موضوع الميت -> تحطم التطبيق





ios9