3
votes

I've submitted my app to appstore for review and is refused as follows:

We found that your app crashed on iPhone 4 running iOS 5.1.1, which is not in compliance with the App Store Review Guidelines. Your app crashed on launch on both Wi-Fi and cellular networks.

And this is the attached crash log:

Incident Identifier: 65E8D233-2F02-4545-85C9-74CA4A346051
CrashReporter Key:   5f5257827e93649c799893055b12d3d61c937314
Hardware Model:      iPhone3,1
Process:         iman360 [42785]
Path:            /var/mobile/Applications/EA2B491A-194D-4669-ADF7-721593D2B14F/iman360.app/iman360
Identifier:      iman360
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]
Date/Time:       2012-08-09 13:41:37.107 -0700
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x2fdfe6e0
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   ???                             0x2fdfe6e0 0 + 803202784
1   iman360                         0x00036ba2 -[ComicCatController     refreshWithActionHandlerExeced:] (ComicCatController.m:216)
2   iman360                         0x00036b0c -[ComicCatController refresh] (ComicCatController.m:207)
3   iman360                         0x0002e682 -[TabComicCityViewController showSegTabView:] (TabComicCityViewController.m:312)
4   iman360                         0x0002dcbc -[TabComicCityViewController segmentedViewValueChanged:] (TabComicCityViewController.m:96)
5   CoreFoundation                  0x372ee3f6 -[NSObject performSelector:withObject:withObject:] + 46
6   UIKit                           0x31083e00 -[UIApplication sendAction:to:from:forEvent:] + 56
7   UIKit                           0x31083dbc -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 24
8   UIKit                           0x31083d9a -[UIControl sendAction:to:forEvent:] + 38
9   UIKit                           0x31083b0a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 486
10  iman360                         0x00019598 -[Iman360SegmentedView moveThumbToIndex:animate:] (Iman360SegmentedView.m:360)
11  iman360                         0x00017ab4 -[Iman360SegmentedView willMoveToSuperview:] (Iman360SegmentedView.m:117)
12  UIKit                           0x3106b502 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 390
13  UIKit                           0x3106b370 -[UIView(Hierarchy) addSubview:] + 24
14  iman360                         0x0002d996 -[TabComicCityViewController viewDidLoad] (TabComicCityViewController.m:49)
15  UIKit                           0x310a1c84 -[UIViewController view] + 160
16  iman360                         0x0001c86a +[ViewControllerManager initGlobalContentBgImgForViewController:] (ViewControllerManager.m:43)
17  iman360                         0x0000422c -[Iman360ViewControllerBase init] (Iman360ViewControllerBase.m:25)
18  iman360                         0x0002b8ce -[IndexTabViewControllerBase initWithIndexViewController:] (IndexTabViewControllerBase.m:19)
19  iman360                         0x00004706 -[IndexViewController viewDidLoad] (IndexViewController.m:58)
20  UIKit                           0x310a1c84 -[UIViewController view] + 160
21  UIKit                           0x310a045a -[UIWindow addRootViewControllerViewIfPossible] + 38
22  UIKit                           0x31224774 -[UIWindow setRootViewController:] + 332
23  iman360                         0x0001c7da +[ViewControllerManager switchToViewController:] (ViewControllerManager.m:32)
24  iman360                         0x0001c60a -[LoadingViewController onBackgroundJobFinishedWithUpdateInfo:] (LoadingViewController.m:165)
25  CoreFoundation                  0x372f31f4 -[NSObject performSelector:withObject:] +   36
26  Foundation                      0x37c0e740 __NSThreadPerformPerform + 344
27  CoreFoundation                  0x37368acc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 8
28  CoreFoundation                  0x37368298 __CFRunLoopDoSources0 + 208
29  CoreFoundation                  0x3736703e __CFRunLoopRun + 646
30  CoreFoundation                  0x372ea49e CFRunLoopRunSpecific + 294
31  CoreFoundation                  0x372ea366 CFRunLoopRunInMode + 98
32  GraphicsServices                0x33aa9432 GSEventRunModal + 130
33  UIKit                           0x31096cce UIApplicationMain + 1074
34  iman360                         0x00004d5c main (main.m:23)
35  iman360                         0x00002e60 0x1000 + 7776

Thread 0 crashed with ARM Thread State:
r0: 0x2fdfe6bc    r1: 0x2fdfe6bc      r2: 0x2fdfe6e0      r3: 0x00000000
r4: 0x0015d980    r5: 0x00000001      r6: 0x00059384      r7: 0x2fdfe6e0
r8: 0x00059388    r9: 0x0000000e     r10: 0x00153da0     r11: 0x314490ab
ip: 0x000249a1    sp: 0x2fdfe6e0      lr: 0x000249c1      pc: 0x2fdfe6e0
cpsr: 0x200f0010

But I've tested it on my iphone 4s & ipad, and it works well there. At first I thought it might be I am dereferencing a null pointer but KERN_PROTECTION_FAILURE at 0x2fdfe6e0 shows it is not so. Any idea on this?

1
Did you try it on the iPhone 4 simulator?Yusuf X
iphone 4 simulator? Do you mean IOS 4.3 simulator? I'm trying to install the ios simulator in XCode->Preference->Download, just find IOS 4.3, IOS 5.0, IOS 5.1 simulator, which one should I choose?David
choose ios4.3 and try to run it on that simulator :)The iOSDev
Good point. Are you running iOS 5.1.1 on your 4S? If that works, then in theory it should work on an iPhone 4. There is a small chance that the difference in ARM chips could cause, or at least reveal the problem. To decipher the problem, this may be of use: stackoverflow.com/questions/1460892/…Yusuf X
Can you post more of the crash log? The stack frame for the crashed thread and the registers especially. From the comments, it sounds like the app tried to execute code at the offending address rather than dereference an object member.Walt Sellers

1 Answers

0
votes

I've make a static code analysis, and get something. That's stupid. I've forgot to call the [super init] method with some of my class initializer. But would anyone please help analyze if this is the problem? Not sure if this is where the problem is, as the app is still under review by appstore.

Fortunately, my app get passed this time. It is because I didn't call [super init] for my customized class object initialization. I'm just very curious about why this happens that it works well some times.