mercredi 2 mars 2016

NSObject(NSKeyValueObserverNotification) willChangeValueForKey: random crash on Release build

Recently I encountered some random crashes in iPhone, OS 9.2. The strange part is that I can't reproduce my crash on debug build, it only happens with release build. And it's not consistently reproducible. I did the same operation (open my app by opening a URL) several times, about one in ten times, app crashes.

Crash thread doesn't contain code related with my application. And I searched my application, I've removed all the KVO observer when they are deallocated, so I can't reproduce it on debug build.

Does anyone meet the similar problem? Is it an iOS issue or defect in my code?

Crash log is as below: Date/Time: 2016-03-01 15:24:21.21 +0800

Launch Time: 2016-03-01 14:20:05.05 +0800

OS Version: iOS 9.2.1 (13D15)

Report Version: 105

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Exception Subtype: KERN_INVALID_ADDRESS at 0x000200015a03c700

Triggered by Thread: 0

Filtered syslog: None found

Global Trace Buffer (reverse chronological seconds):

3.636040 CFNetwork 0x0000000184c182e4 NSURLSessionTask finished with error - code: -999 10.973538 CFNetwork 0x0000000184c182e4 NSURLSessionTask finished with error - code: -1002 11.010070 CFNetwork 0x0000000184c182e4 NSURLSessionTask finished with error - code: -1002 14.318051 CFNetwork 0x0000000184c182e4 NSURLSessionTask finished with error - code: -999 20.328646 CFNetwork 0x0000000184c182e4 NSURLSessionTask finished with error - code: -1002 20.349845 CFNetwork 0x0000000184c182e4 NSURLSessionTask finished with error - code: -1002 22.382139 CFNetwork 0x0000000184c47104 TCP Conn 0x14f6399e0 complete. fd: 22, err: 0 22.382727 CFNetwork 0x0000000184c48630 TCP Conn 0x14f6399e0 event 1. err: 0

Thread 0 name: Dispatch queue: com.apple.main-thread

Thread 0 Crashed:

0 libobjc.A.dylib 0x0000000183c4dbdc objc_msgSend + 28

1 Foundation 0x0000000184ea28e4 -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:] + 324

2 QuartzCore 0x0000000186cbf374 CA::Layer::set_delegate(objc_object*) + 72

3 UIKit 0x00000001892c2538 -[UIView _createLayerWithFrame:] + 580

4 UIKit 0x00000001892c1ff8 UIViewCommonInitWithFrame + 688

5 UIKit 0x00000001892c1ce8 -[UIView initWithFrame:] + 140

6 UIKit 0x000000018931be60 -[UIActivityIndicatorView initWithActivityIndicatorStyle:] + 116

7 UIKit 0x000000018931bbd0 -[UIStatusBarActivityItemView updateContentsAndWidth] + 148

8 UIKit 0x000000018931ba80 -[UIStatusBarItemView initWithItem:data:actions:style:] + 432

9 UIKit 0x000000018931b80c +[UIStatusBarItemView createViewForItem:withData:actions:foregroundStyle:] + 144

10 UIKit 0x000000018931b604 -[UIStatusBarLayoutManager _createViewForItem:withData:actions:] + 172

11 UIKit 0x00000001892b4330 -[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:] + 332

12 UIKit 0x00000001892b416c -[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:] + 112

13 UIKit 0x00000001892b3f98 -[UIStatusBarForegroundView _setStatusBarData:actions:animated:] + 836

14 UIKit 0x00000001892b3a18 -[UIStatusBarForegroundView setStatusBarData:actions:animated:] + 688

15 UIKit 0x00000001892b2af4 -[UIStatusBar statusBarServer:didReceiveStatusBarData:withActions:] + 188

16 UIKit 0x00000001892b29f0 _UIStatusBarReceivedStatusBarDataAndActions + 76

17 UIKit 0x00000001892b295c _XReceivedStatusBarDataAndActions + 96

18 AppSupport 0x00000001859d0270 migHelperRecievePortCallout + 212

19 CoreFoundation 0x0000000184585634 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 56

20 CoreFoundation 0x0000000184584d6c __CFRunLoopDoSource1 + 436

21 CoreFoundation 0x0000000184582ac4 __CFRunLoopRun + 1800

22 CoreFoundation 0x00000001844b1680 CFRunLoopRunSpecific + 384

23 GraphicsServices 0x00000001859c0088 GSEventRunModal + 180

24 UIKit 0x0000000189328d90 UIApplicationMain + 204

25 MYAPP 0x000000010000f454 main (main.m:13)

26 libdyld.dylib 0x00000001840528b8 start + 4




Aucun commentaire:

Enregistrer un commentaire