开发者

AppStore build crashes on launch on iPhone 3g and iPod Touch

开发者 https://www.devze.com 2023-03-17 05:47 出处:网络
After looking at stackoverflow and many other forums, decided to ask this question. The closest that came to discussing the exact problem I have is this answer

After looking at stackoverflow and many other forums, decided to ask this question. The closest that came to discussing the exact problem I have is this answer

I have an App in the AppStore thats been built on a fairly stable codebase and has been in use for the past two years. But now, after submitting a recent update to the app, its crashing on iPhone 3G (version 4.2.1). It doesn't crash on the device when I run a debug build

Here are the points I have verified based on other posts:

  1. All build configurations (Debug/Distribution/AppStore), have been set to minimum is version at 3.0, base SDK to latest
  2. Valid Architectures value set to armv6 armv7
  3. I am not getting an "ate badfood" exception (Exception Code: 0x8badf00d)
  4. It works on most newer iOS devices that I could test it on
  5. Build Active Architecture Only is not checked
  6. The app crashes within 5 seconds of launch, so its not the watchdog messing with the launch
  7. Binary was built using XCode 3.2.6
  8. Symbolicated Crashlogs dont have much info in them that I am able to understand

Here's the crash log

Date/Time:       2011-07-01 11:16:06.728 -0400
OS Version:      iPhone OS 4.2.1 (8C148)
Report Version:  104

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

Thread 0 Crashed:
0   ???                             0x0048af00 0 + 4763392

Thread 1:
0   libSystem.B.dylib               0x35d8f974 kevent + 24
1   libSystem.B.dylib               0x35e5e2fc _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x35e5dd68 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x35e5d788 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x35de6970 _pthread_wqthread + 392
5   libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 2:
0   libSystem.B.dylib               0x35de454c __semwait_signal + 24
1   libSystem.B.dylib               0x35d90f70 _pthread_cond_wait + 1140
2   libSystem.B.dylib               0x35d90910 pthread_cond_wait + 48
3   Foundation                      0x3517ed5e -[NSCondition wait] + 170
4   Foundation                      0x35169106 -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 764
5   Foundation                      0x35168d5e -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] + 98
6   MyCrashingApp                           0x00014ab0 -[URLDownload connectionDidFinishLoading:] (URLDownload.m:79)
7   Foundation                      0x35184232 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 62
8   Foundation                      0x351841b4 _NSURLConnectionDidFinishLoading + 72
9   CFNetwork                       0x302957e0 URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 212
10  CFNetwork                       0x30284b00 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 132
11  CFNetwork                       0x30284d7c URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 768
12  CFNetwork                       0x3028497c URLConnectionClient::processEvents() + 92
13  CFNetwork                       0x30284844 MultiplexerSource::perform() + 184
14  CFNetwork                       0x30284780 MultiplexerSource::_perform(void*) + 4
15  CoreFoundation                  0x375518ca __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 8
16  CoreFoundation                  0x37521ec6 __CFRunLoopDoSources0 + 378
17  CoreFoundation                  0x375216f2 __CFRunLoopRun + 258
18  CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
19  CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
20  Foundation                      0x35156238 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 200
21  Foundation                      0x351d52ea -[NSRunLoop(NSRunLoop) runUntilDate:] + 62
22  MyCrashingApp    开发者_如何学JAVA                       0x000148a4 -[URLDownload startDownload:] (URLDownload.m:57)
23  CoreFoundation                  0x375466fc __invoking___ + 60
24  CoreFoundation                  0x375465d6 -[NSInvocation invoke] + 110
25  Foundation                      0x351cd8fe -[NSInvocationOperation main] + 78
26  Foundation                      0x3516054a -[__NSOperationInternal start] + 658
27  Foundation                      0x351602a8 -[NSOperation start] + 16
28  Foundation                      0x35174b8c ____startOperations_block_invoke_2 + 40
29  libSystem.B.dylib               0x35e5d268 _dispatch_call_block_and_release + 12
30  libSystem.B.dylib               0x35e5d788 _dispatch_worker_thread2 + 120
31  libSystem.B.dylib               0x35de6970 _pthread_wqthread + 392
32  libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 3:
0   libSystem.B.dylib               0x35d5b40c semaphore_wait_signal_trap + 8
1   libSystem.B.dylib               0x35d91448 semaphore_wait_signal + 4
2   libSystem.B.dylib               0x35d5d4ec pthread_mutex_lock + 376
3   WebCore                         0x330777c4 _WebTryThreadLock(bool) + 44
4   WebCore                         0x33077e5c WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 28
5   CoreFoundation                  0x3752a808 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12
6   CoreFoundation                  0x3752a636 __CFRunLoopDoObservers + 494
7   CoreFoundation                  0x375219a2 __CFRunLoopRun + 946
8   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
9   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
10  WebCore                         0x3318bd14 RunWebThread(void*) + 524
11  libSystem.B.dylib               0x35de5b44 _pthread_start + 364
12  libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 4:
0   libSystem.B.dylib               0x35de72fc __workq_kernreturn + 8
1   libSystem.B.dylib               0x35de6b50 _pthread_wqthread + 872
2   libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 5:
0   libSystem.B.dylib               0x35d5b3b0 mach_msg_trap + 20
1   libSystem.B.dylib               0x35d5d894 mach_msg + 60
2   CoreFoundation                  0x37521f7c __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x37521780 __CFRunLoopRun + 400
4   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
5   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
6   Foundation                      0x3517ec4e +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 210
7   Foundation                      0x3515cb8a -[NSThread main] + 42
8   Foundation                      0x35155b90 __NSThread__main__ + 908
9   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
10  libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 6:
0   libSystem.B.dylib               0x35d848d8 select$DARWIN_EXTSN + 20
1   CoreFoundation                  0x3755aa34 __CFSocketManager + 356
2   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
3   libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 0 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x3e73eb48      r3: 0x00000000
    r4: 0x0048aba0    r5: 0x00000000      r6: 0x3e73eaa8      r7: 0x0048aba0
    r8: 0x0048af00    r9: 0x3e25d978     r10: 0x35ce9029     r11: 0x0048af00
    ip: 0x3e6a4c58    sp: 0x2fdfe298      lr: 0x3596ed90      pc: 0x0048af00
  cpsr: 0x40070010

Any answers, even if they just point me in the right direction are appreciated.


So here's what helped solve this problem. I hope it helps others too.

The AppStore build I created was using Xcode 3.2.6

Apparently there's some problem with XCode's linker as of last year. I stumbled in to this when trying to mess around with -all_load flag errors.

Now, when I create the same build (no code change, no settings changes) using XCode4, the adhoc version doesn't crash.

For now I am updating the appStore version with this build. If anyone reading this answer thinks knows the technical reasoning behind this behavior of XCode, please do post your answer. It'll help save many hours of headBangingAgainstTheWall!

using the following keywords for googling helped:
"-all_load" crashes
RNBRunLoopLaunchInferior (this showed up in the console when the app crashed and printed RNBRunLoopLaunchInferior DNBProcessLaunch() returned error: 'DRHT')

hope this helps!

0

精彩评论

暂无评论...
验证码 换一张
取 消