【问题标题】:KERN_INVALID_ADDRESS on EXC_BAD_ACCESS (SIGSEGV)EXC_BAD_ACCESS (SIGSEGV) 上的 KERN_INVALID_ADDRESS
【发布时间】:2012-10-09 10:19:07
【问题描述】:

我有一个适用于 IOS 的 Adob​​e Air 应用程序,它适用于 Windows 和 Android,但似乎在 IOS 上随机挂起和崩溃。发生这种情况时,AIR 调试器不显示任何内容。我从我的 iPhone 中提取了崩溃报告,它在下面。我已经阅读了关于这个主题的其他一些帖子,但它们并不是真正的 AIR 应用程序,所以我希望能得到一些关于我可以从哪里开始的指针。非常感谢任何帮助。

Incident Identifier: 75387AA5-1AF2-4E2C-A92D-67174F8C2CDD  
CrashReporter Key:   47377582f4ab79d5f7814a5f67637bf02e00167d  
Hardware Model:      iPhone3,1  
Process:         My App [2719]  
Path:            /var/mobile/Applications/B136A542-E798-4A28-877F-5BBCA7A41361/My App.app/My App  
Identifier:      My App  
Version:         ??? (???)  
Code Type:       ARM (Native)  
Parent Process:  launchd [1]  

Date/Time:       2012-10-18 11:30:31.315 -0400  
OS Version:      iOS 6.0 (10A403)  
Report Version:  104  

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)  
Exception Codes: KERN_INVALID_ADDRESS at 0xf0e33c42  
Crashed Thread:  0  

Thread 0 name:  Dispatch queue: com.apple.main-thread  
Thread 0 Crashed:  
0   libobjc.A.dylib                 0x345eb5b0 objc_msgSend + 16  
1   My App                  0x00d08c4e 0x1000 + 13663310  
2   My App                  0x00b0f0c0 0x1000 + 11591872  
3   My App                  0x00b0e3ec 0x1000 + 11588588  
4   My App                  0x00b0d0d8 0x1000 + 11583704  
5   My App                  0x00b0d014 0x1000 + 11583508  
6   My App                  0x00b0cfe4 0x1000 + 11583460  
7   My App                  0x00886158 0x1000 + 8933720  
8   My App                  0x00886360 0x1000 + 8934240  
9   My App                  0x00893624 0x1000 + 8988196  
10  My App                  0x0089394c 0x1000 + 8989004  
11  My App                  0x00894068 0x1000 + 8990824  
12  My App                  0x00895734 0x1000 + 8996660  
13  My App                  0x00887960 0x1000 + 8939872  
14  My App                  0x00895228 0x1000 + 8995368  
15  My App                  0x0076dcc8 0x1000 + 7785672  
16  My App                  0x0073c640 0x1000 + 7583296  
17  My App                  0x00423308 0x1000 + 4334344  
18  My App                  0x0045eb40 0x1000 + 4578112  
19  My App                  0x0045d518 0x1000 + 4572440  
20  My App                  0x0045d1f0 0x1000 + 4571632  
21  My App                  0x00460260 0x1000 + 4584032  
22  My App                  0x00460420 0x1000 + 4584480  
23  My App                  0x000032e8 0x1000 + 8936  
24  My App                  0x00854b78 0x1000 + 8731512  
25  My App                  0x00855048 0x1000 + 8732744  
26  My App                  0x00854904 0x1000 + 8730884  
27  My App                  0x007cf0c0 0x1000 + 8184000  
28  My App                  0x007bacb4 0x1000 + 8101044  
29  My App                  0x0083855c 0x1000 + 8615260  
30  My App                  0x009c24d8 0x1000 + 10228952  
31  My App                  0x009c2c30 0x1000 + 10230832  
32  My App                  0x000d46fc 0x1000 + 866044  
33  My App                  0x00ce1b14 0x1000 + 13503252  
34  My App                  0x00ce2774 0x1000 + 13506420  
35  My App                  0x008c4540 0x1000 + 9188672  
36  My App                  0x008c524c 0x1000 + 9192012  
37  My App                  0x009a1838 0x1000 + 10094648  
38  QuartzCore                      0x3400806c CA::Display::DisplayLink::dispatch(unsigned long long, unsigned long long) + 156  
39  QuartzCore                      0x34007fc4   CA::Display::IOMFBDisplayLink::callback(__IOMobileFramebuffer*, unsigned long long, unsigned long long, unsigned long long, void*) + 60  
40  IOMobileFramebuffer             0x3a04dfd4 IOMobileFramebufferVsyncNotifyFunc + 152  
41  IOKit                           0x39233446 IODispatchCalloutFromCFMessage + 190  
42  CoreFoundation                  0x34de85d8 __CFMachPortPerform + 116  
43  CoreFoundation                  0x34df3170__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32  
44  CoreFoundation                  0x34df3112 __CFRunLoopDoSource1 + 134 
45  CoreFoundation                  0x34df1f94 __CFRunLoopRun + 1380  
46  CoreFoundation                  0x34d64eb8 CFRunLoopRunSpecific + 352  
47  CoreFoundation                  0x34d64d44 CFRunLoopRunInMode + 100  
48  GraphicsServices                0x35acd2e6 GSEventRunModal + 70  
49  UIKit                           0x379aa2fc UIApplicationMain + 1116  
50  My App                  0x008e4594 0x1000 + 9319828  
51  My App                  0x00d03360 0x1000 + 13640544  

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager  
Thread 1:  
0   libsystem_kernel.dylib          0x33add648 kevent64 + 24  
1   libdispatch.dylib               0x392064ec _dispatch_mgr_invoke + 792  
2   libdispatch.dylib               0x391f8df4 _dispatch_mgr_thread$VARIANT$up + 32  

Thread 2 name:  WebThread  
Thread 2:  
0   libsystem_kernel.dylib          0x33adceb4 mach_msg_trap + 20  
1   libsystem_kernel.dylib          0x33add048 mach_msg + 36  
2   CoreFoundation                  0x34df3040 __CFRunLoopServiceMachPort + 124  
3   CoreFoundation                  0x34df1d9e __CFRunLoopRun + 878  
4   CoreFoundation                  0x34d64eb8 CFRunLoopRunSpecific + 352  
5   CoreFoundation                  0x34d64d44 CFRunLoopRunInMode + 100  
6   WebCore                         0x35b48a70 RunWebThread(void*) + 440  
7   libsystem_c.dylib               0x38eaa30e _pthread_start + 306  
8   libsystem_c.dylib               0x38eaa1d4 thread_start + 4  

Thread 3:  
0   libsystem_kernel.dylib          0x33adceb4 mach_msg_trap + 20  
1   libsystem_kernel.dylib          0x33add048 mach_msg + 36  
2   My App                  0x00876520 0x1000 + 8869152  
3   libsystem_c.dylib               0x38eaa30e _pthread_start + 306  
4   libsystem_c.dylib               0x38eaa1d4 thread_start + 4  

Thread 4:  
0   libsystem_kernel.dylib          0x33aed6a4 __semwait_signal + 24  
1   libsystem_c.dylib               0x38eaf3ce nanosleep + 138  
2   My App                  0x00a1fba4 0x1000 + 10611620  
3   My App                  0x00901ce4 0x1000 + 9440484  
4   My App                  0x00901c84 0x1000 + 9440388  
5   My App                  0x00a1fdb8 0x1000 + 10612152  
6   My App                  0x00a1fe0c 0x1000 + 10612236  
7   My App                  0x00a1fb38 0x1000 + 10611512  
8   libsystem_c.dylib               0x38eaa30e _pthread_start + 306  
9   libsystem_c.dylib               0x38eaa1d4 thread_start + 4  

Thread 5:  
0   libsystem_kernel.dylib          0x33aed08c __psynch_cvwait + 24  
1   libsystem_c.dylib               0x38ea2d2a _pthread_cond_wait + 642  
2   libsystem_c.dylib               0x38ea2aa0 pthread_cond_timedwait + 40  
3   My App                  0x00a1ffd4 0x1000 + 10612692  
4   My App                  0x000da46c 0x1000 + 889964  
5   My App                  0x00a1fdb8 0x1000 + 10612152  
6   My App                  0x00a1fe0c 0x1000 + 10612236  
7   My App                  0x00a1fb38 0x1000 + 10611512  
8   libsystem_c.dylib               0x38eaa30e _pthread_start + 306  
9   libsystem_c.dylib               0x38eaa1d4 thread_start + 4  

Thread 6:  
0   libsystem_kernel.dylib          0x33aedd98 __workq_kernreturn + 8  
1   libsystem_c.dylib               0x38e9fcf6 _pthread_workq_return + 14  
2   libsystem_c.dylib               0x38e9fa12 _pthread_wqthread + 362  
3   libsystem_c.dylib               0x38e9f8a0 start_wqthread + 4  

Thread 7:  
0   libsystem_kernel.dylib          0x33aedd98 __workq_kernreturn + 8  
1   libsystem_c.dylib               0x38e9fcf6 _pthread_workq_return + 14  
2   libsystem_c.dylib               0x38e9fa12 _pthread_wqthread + 362  
3   libsystem_c.dylib               0x38e9f8a0 start_wqthread + 4  

Thread 0 crashed with ARM Thread State (32-bit):  
    r0: 0x0a6fc000    r1: 0x37df2920      r2: 0x37df2920      r3: 0x0a6fc000  
    r4: 0xf0e33c3a    r5: 0x079df030      r6: 0x079df438      r7: 0x2fdfe048  
    r8: 0x079df001    r9: 0x0df7ca48     r10: 0x00000008     r11: 0x079df040  
    ip: 0x00e0f1ec    sp: 0x2fdfe034      lr: 0x00d08c53      pc: 0x345eb5b0  
  cpsr: 0x200f0030  

【问题讨论】:

  • 你应该首先对你的崩溃日志进行符号化,这样我们就可以知道所有这些十六进制地址是什么。由于您在 objc_msgSend 中崩溃,因此您可能正在向已发布的对象发送消息。看看你是否可以用 NSZombieEnabled 重现崩溃。不知道这将如何与 AIR 应用程序一起使用......
  • 猜测:您至少使用了一个原生扩展?您是否已更新到最新版本的 AIR SDK,本周是 3.5.0.690?如果您有 iPhone 配置实用程序,您可以通过将 iPad 连接到计算机并打开实用程序的控制台窗口来查看更多信息。
  • 我遇到了这个确切的问题,它最终是由第三方原生扩展中的错误引起的。一旦我删除了指向它的扩展名和代码,这个错误就停止了。不幸的是,扩展仅作为预编译代码(.ane 文件)提供,所以我无法修改它,但我能够找到一个没有错误的替代 .ane 文件。希望这对将来的某人有所帮助。

标签: ios air adobe crash-reports


【解决方案1】:

在归档项目以供发布时,在项目->构建设置下设置一些参数很重要。请注意,必须为发布配置设置这些设置,以便您分析从应用商店收到的崩溃日志。

  • 生成调试符号:是
  • 部署后处理:是
  • 带状链接产品:是
  • 调试信息格式:带有 dSym 文件的 DWARF
  • 使用单独的条带:是
  • 复制期间去除调试符号:否

您的应用必须使用上述设置存档。 一旦重现崩溃,请获取崩溃日志文件。 通过转到 Organizer->Devices->Device Logs->Drag the file from finder 将其导入 XCode 管理器并放在这里。当您打开日志时,它应该会在您的代码和导致崩溃的行中显示您的函数名称。

请注意,为您的构建正确的 dSym 文件很重要。它必须存在于您的用户目录之一中才能指出正确的代码。如果以上内容不能解决您的问题,请阅读this 了解相关信息。

【讨论】:

  • 这是一个 Adob​​e AIR 应用程序,所以我认为我无法访问这些构建设置,而且我似乎找不到任何由 AIR-to-IOS 创建的 .dsym 文件编译器。如果我确实有权访问这些内容,是否可以让我查看导致崩溃的 AIR 应用程序或 ANE 文件中的特定行?
  • 对不起,我忽略了这个事实。那么这有帮助吗? blogs.adobe.com/rajorshi/2011/11/18/…
  • 这并没有直接帮助我,但我会给你赏金,因为它是唯一的答案。本机调试的东西看起来可能很有用,但我无法让它工作。
  • 很高兴可以指出正确的东西。 Adobe AIR 对我来说也是一个灰色地带,否则我一开始就不会忽视它。感谢您的赏金!
猜你喜欢
  • 2011-12-02
  • 2020-04-13
  • 2017-04-02
  • 2023-03-23
  • 1970-01-01
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多