Springboard crash when app is restored from push n

2019-08-06 11:21发布

问题:

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:

  1. 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
  2. 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
  3. more apps in background - more chances to get the crash
  4. allocation instruments doesn't show any significant growth of memory usage, small increment but that is loadMatchesWithCompletionHandler
  5. Zombies enabled - no help at all, instruments stops at where spring board is crashed
  6. I have never seen the crash on wife's iphone 4s
  7. 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!