2015-09-21 19 views
14

Với việc phát hành iOS 9, chúng tôi thấy một số báo cáo sự cố cho những gì dường như là một lỗi từ phía Apple của sự vật trong iOS 9. Điều này xảy ra trên các loại thiết bị (iPhone, iPad và iPod). Tôi đang tìm cách tìm hiểu tại sao điều này có thể xảy ra và nếu có bất cứ điều gì tôi có thể làm để làm việc xung quanh nó. Ngăn xếp này đang được báo cáo thông qua hệ thống báo cáo sự cố của chúng tôi (Crashlytics) vì vậy rất tiếc tôi không có các bước hoặc mã có thể tái tạo, nhưng tôi sẽ cố gắng và trả lời bất kỳ câu hỏi nào tốt nhất có thể. Ngăn xếp như sau:iOS 9 Crashing in _prepareForCAFlush với EXC_BAD_ACCESS KERN_INVALID_ADDRESS

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

Vấn đề tương tự ở đây. Nhà cung cấp phân tích nào bạn sử dụng? – Yerk

+0

Yerk, chúng tôi sử dụng Google Analytics cho các sự kiện ứng dụng/v.v. và Twitter Crashlytics cho báo cáo sự cố. – Josh

+0

dường như là một lỗi của Crashlytics: https://stackoverflow.com/a/31016107/4975761 – wj2061

Trả lời

-3

Dường như chỉ ảnh hưởng đến các thiết bị có bộ xử lý 32 bit A5 và A6 - iPod thế hệ thứ 5, iPhone 4S/5/5C, iPad 2/Mini). Không repro về phía chúng tôi. Các sự cố này đã bắt đầu và tăng cường với việc phát hành và chấp nhận iOS 9. iOS v9.0.1 dường như không khắc phục được.

+0

Theo Fabric, 40% các sự cố thuộc về iPhone 6 và 25% cho iPhone 6 cộng với – Efesus

+0

Chỉ cần xác nhận, rằng là 64-bit là tốt, vì chúng tôi có nhiều iPhone 6 và 6 cộng với vụ tai nạn này là tốt. Vẫn đang cố để giải quyết... – Josh

1

Chúng tôi gặp phải sự cố với một dấu vết ngăn xếp tương tự, và sau một cuộc điều tra dài, chúng tôi phát hiện ra rằng nó có liên quan đến một vụ tai nạn khác; sửa chữa mà cũng cố định này, tuy nhiên tôi vẫn không chắc chắn làm thế nào hai tai nạn có liên quan.

Dưới đây là các chi tiết về vụ tai nạn khác:

Chúng tôi đã có một cuộc gọi chức năng trong một trong những phương pháp của chúng tôi như

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

nơi AudioServicesSystemSoundCompletion trông giống như

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

Thi rằng chức năng cuộc gọi hai hoặc nhiều lần đồng thời khiến ứng dụng gặp sự cố. Chúng tôi đã sửa lỗi này bằng cách chuyển NULL thay vì (void *) CFBridgingRetain (self) và loại bỏ CFRelease (clientData); hàng.

Vì việc khắc phục này chúng tôi không còn thấy sự cố '_prepareForCAFlush' nữa.

Cũng lưu ý rằng theo Crashlytics thiết bị có mức sử dụng bộ nhớ rất cao mỗi lần tai nạn được sao chép.

Hy vọng điều này sẽ hữu ích!

+0

Chúng tôi đang thử nghiệm một số lý thuyết về những gì bạn đang đề xuất ở đây, và nếu nó hoạt động tôi sẽ cho mọi người biết. Chúng tôi không làm bất cứ điều gì chính xác như những gì bạn đang ở đây, nhưng nó xuất hiện rằng một cái gì đó đã được phát hành vào những thời điểm sai trong một số mã của chúng tôi, và đó có thể là nguyên nhân. Cảm ơn bạn đã trả lời và tôi hy vọng sẽ có kết quả cuối cùng trong khoảng một tuần. – Josh

+0

Cập nhật. Nỗ lực của chúng tôi tại các bản sửa lỗi cho đến nay vẫn chưa giải quyết được vấn đề. Có thể những điều chúng tôi đã thử đã giúp một số, nhưng không đáng kể. Tôi đang cá cược một cái gì đó là "rò rỉ" và đây là một vụ tai nạn khi cố gắng để làm sạch mọi thứ. Không có ý tưởng thực sự làm thế nào để bao giờ tìm ra những gì hoặc tại sao .... – Josh

+0

Còn bây giờ thì sao? Chúng tôi đã gặp vấn đề tương tự và tôi không biết nguyên nhân gây ra vấn đề gì. –

1

Đối với tôi vấn đề là tôi đã hiển thị và loại bỏ bàn phím khi ứng dụng được thu nhỏ.

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

Tôi đã thực hiện mã trên trên sự kiện applicationWillResignActive. xóa mã này đã khắc phục sự cố.

1

Tôi cũng đang gặp vấn đề này và tôi nghĩ rằng tôi đã tìm thấy nguyên nhân có thể gây ra vấn đề này. Các bạn có cơ hội sử dụng SDWebImage không? Vì đó là nơi duy nhất tôi thấy rằng CFRunLoopRun() đang được gọi và những người khác than phiền về: Dead thread ticket -> App Crash

Các vấn đề liên quan