Author Topic: [SOLVED] App Rejected - report:Crash on iPad 2 and iPhone 4  (Read 6535 times)

Offline Dark Schneider

  • Mr. Polyvector
  • ***
  • Posts: 128
    • View Profile
I hace received this report from iTunes Connect:
Quote
We 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]
« Last Edit: 2011-Sep-16 by Dark Schneider »

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10760
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: Crash on iPad 2 and iPhone 4
« Reply #1 on: 2011-Sep-09 »
add STDOUT lines to see where it crashes and tell them to send you the console output as well.
Very strange :(

Offline Dark Schneider

  • Mr. Polyvector
  • ***
  • Posts: 128
    • View Profile
Re: Crash on iPad 2 and iPhone 4
« Reply #2 on: 2011-Sep-09 »
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()?

Offline Dark Schneider

  • Mr. Polyvector
  • ***
  • Posts: 128
    • View Profile
Re: Crash on iPad 2 and iPhone 4
« Reply #3 on: 2011-Sep-09 »
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.
« Last Edit: 2011-Sep-09 by Dark Schneider »

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10760
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
please post the contents of your info.plist file.

Offline Dark Schneider

  • Mr. Polyvector
  • ***
  • Posts: 128
    • View Profile
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.

Offline Dark Schneider

  • Mr. Polyvector
  • ***
  • Posts: 128
    • View Profile
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.

Offline pinete

  • Mr. Drawsprite
  • **
  • Posts: 98
    • View Profile
thanks a lot for sharing this :)

Offline Dark Schneider

  • Mr. Polyvector
  • ***
  • Posts: 128
    • View Profile
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:

Offline ampos

  • Prof. Inline
  • *****
  • Posts: 1600
    • View Profile
    • AMpostata Website
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