iOS 崩溃日志,回溯不可用 [英] iOS crash log, backtrace not available

查看:26
本文介绍了iOS 崩溃日志,回溯不可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

自从我们的应用程序的最后一次更新发布以来,许多用户开始抱怨应用程序不再启动.我们收到了来自 2 个不同用户的崩溃日志和控制台日志,以及崩溃的视频.

Since the last update of our app was released, many users started complaining about the app not starting anymore. We received a crash log and console log from 2 different users, as well as a video from the crash.

我们的应用不会在每台设备上崩溃,但当它崩溃时,它会在点击图标后的一秒内每次崩溃(视频显示了这一点以及朋友的电话).

Our app does not crash on every device, but when it does it crashes every single time within a second of tapping the icon (the video shows this as well as the phone of a friend).

崩溃日志很奇怪,因为它不包含回溯并且帧指针(R7)是0x00000000.我们对这次更新没有太大的改变,我们所做的任何改变都不会像这样破坏堆栈.此外,重新安装该应用程序可以解决该问题.这使我们相信错误不在我们的代码中,而是在可能在某处损坏的二进制文件中.

The crash log is very weird, for it does not contain a backtrace and the frame pointer (R7) is 0x00000000. We didn't change much for this update and nothing we changed could corrupt the stack like this. Furthermore, reinstalling the app fixes the issue. This leads us to believe the error is not in our code, but in the binary which might have become corrupted somewhere.

根据一些用户的说法,自上次更新以来,我们的应用在启动时崩溃.我们无法重现此问题,但收到了其中一位用户的崩溃日志.日志来自用户的硬盘驱动器(~/Library/Logs/CrashReporter/MobileDevice/).我直接从遇到同样问题的朋友的电话中看到了同样的情况.

According to some users our app crashes on startup since the last update. We are unable to reproduce this issue but received crash logs from one the users. The log comes from the harddrive of the user (~/Library/Logs/CrashReporter/MobileDevice/). I've seen the same thing directly from the phone of a friend who experiences the same issue.

一旦我们的应用从 iOS 接收控制权,就会发生这种崩溃(请参阅更新).但是,崩溃日志不包含回溯,并指出在未知线程上发生了错误.我尝试对日志进行符号化,但显然没有什么可以符号化的.

This crash appears to occur as soon as our app receives control from iOS (see update). However, the crash logs contains no backtrace and states an error occurred on an unknown thread. I tried symbolicating the log, but obviously there is nothing to symbolicate.

这似乎是某种空指针错误,但为什么没有回溯?什么可能导致这种类型的错误,我可以做些什么来重现/解决它?

It appears to be some kind of nullpointer error, but why no backtrace? What could cause this type of error and what can I do to reproduce/solve it?

Incident Identifier: 984C8208-F4B4-4325-90B3-C9BE371E1A12
CrashReporter Key:   c512972e5cd00e75d8d7a6ddb59ff9a08946fd7b
Hardware Model:      iPad3,3
Process:         MyApp [3224]
Path:            /var/mobile/Applications/A0AEAA1D-7E5D-4BDC-8C9F-EA5FF4595059/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-10-18 09:27:06.158 +0200
OS Version:      iOS 6.0 (10A403)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Highlighted Thread:  0

Backtrace not available

Unknown thread crashed with ARM Thread State (32-bit):
    r0: 0x000e64e0    r1: 0x7f8940c0      r2: 0x00000000      r3: 0x3c56cb88
    r4: 0x2fd1bd34    r5: 0x00000000      r6: 0x00000000      r7: 0x00000000
    r8: 0x2fd1bd3c    r9: 0x3c5688a8     r10: 0x00000000     r11: 0x00000000
    ip: 0x80000028    sp: 0x2fd1bd40      lr: 0x2fe9a8d7      pc: 0x000e64e0
  cpsr: 0x60000010

Binary Images:
   0xe5000 -   0x170fff +MyApp armv7  <15fd2c3131d03790bcd321411a241390> /var/mobile/Applications/A0AEAA1D-7E5D-4BDC-8C9F-EA5FF4595059/MyApp.app/MyApp
0x2fe96000 - 0x2feb6fff  dyld armv7  <75594988728831d98e1f7c4c7b7ca29d> /usr/lib/dyld
[...]

更新

同一用户发送给我的视频表明,即使在介绍动画开始之前,应用程序也会崩溃.因此,在应用实际运行之前(或我们的应用运行的第一行代码之一).

Update

A video sent to me by the same user indicates the app crashes even before the intro animation starts. So before the app is actually running (or one of the first lines of code our app runs).

在 ARMv6/7 架构中,R7 寄存器保存帧指针.它应该指向前一个堆栈帧,但在我们的例子中是 0x00000000.很多寄存器实际上是空的.什么可能导致这种情况?

In ARMv6/7 architecture, the R7 register holds the frame pointer. It should point to the previous stack frame, but is 0x00000000 in our case. A lot of registers are null actually. What could possibly cause this?

而且,崩溃是非常一致的;每次都会在点击图标后的一秒内崩溃.至少对于这个特定的用户.我们收到了更多但不太具体的关于应用程序未启动"的报告.重新安装应用程序可以解决用户遇到的任何问题.

Also, the crashing is very consistent; it crashes every time within a second of tapping the icon. At least for this particular user. We've had more, but less specific, reports of the app "not starting". Re-installing the app fixes any problem the user had.

控制台日志也没有显示太多,只是这样:

The console log doesn't show much either, just this:

听起来很像通过 App Store 更新会损坏二进制文件,但只是在更新时:

It's starting to sound very much like updating through the App Store corrupts the binary, but only on updating:

http://www.pcworld.com/article/258827/updated_apps_crashing_heres_what_you_need_to_know.html

http://www.marco.org/2012/07/04/app-store-corrupt-binaries

我已向 Apple 的技术服务部门发送了一个请求以帮助解决此问题.我会在这里报告.

I've sent a request to Apple's technical service to help out on this. I'll report back here.

我发布了一个错误报告,他们要求提供崩溃时间的控制台日志.我已经为他们提供了一个,据我了解,它并没有太多用处.除了:

I've posted a bug report, they requested a console log of the time of crash. I've supplied them one, which to my understanding doesn't contain much of use. Except:

2012-10-23 09:14:18 +0000 backboardd Application 'UIKitApplication:com.company.myapp[0xdd31]' exited abnormally with signal 11: Segmentation fault: 11

技术部门也不知道如何解决这个问题,但建议我们不要在没有任何代码更改的情况下上传新的二进制文件.没有办法测试问题是否会消失 (wtf),如果它不起作用,它会让用户更加不安.

The technical department doesn't know what to do about this issue either, but advised us NOT to upload a new binary without any code changes. There is no way to test if the issues goes away (wtf) and if it doesn't work it will upset users even more.

仍在等待我的错误报告的答案...

Still waiting for the answer to my bug report...

推荐答案

在联系 Apple 技术支持后,我们被要求提交一份描述此问题的错误报告.我们已经上传了这个版本的崩溃报告、控制台日志、来自 Xcode 的存档和来自 iTunes 的这个版本的 IPA 文件(App Store 文件).

After contacting Apple Tech Support we were asked to file a bug report describing this issue. We've uploaded the crash report, console log, the archive from Xcode of this version and the IPA file (App Store file) of this version from iTunes.

在等待了大约一周后,我们今天收到了技术支持的以下电子邮件:

After waiting for about a week we received the following email from Tech Support today:

你好,

我想让您知道,我们已经针对之前的问题进行了修复导致为您的应用安装更新的客户崩溃.

I wanted to let you know that a fix is in place for the issue that was causing crashes for customers who installed updates to your app.

安装更新后遇到崩溃的客户可以通过在 App Store 中再次更新应用程序来解决问题.这会安装应用的固定版本.

Customers who were experiencing crashes after installing an update can fix the problem by updating the app again in the App Store. This will install a fixed version of the app.

您的应用的更新应该会出现在 App Store 中.更新遗嘱重新安装当前版本的应用程序,并修复任何相关的崩溃安装不良.所有应用程序保存的数据将不受更新.

An update to your app should appear in the App Store. Updating will re-install the current version of the app, and fix any crashes related to bad installs. All of the app's saved data will be unaffected by the update.

如果您没有看到您的应用的更新,请告诉我,或者安装更新后仍然会出现崩溃.

Please let me know if you are not seeing an update for your app, or are still seeing crashes after installing the update.

如果您对您的应用收到的任何评论存有疑虑关于这个问题,请直接联系店家团队http://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wa/jumpTo?page=contactUs&contactfaq=customerreviewremovalrequest和参考票号[我的号码].

If you have concerns about any reviews your app received as a result of this issue, please contact the the store team directly at http://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wa/jumpTo?page=contactUs&contactfaq=customerreviewremovalrequest and reference ticket number [my number].

我们与安装了该应用程序崩溃版本的朋友进行了核实.他确认他下载了更新,这解决了问题.到目前为止,Apple 创建的更新没有显示在 iTunes Connect 中,但它显然有效.

We checked with a friend who had the crashing version of the app installed. He confirmed he downloaded the update and this fixed the issue. The update Apple created does not show up in iTunes Connect so far, but it obviously works.

我对 Apple 提供的服务感到满意.我猜事情偶尔会出错,即使是苹果之神也会出错.太糟糕了,我们的用户并不总是那么宽容(尽管大多数是).似乎苹果甚至在没有询问的情况下为我们删除了所有 1 星评论.我们目前无法检查它,因为 AppFigures 目前因桑迪飓风而停机......

I'm pleased with the service Apple provided. Things do occasionally go wrong I guess, even the Apple gods make mistakes. Too bad our users aren't always that forgiving (though the majority is). It seems Apple even removed all the 1 star reviews for us, without asking. We can't check it at the moment, because AppFigures is currently down due to hurricane Sandy...

这篇关于iOS 崩溃日志,回溯不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆