views:

41

answers:

2

Has anyone ever seen a crash log like this before where the UIKit and other system libraries do not get symbolicated? One of our apps is having an issue with crashing on launch but only a small number of users (like 5) are experiencing the problem. (To my understanding the default.png is displayed and then it crashes) and we have been unable to reproduce it. There doesn't seem to be anything oblivious in the code and I have ran the static analyzer and it shows no issues. But the fact that the UIKit and other libraries are not being symbolicated is odd to me. I looked up libSystem.B.dylib 0000000000 0 + 0 and there are some hits on google about this and a connection with static libraries. This project does use static libraries but I would assume that if there was an issue with them it would not work on any device not just a couple.

Exception Type:  EXC_BAD_ACCESS (SIGBUS)  
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000  
Crashed Thread:  0  

Thread 0 Crashed:  
0  libSystem.B.dylib              0000000000 0 + 0  
1  UIKit                          0x0068a0dc 0x66c000 + 123100  
2  MyApp                         0x000307b2 -[RootViewController defaultImage]       (RootViewController.m:39)  
3  MyApp                         0x00030720 -[RootViewController loadView] (RootViewController.m:49)  
4  MyApp                         0x00030182 -[RootViewController loadView] (RootViewController.m:43)  
5  MyApp                         0x00031894 -[AppDelegate applicationDidFinishLaunching:] (AppDelegate.m:52)  
6  UIKit                          0x31ada4b8 0x31acc000 + 58552  
7  UIKit                          0x31ad09e2 0x31acc000 + 18914  
8  UIKit                          0x31b29fd8 0x31acc000 + 384984  
9  UIKit                          0x31b298fc 0x31acc000 + 383228  
10 UIKit                          0x31b29332 0x31acc000 + 381746  
11 GraphicsServices               0x3026c046 0x30267000 + 20550  

This is the defaultImage method in its entirety

-(UIImage*)defaultImage
{
  return [UIImage imageNamed: @"Default.png"];
}

We got the ipa from one of the users and the Default.png does not seem to be corrupted.

A: 

http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/

Justin
the crash log have already been symbolicated by xcode (and I tried it using symbolicatecrash) but only method calls from my dSYM are being symbolicated.
joejackson
ah, sorry. i read too quickly.
Justin
A: 

I can confirm that on occasion I have also had this happen with the crash logs for my app. So far I have not been able to symbolicate them further. There doesn't seem to be a reason why some of them symbolicate completely and others don't.

Did you do an Archive and Build for the version that you submitted to the App Store? For whatever reason, XCode seems to be a lot better at symbolicating logs from archived app builds, so I make sure to always do that.


Now regarding the crash itself, is it possible that you are displaying the splash screen from a background thread? It won't cause a crash on all devices, but it does on some (again there seems to be no reason why it crashes certain devices and not others that I have found). I was affected by this on my app because it didn't crash the simulator or any of my devices, but it did crash a small percentage of my users' devices. I was doing my initialization using a background thread, and I only read later that you can only use UIKit from the main thread. I changed it and no longer had a problem.

einsteinx2
the report reads thread 0
Justin
The submitted build was archived. But its good to know that some one has ran into it before.
joejackson
In regards to your other question I am only touching the UI on the main thread
joejackson
@Justin ya I should have caught that.
einsteinx2