从 GameCenter 的推送通知恢复应用程序时跳板崩溃

Posted

技术标签:

【中文标题】从 GameCenter 的推送通知恢复应用程序时跳板崩溃【英文标题】:Springboard crash when app is restored from push notification from GameCenter 【发布时间】:2013-01-28 11:57:24 【问题描述】:

我正在使用 GameCenter 开发一个回合制游戏,并且经常收到下面的 SpringBoard 崩溃。使用弧。 ios 6.0.1 上的 iPhone 4 请帮助理解原因,我已经与它斗争了大约两个星期。

已经找到了什么:

    AVFoundation 框架中的一个巨大漏洞,用 AudioToolbox 调用替换了 AVAudioPlayer,但你可能都知道,崩溃变得更加罕见,所以我想这实际上是内存问题,但不知道在哪里进一步挖掘 发现[GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *theMatches, NSError *error) ]调用有漏洞,只在ios6上重现,在ios5上不行,可以提供示例代码,可以'在苹果修复它之前不要做任何事情 更多后台应用 - 更多发生崩溃的机会 分配工具没有显示任何显着的内存使用增长,增量很小,但 loadMatchesWithCompletionHandler 僵尸启用 - 完全没有帮助,仪器停在弹簧板崩溃的地方 我从没见过老婆的iphone 4s崩溃 看起来类似于iOS 5.0.1: SpringBoard crashed after touching the push notification banner

提前谢谢你。

控制台日志:

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

崩溃:

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】:

这是 6.0.1 中的一个错误,幸运的是在 6.1 中修复!

【讨论】:

是否有任何身份验证文档表明它是 iOS 6 中的错误。我也面临同样的崩溃。如果你能提供一些像苹果开发者这样的链接来说明你的声明,它真的很棒。 Incident Identifier:A468BDEA-8C91-4001-A7F2-F19C195EB851 CrashReporter Key:441f8b71314c967283c3b59da0a374565404ba49 Hardware Model:iPhone5,2 Process:SpringBoard Path:/System/Library/CoreServices/SpringBoard.app/SpringBoard Identifier:SpringBoard Code Type:ARM Parent Process:launchd OS Version:iOS 6.0.1 Report Version:104 Type:EXC_CRASH (SIGABRT) Codes: 0x0000000000000000, 0x0000000000000000 这种类型的崩溃也出现在我的应用程序上,甚至在 iOS 6.1 上也是如此。请查看我的帖子:***.com/questions/15425196/…。如果您可以对此提供更多意见,请告诉我。 它与你不幸遇到的没有任何关系

以上是关于从 GameCenter 的推送通知恢复应用程序时跳板崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何判断应用程序是由于 Titanium 中的推送通知而打开还是恢复?

Phonegap 从后台推送通知 OnResume,它会从托盘中删除我的所有通知

当应用程序被用户强制退出时处理推送通知iOS(替代方案?)

应用程序从后台转移到前台时忽略推送通知

从通知托盘按下推送通知时,Android GCM 应用程序崩溃

当应用程序处于后台时,从推送通知中插入 coredata 记录