问题
I'm developing a turn based game using GameCenter and constantly recieving a SpringBoard crash below. Using ARC. Iphone 4 on ios 6.0.1 Please help to understand the reason, i've been fighting with it for about two weeks.
What was found already:
- a huge leak in AVFoundation framework, replaced AVAudioPlayer with AudioToolbox calls, but you probably all know about it, crash became more rare case, so i suppose it's actually memory issue but don't know where to dig further
- found a leak in [GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *theMatches, NSError *error) {}] call, reproduced only on ios6, not on ios5, can provide a sample code, can't do anything concerning that until apple fixes it
- more apps in background - more chances to get the crash
- allocation instruments doesn't show any significant growth of memory usage, small increment but that is loadMatchesWithCompletionHandler
- Zombies enabled - no help at all, instruments stops at where spring board is crashed
- I have never seen the crash on wife's iphone 4s
- looks similar to iOS 5.0.1: SpringBoard crashed after touching the push notification banner
Thank you in advance.
Console log:
Jan 28 13:05:29 Valentyn-Kovalskyys-iPhone4 ReportCrash[4481] <Notice>: Formulating crash report for process SpringBoard[3751]
Jan 28 13:05:29 Valentyn-Kovalskyys-iPhone4 backboardd[52] <Warning>: System app "com.apple.SpringBoard" has died. Spawning again...
Jan 28 13:05:29 Valentyn-Kovalskyys-iPhone4 com.apple.launchd[1] (com.apple.SpringBoard[3751]) <Warning>: (com.apple.SpringBoard) Job appears to have crashed: Segmentation fault: 11
Crash:
Incident Identifier: 67764776-21CD-41EA-B753-A83330CF375B
CrashReporter Key: 669f16a9b5f96366bba1fa191fa248f52ac432b5
Hardware Model: iPhone3,1
Process: SpringBoard [3751]
Path: /System/Library/CoreServices/SpringBoard.app/SpringBoard
Identifier: SpringBoard
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-28 13:05:27.632 +0200
OS Version: iOS 6.0.1 (10A523)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000008
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x3337f5b0 objc_msgSend + 16
1 BackBoardServices 0x39a29b50 -[BKSAccelerometer _orientationDidChange] + 84
2 Foundation 0x340b08e8 __NSThreadPerformPerform + 456
3 CoreFoundation 0x3249b680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
4 CoreFoundation 0x3249aee4 __CFRunLoopDoSources0 + 208
5 CoreFoundation 0x32499cb2 __CFRunLoopRun + 642
6 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
7 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
8 GraphicsServices 0x3a20a2e6 GSEventRunModal + 70
9 UIKit 0x39cc82f4 UIApplicationMain + 1116
10 SpringBoard 0x0000489a 0x1000 + 14490
11 libdyld.dylib 0x35f1cb1c start + 0
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x316a4648 kevent64 + 24
1 libdispatch.dylib 0x34ac54ec _dispatch_mgr_invoke + 792
2 libdispatch.dylib 0x34ab7df4 _dispatch_mgr_thread$VARIANT$up + 32
Thread 2 name: WebThread
Thread 2:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 WebCore 0x36768a40 RunWebThread(void*) + 440
7 libsystem_c.dylib 0x34aff30e _pthread_start + 306
8 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 3:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 Foundation 0x3400378a -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7 Foundation 0x340a7058 -[NSRunLoop(NSRunLoop) run] + 76
8 UIKit 0x39f99f66 -[UIStatusBarServerThread main] + 678
9 Foundation 0x340b0678 __NSThread__main__ + 968
10 libsystem_c.dylib 0x34aff30e _pthread_start + 306
11 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 4:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 SpringBoard 0x00065aa0 0x1000 + 412320
7 libsystem_c.dylib 0x34aff30e _pthread_start + 306
8 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 5 name: com.apple.coremedia.player.async
Thread 5:
0 libsystem_kernel.dylib 0x316b408c __psynch_cvwait + 24
1 libsystem_c.dylib 0x34af7d2a _pthread_cond_wait + 642
2 libsystem_c.dylib 0x34b01f14 pthread_cond_wait + 36
3 CoreMedia 0x388139a4 FigSemaphoreWaitRelative + 256
4 MediaToolbox 0x34fb0356 fpa_AsyncMovieControlThread + 22
5 CoreMedia 0x38831988 figThreadMain + 192
6 libsystem_c.dylib 0x34aff30e _pthread_start + 306
7 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 6:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 SpringBoard 0x000664dc 0x1000 + 414940
7 libsystem_c.dylib 0x34aff30e _pthread_start + 306
8 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 7 name: com.apple.springboard.icongeneration
Thread 7:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 SpringBoard 0x000665fc 0x1000 + 415228
7 libsystem_c.dylib 0x34aff30e _pthread_start + 306
8 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 8 name: com.apple.NSURLConnectionLoader
Thread 8:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 Foundation 0x3402cbc8 +[NSURLConnection(Loader) _resourceLoadLoop:] + 304
7 Foundation 0x340b0678 __NSThread__main__ + 968
8 libsystem_c.dylib 0x34aff30e _pthread_start + 306
9 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 9 name: WiFiManager callback thread
Thread 9:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3240cd44 CFRunLoopRunInMode + 100
6 Foundation 0x3400378a -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7 Foundation 0x340a7058 -[NSRunLoop(NSRunLoop) run] + 76
8 Foundation 0x340b0678 __NSThread__main__ + 968
9 libsystem_c.dylib 0x34aff30e _pthread_start + 306
10 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 10:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 CoreFoundation 0x3249b040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x32499d9e __CFRunLoopRun + 878
4 CoreFoundation 0x3240ceb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x3246b9b6 CFRunLoopRun + 94
6 IMDPersistence 0x335d406e 0x335d3000 + 4206
7 Foundation 0x340b0678 __NSThread__main__ + 968
8 libsystem_c.dylib 0x34aff30e _pthread_start + 306
9 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 11 name: com.apple.coremedia.player.async
Thread 11:
0 libsystem_kernel.dylib 0x316b408c __psynch_cvwait + 24
1 libsystem_c.dylib 0x34af7d2a _pthread_cond_wait + 642
2 libsystem_c.dylib 0x34b01f14 pthread_cond_wait + 36
3 CoreMedia 0x388139a4 FigSemaphoreWaitRelative + 256
4 MediaToolbox 0x34fb0356 fpa_AsyncMovieControlThread + 22
5 CoreMedia 0x38831988 figThreadMain + 192
6 libsystem_c.dylib 0x34aff30e _pthread_start + 306
7 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 12 name: com.apple.coremedia.player.remote
Thread 12:
0 libsystem_kernel.dylib 0x316a3eb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x316a4048 mach_msg + 36
2 MediaToolbox 0x34fb65ac FigExpressNotificationThread + 96
3 CoreMedia 0x38831988 figThreadMain + 192
4 libsystem_c.dylib 0x34aff30e _pthread_start + 306
5 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 13 name: com.apple.CFSocket.private
Thread 13:
0 libsystem_kernel.dylib 0x316b4594 __select + 20
1 CoreFoundation 0x3249f1f2 __CFSocketManager + 674
2 libsystem_c.dylib 0x34aff30e _pthread_start + 306
3 libsystem_c.dylib 0x34aff1d4 thread_start + 4
Thread 14 name: Dispatch queue: com.apple.bulletinboard.bbserverqueue
Thread 14:
0 libsystem_kernel.dylib 0x316a3ee0 semaphore_signal_trap + 8
1 libdispatch.dylib 0x34ab7528 _dispatch_thread_semaphore_signal$VARIANT$up + 4
2 CoreFoundation 0x32443040 CFPreferencesAppSynchronize + 308
3 Foundation 0x34028fea -[NSUserDefaults(NSUserDefaults) synchronize] + 18
4 BulletinBoard 0x375cb204 -[BBServer observer:handleResponse:] + 348
5 CoreFoundation 0x324c99c0 __invoking___ + 64
6 CoreFoundation 0x32420fe6 -[NSInvocation invoke] + 282
7 CoreFoundation 0x32420b3e -[NSInvocation invokeWithTarget:] + 46
8 XPCObjects 0x35719ec4 __block_global_0 + 476
9 libdispatch.dylib 0x34ab611c _dispatch_call_block_and_release + 8
10 libdispatch.dylib 0x34ab5996 _dispatch_queue_drain$VARIANT$up + 142
11 libdispatch.dylib 0x34ab5890 _dispatch_queue_invoke$VARIANT$up + 32
12 libdispatch.dylib 0x34ac4212 _dispatch_root_queue_drain + 190
13 libdispatch.dylib 0x34ac43b4 _dispatch_worker_thread2 + 80
14 libsystem_c.dylib 0x34af4a0e _pthread_wqthread + 358
15 libsystem_c.dylib 0x34af48a0 start_wqthread + 4
Thread 15:
0 libsystem_kernel.dylib 0x316b4d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x34af4cf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x34af4a12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x34af48a0 start_wqthread + 4
Thread 0 crashed with ARM Thread State (32-bit):
r0: 0x08870fd0 r1: 0x3915fa6c r2: 0x087a32a0 r3: 0x00000005
r4: 0x00000000 r5: 0x3915fa6c r6: 0x08870fd0 r7: 0x2fdfecc8
r8: 0x00003f03 r9: 0x0e457e9b r10: 0x00000000 r11: 0x0036e700
ip: 0x3be2123c sp: 0x2fdfecb4 lr: 0x39a29b55 pc: 0x3337f5b0
cpsr: 0x20080030
回答1:
It's was a bug in 6.0.1, fixed in 6.1 fortunately!
来源:https://stackoverflow.com/questions/14561526/springboard-crash-when-app-is-restored-from-push-notification-from-gamecenter