GLBasic forum

Main forum => GLBasic - en => Topic started by: Dark Schneider on 2011-Sep-09

Title: [SOLVED] App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: Dark Schneider on 2011-Sep-09
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]
Title: Re: Crash on iPad 2 and iPhone 4
Post by: Kitty Hello 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 :(
Title: Re: Crash on iPad 2 and iPhone 4
Post by: Dark Schneider 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()?
Title: Re: Crash on iPad 2 and iPhone 4
Post by: Dark Schneider 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/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/5904743/crash-when-popping-to-root-view-controller)
http://stackoverflow.com/questions/5501589/iphone-app-crashes-on-launch (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.
Title: Re: App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: Kitty Hello on 2011-Sep-09
please post the contents of your info.plist file.
Title: Re: App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: Dark Schneider on 2011-Sep-09
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.
Title: [SOLVED] Re: App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: Dark Schneider on 2011-Sep-16
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.
Title: Re: [SOLVED] App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: pinete on 2011-Sep-16
thanks a lot for sharing this :)
Title: Re: [SOLVED] App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: Dark Schneider on 2011-Sep-17
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 (http://useyourloaf.com/blog/2011/1/3/app-store-whitespace-validation-failure-with-xcode-325.html)
the steps are:
Title: Re: [SOLVED] App Rejected - report:Crash on iPad 2 and iPhone 4
Post by: ampos on 2011-Sep-17
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)