[SOLVED] App Rejected - report:Crash on iPad 2 and iPhone 4

Previous topic - Next topic

Dark Schneider

I hace received this report from iTunes Connect:
QuoteWe found that your app crashed on iPad 2 and iPhone 4 running iOS 4.3.5, which is not in compliance with the App Store Review Guidelines.

Your app crashed when we:

1. Launch the app
2. The app crashes

I have 3 crash reports, all 3 with this part in common:

iPhone 4:
Quote
Thread 4 Crashed:
0   libsystem_kernel.dylib           0x31d1ea1c __pthread_kill + 8
1   libsystem_c.dylib                0x32ae53b4 pthread_kill + 52
2   libsystem_c.dylib                0x32addbf8 abort + 72
3   Rapids Rider                     0x0004aafc 0x1000 + 301820

Thread 4 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x00000000
    r4: 0x007e7000    r5: 0x00000006      r6: 0x008f6a00      r7: 0x007e5644
    r8: 0x0000b290    r9: 0x00000000     r10: 0x00289c34     r11: 0x007e5738
    ip: 0x00000148    sp: 0x007e5638      lr: 0x341a03bb      pc: 0x34166a1c
  cpsr: 0x00000010

iPad 2:
report 1:
Quote
Thread 5 Crashed:
0   libsystem_kernel.dylib           0x31d1ea1c __pthread_kill + 8
1   libsystem_c.dylib                0x32ae53b4 pthread_kill + 52
2   libsystem_c.dylib                0x32addbf8 abort + 72
3   Rapids Rider                     0x0004aafc 0x1000 + 301820

Thread 5 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x00000000
    r4: 0x007e4000    r5: 0x00000006      r6: 0x01178000      r7: 0x007e2644
    r8: 0x0000b290    r9: 0x00000000     r10: 0x004503f4     r11: 0x007e2738
    ip: 0x00000148    sp: 0x007e2638      lr: 0x31cb43bb      pc: 0x35bc2a1c
  cpsr: 0x00000010

report 2:
Quote
Thread 5 Crashed:
0   libsystem_kernel.dylib           0x31d1ea1c __pthread_kill + 8
1   libsystem_c.dylib                0x32ae53b4 pthread_kill + 52
2   libsystem_c.dylib                0x32addbf8 abort + 72
3   Rapids Rider                     0x0004aafc 0x1000 + 301820

Thread 5 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x00000000
    r4: 0x007e4000    r5: 0x00000006      r6: 0x02375200      r7: 0x007e2644
    r8: 0x0000b290    r9: 0x00000000     r10: 0x0040fa14     r11: 0x007e2738
    ip: 0x00000148    sp: 0x007e2638      lr: 0x31cb43bb      pc: 0x35bc2a1c
  cpsr: 0x00000010

How it can be only on these devices?

I am going to look at the .dSYM file but I have not much idea about this.

Update: attached the crash files with symbolication.

[attachment deleted by admin]

Kitty Hello

add STDOUT lines to see where it crashes and tell them to send you the console output as well.
Very strange :(

Dark Schneider

I am using XCode 4 with SDK 4.3, this really affects GLBasic?, should I try XCode 3.2.6 with SDK 4.3 and the flag "-all_load" or it doesn't matter?.

For STDOUT, you mean NSLog()?

Dark Schneider

#3
Could it be the flag "-all_load"?, I am looking others with similar problems (crash at start) and their reports look like:
http://stackoverflow.com/questions/6002933/app-store-build-crashes-doesnt-on-testing-on-sim-or-my-own-device
http://stackoverflow.com/questions/5904743/crash-when-popping-to-root-view-controller
http://stackoverflow.com/questions/5501589/iphone-app-crashes-on-launch

all the times the thread that crashes are something like:

Quote
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x360ffa1c __pthread_kill + 8
1   libsystem_c.dylib               0x33e093b4 pthread_kill + 52
2   libsystem_c.dylib               0x33e01bf8 abort + 72
3   libstdc++.6.dylib               0x363fca64 __gnu_cxx::__verbose_terminate_handler() + 376
4   libobjc.A.dylib                 0x33b2806c _objc_terminate + 104
5   libstdc++.6.dylib               0x363fae36 __cxxabiv1::__terminate(void (*)()) + 46
6   libstdc++.6.dylib               0x363fae8a std::terminate() + 10
7   libstdc++.6.dylib               0x363faf5a __cxa_throw + 78
8   libobjc.A.dylib                 0x33b26c84 objc_exception_throw + 64
9   CoreFoundation                  0x303c548a +[NSException raise:format:arguments:] + 62
10  CoreFoundation                  0x303c54c4 +[NSException raise:format:] + 28
11  UIKit                           0x35aa2a4c -[UINib instantiateWithOwner:options:] + 1104
12  UIKit                           0x35aa3e02 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 86
13  UIKit                           0x358ce4c6 -[UIApplication _loadMainNibFile] + 90
14  UIKit                           0x358c8b02 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 174
15  UIKit                           0x3589d7d0 -[UIApplication handleEvent:withNewEvent:] + 1108
16  UIKit                           0x3589d20e -[UIApplication sendEvent:] + 38
17  UIKit                           0x3589cc4c _UIApplicationHandleEvent + 5084
18  GraphicsServices                0x35571e70 PurpleEventCallback + 660
19  CoreFoundation                  0x3039ca90 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20
20  CoreFoundation                  0x3039e838 __CFRunLoopDoSource1 + 160
21  CoreFoundation                  0x3039f606 __CFRunLoopRun + 514
22  CoreFoundation                  0x3032febc CFRunLoopRunSpecific + 224
23  CoreFoundation                  0x3032fdc4 CFRunLoopRunInMode + 52
24  UIKit                           0x358c7d42 -[UIApplication _run] + 366
25  UIKit                           0x358c5800 UIApplicationMain + 664
26  FuelCost                        0x000022ee main (main.m:14)
27  FuelCost                        0x000022b8 0x1000 + 4792

See that after the "pthread_kill"+"abort" there are things, on my one there is nothing, are libs loaded then, or is the way GLB works?, this info could help me a lot.

But I ahve another GLB project and it has a crash repot like this:

Quote
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                  0x34322c9a 0x34320000 + 11418
1   UIKit                            0x3395327c 0x338e0000 + 471676
2   UIKit                            0x33953114 0x338e0000 + 471316
3   UIKit                            0x339940a0 0x338e0000 + 737440
4   UIKit                            0x338f8874 0x338e0000 + 100468
5   UIKit                            0x338fc68e 0x338e0000 + 116366
6   QuartzCore                       0x34411716 0x343e5000 + 182038
7   QuartzCore                       0x3440062c 0x343e5000 + 112172
8   CoreFoundation                   0x34d1da40 0x34ca8000 + 481856
9   CoreFoundation                   0x34d1fec4 0x34ca8000 + 491204
10  CoreFoundation                   0x34d2083e 0x34ca8000 + 493630
11  CoreFoundation                   0x34cb0ebc 0x34ca8000 + 36540
12  CoreFoundation                   0x34cb0dc4 0x34ca8000 + 36292
13  GraphicsServices                 0x338d7418 0x338d3000 + 17432
14  GraphicsServices                 0x338d74c4 0x338d3000 + 17604
15  UIKit                            0x3390ed62 0x338e0000 + 191842
16  UIKit                            0x3390c800 0x338e0000 + 182272
17  GCTest                           0x0002ece0 0x1000 + 187616
18  GCTest                           0x00002abc 0x1000 + 6844
19  GCTest                           0x00002a64 0x1000 + 6756

It loads other things before crash.

Kitty Hello

please post the contents of your info.plist file.

Dark Schneider

Here is:
Code (glbasic) Select

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleDocumentTypes</key>
<array/>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon@2x.png</string>
<string>Icon@2x.png</string>
<string>Icon-72.png</string>
<string>Icon-72.png</string>
<string>Icon@2x.png</string>
<string>Icon@2x.png</string>
<string>Icon-72.png</string>
<string>Icon-72.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>/*not here, in the real info.plist is the correct one*/</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array/>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIPrerenderedIcon</key>
<true/>
<key>UIStatusBarHidden</key>
<true/>
<key>UTExportedTypeDeclarations</key>
<array/>
<key>UTImportedTypeDeclarations</key>
<array/>
</dict>
</plist>


I have to say that it runs fine on an iPhone 4 with AdHoc compilation, as only fails the App Store submited version, this is what it makes me to suspect it can be the link problem, I mean, the "-all_load" flag and using Xcode 3.2.5 with SDK 4.2 could solve the problem.

Dark Schneider

It has been solved using XCode 3.2.5 with SDK 4.2 using the "Other Linker Flags" "-all_load". I think the latest Apple works are not very fine, OS X Lion has many bugs and the SDKs have failures like the app works fine in local devices but when uploaded to App Store it crash.

I recommend use this if you want to be sure your App will be approved if it works for you, because with latest SDKs is not sure at all.

pinete


Dark Schneider

You could be interested too in how to upload binaries if your application has white spaces in its name, here is:
http://useyourloaf.com/blog/2011/1/3/app-store-whitespace-validation-failure-with-xcode-325.html
the steps are:

  • Set your sign to your distribution profile.
  • Build and Archive.
  • From organizer, click on "Share" and not on "Validate" or "Submit". Create an IPA file and save it.
  • Now send it using the "Application Loader" that is on the folder "/Developer/Applications/Utilities".
  • :good:

ampos

It is easier. Build& archive, open organizer, find the file in archived ipas, right mouse button-> open in finder, double click and open the i-dont-remember.plist, change the name to no-spaces. Save and sent to apple (im not at home right now, will check exact names later)
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE