6

概要

アプリの最後のアップデートがリリースされて以来、多くのユーザーがアプリが起動しなくなったことについて不満を漏らし始めました。2人の異なるユーザーからクラッシュログとコンソールログ、およびクラッシュからのビデオを受け取りました。

私たちのアプリはすべてのデバイスでクラッシュするわけではありませんが、クラッシュすると、アイコンをタップしてから1秒以内に毎回クラッシュします(ビデオにはこれと友人の電話が表示されます)。

クラッシュログは非常に奇妙です。バックトレースが含まれておらず、フレームポインタ(R7)が0x00000000であるためです。このアップデートではあまり変更を加えていません。変更したものがないため、このようにスタックが破損する可能性があります。さらに、アプリを再インストールすると問題が修正されます。これにより、エラーはコードではなく、どこかで破損した可能性のあるバイナリにあると思われます。

詳細

一部のユーザーによると、前回の更新以降、起動時にアプリがクラッシュします。この問題を再現することはできませんが、1人のユーザーからクラッシュログを受け取りました。ログはユーザーのハードドライブ(〜/ Library / Logs / CrashReporter / MobileDevice /)から取得されます。同じ問題を経験している友人の電話から直接同じことを見ました。

このクラッシュは、アプリがiOSから制御を受け取るとすぐに発生するようです(更新を参照)。ただし、クラッシュログにはバックトレースが含まれておらず、不明なスレッドでエラーが発生したことが示されています。ログを象徴してみましたが、明らかに象徴するものは何もありません。

ある種のnullpointerエラーのようですが、なぜバックトレースがないのですか?このタイプのエラーの原因は何ですか?また、それを再現/解決するにはどうすればよいですか?

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
[...]

アップデート

同じユーザーから送られてきたビデオは、イントロアニメーションが開始する前でもアプリがクラッシュすることを示しています。したがって、アプリが実際に実行される前(またはアプリが実行されるコードの最初の行の1つ)。

ARMv6 / 7アーキテクチャでは、R7レジスタがフレームポインタを保持します。前のスタックフレームを指している必要がありますが、この場合は0x00000000です。多くのレジスタは実際にはnullです。何が原因でしょうか?

また、クラッシュは非常に一貫しています。アイコンをタップしてから1秒以内に毎回クラッシュします。少なくともこの特定のユーザーにとっては。アプリが「起動しない」という報告は、より多くありますが、具体的ではありません。アプリを再インストールすると、ユーザーが抱えていた問題が修正されます。

コンソールログにも多くは表示されません。これだけです。

App Storeを介して更新するとバイナリが破損するように聞こえ始めますが、更新時にのみ次のようになります。

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のテクニカルサービスにリクエストを送信しました。ここに報告します。

アップルテクニカルサービスアップデート

バグレポートを投稿しましたが、クラッシュ時のコンソールログを要求されました。私はそれらに1つを提供しましたが、私の理解ではあまり使用されていません。それ外:

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

技術部門もこの問題について何をすべきかわかりませんが、コードを変更せずに新しいバイナリをアップロードしないようにアドバイスしました。問題がなくなるかどうかをテストする方法はありません(wtf)。それが機能しない場合は、ユーザーをさらに混乱させます。

まだ私のバグレポートへの回答を待っています...

4

1 に答える 1

3

Apple Tech Supportに連絡した後、この問題を説明するバグレポートを提出するように求められました。クラッシュレポート、コンソールログ、このバージョンのXcodeからのアーカイブ、およびこのバージョンのIPAファイル(App Storeファイル)をiTunesからアップロードしました。

約1週間待った後、本日テクニカルサポートから次のメールを受け取りました。

こんにちは、

アプリのアップデートをインストールしたお客様にクラッシュを引き起こしていた問題が修正されていることをお知らせします。

アップデートのインストール後にクラッシュが発生したお客様は、AppStoreでアプリを再度アップデートすることで問題を解決できます。これにより、アプリの修正バージョンがインストールされます。

アプリのアップデートがAppStoreに表示されます。更新すると、アプリの現在のバージョンが再インストールされ、不正なインストールに関連するクラッシュが修正されます。アプリに保存されているすべてのデータは、更新の影響を受けません。

アプリのアップデートが表示されない場合、またはアップデートのインストール後もクラッシュが発生する場合は、お知らせください。

この問題の結果としてアプリが受け取ったレビューについて懸念がある場合は、ストアチーム( http://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wa/jumpTo?page=contactUs&contactfaq=customerreviewremovalrequest )に直接お問い合わせください。 と参照チケット番号[私の番号]。

クラッシュしたバージョンのアプリをインストールしている友人に確認しました。彼はアップデートをダウンロードしたことを確認し、これで問題が修正されました。Appleが作成したアップデートは今のところiTunesConnectには表示されませんが、明らかに機能します。

Appleが提供するサービスに満足しています。物事は時々うまくいかない、と私は推測する、アップルの神でさえ間違いを犯す。残念なことに、ユーザーは必ずしもそれほど寛容ではありません(大多数はそうですが)。Appleは私たちのために1つ星のレビューをすべて削除したようです。ハリケーンサンディのためにAppFiguresが現在ダウンしているため、現時点では確認できません...

于 2012-10-31T10:52:25.213 に答える