SINoALICE 攻略メモ その25/ 牙を剝く1年越しのバグ

SINoALICE でアプリが強制終了する不具合についてアナウンスが出ています。

いつも『SINoALICE ─シノアリス─』をご利用いただきありがとうございます。

11/9(金)に実施したメンテナンス、およびV26.0(AndroidのみV26.1となります)へのアップデート以降に発生している不具合について、【11/13 13:07現在】の対応状況についてまとめさせていただきます。

◆発生している不具合の一覧
1.強制終了、端末のホーム画面が表示される不具合

◆対応状況
【11/13 13:07更新内容】
下記の不具合について、現在までの修正を反映したV26.2をリリースさせていただきました。

1.強制終了、端末のホーム画面が表示される不具合
2.各種画面の表示不具合

※iOS版はプラットフォームの審査が必要となりますため、Android版を先行してリリースさせていただいております。iOS版のリリース時には改めてお知らせいたします。
※V26.2への強制アップデートは予定しておりません。お手数をおかけいたしますが、お客様ご自身でストアからアップデートしていただけますよう、お願い申し上げます。

【更新あり】
1.強制終了、端末のホーム画面が表示される不具合

◆概要
「一部プッシュ通知の受信時」「モノガタリ終了時」を中心にアプリが強制終了したり、端末のホーム画面が表示される場合がございます。
発生から当お知らせ掲載までの状況につきましては、11/9 アプリが強制終了する事象についてをご確認ください。
※今後は当お知らせの更新により状況報告とさせていただきます。
◆対応状況
【11/13 13:07更新】
V26.2にて「一部プッシュ通知の受信時」にアプリが強制終了する不具合の修正が完了いたしました。
「モノガタリ終了時」にアプリが強制終了する不具合については、引き続き修正対応を進めております。

公式サイトからは
・「一部プッシュ通知の受信時」にアプリが強制終了
・「モノガタリ終了時」にアプリが強制終了

と2つの理由でしかクラッシュしないようなニュアンスのアナウンスが出ていますが、これは大きな間違いです

他にも、
・モノガタリ、コロシアムで、ナイトメア表示時
・モノガタリ、コロシアムで、コマンド実行時
・強化合成時
・所持品表示時
・モノガタリ選択時
など、いたるところでクラッシュします

何が起こってるかと言うと

SINoALICE 攻略メモ その19/ 一年経っても直らないバグの数々
以前指摘したスレッドセーフ絡みのメモリ破壊が発生した部分で、解放済みメモリの再利用によって不正なメモリのアクセスが発生してクラッシュしてるのだと思われます。
私が観測してる部分は全て、メモリ破壊がおこっていた場所に合致します

試しに、シノアリスのクラッシュダンプを取得してみました

Process:             sinoalice [21543]
Path:                /private/var/containers/Bundle/Application/B540C261-EDE7-418F-A3B9-23F52C9F4D98/sinoalice.app/sinoalice
Identifier:          jp.co.pokelabo.sinoalice
Version:             26.0.0 (26.0.0)
AppStoreTools:       10B61
AppVariant:          1:iPhone11,8:12
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           jp.co.pokelabo.sinoalice [1710]
Date/Time:           2018-11-13 12:32:05.6920 +0900
Launch Time:         2018-11-13 12:04:29.8108 +0900
OS Version:          iPhone OS 12.0.1 (16A405)
Baseband Version:    1.00.08
Report Version:      104
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0xff4ec64dff28ba27 -> 0xff00004dff28ba27 (possible pointer authentication failure)
VM Region Info: 0xff00004dff28ba27 is not in any region.  Bytes after previous region: 18374686803390675496
REGION TYPE                      START - END             [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
MALLOC_NANO            0000000280000000-00000002a0000000 [512.0M] rw-/rwx SM=PRV
--->
UNUSED SPACE AT END
Triggered by Thread:  0
Thread 0 Crashed:
0   sinoalice                     	0x000000010303b4c4 0x102bf4000 + 4486340
1   sinoalice                     	0x000000010325df3c 0x102bf4000 + 6725436
2   sinoalice                     	0x0000000104c0fb1c 0x102bf4000 + 33667868
3   sinoalice                     	0x0000000104f8b10c 0x102bf4000 + 37318924
4   sinoalice                     	0x00000001047bdfd0 0x102bf4000 + 29138896
5   sinoalice                     	0x0000000104c1d774 0x102bf4000 + 33724276
6   sinoalice                     	0x0000000102dd5598 0x102bf4000 + 1971608
7   sinoalice                     	0x00000001038c561c 0x102bf4000 + 13440540
8   sinoalice                     	0x00000001032586cc 0x102bf4000 + 6702796
9   sinoalice                     	0x0000000103260bb8 0x102bf4000 + 6736824
10  sinoalice                     	0x0000000103264050 0x102bf4000 + 6750288
11  sinoalice                     	0x0000000103263c24 0x102bf4000 + 6749220
12  sinoalice                     	0x0000000103182dbc 0x102bf4000 + 5828028
13  sinoalice                     	0x00000001031b2020 0x102bf4000 + 6021152
14  sinoalice                     	0x00000001031b25f0 0x102bf4000 + 6022640
15  sinoalice                     	0x0000000103194690 0x102bf4000 + 5899920
16  sinoalice                     	0x00000001031946b8 0x102bf4000 + 5899960
17  sinoalice                     	0x0000000103194814 0x102bf4000 + 5900308
18  sinoalice                     	0x0000000102f941d8 0x102bf4000 + 3801560
19  sinoalice                     	0x0000000102bff294 0x102bf4000 + 45716
20  sinoalice                     	0x0000000102bff180 0x102bf4000 + 45440
21  QuartzCore                    	0x00000001f88db058 0x1f88ca000 + 69720
22  QuartzCore                    	0x00000001f89a49cc 0x1f88ca000 + 895436
23  CoreFoundation                	0x00000001f42e4a94 0x1f425d000 + 555668
24  CoreFoundation                	0x00000001f430d0ec 0x1f425d000 + 721132
25  CoreFoundation                	0x00000001f430c7f4 0x1f425d000 + 718836
26  CoreFoundation                	0x00000001f4307384 0x1f425d000 + 697220
27  CoreFoundation                	0x00000001f4306844 0x1f425d000 + 694340
28  GraphicsServices              	0x00000001f65b5be8 0x1f65ab000 + 44008
29  UIKitCore                     	0x0000000221c5431c 0x221332000 + 9577244
30  sinoalice                     	0x0000000102bf81a0 0x102bf4000 + 16800
31  libdyld.dylib                 	0x00000001f3dbc020 0x1f3dbb000 + 4128

思いっきり該当してますね( ˘ω˘)
メモリポインタが負の値になってる事から、解放済みで壊れたポインタを拾ってきたのではないかと思われます。

モノガタリ終了時でしかクラッシュしないと勘違いしてる時点で、数日で、不具合が修正できるわけないのです

基本的な不具合を一年間ユーザーの声も聞かずに放置したせいでこうなってる訳です

いくつかクラッシュのバリエーションを紹介

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Exception Subtype: KERN_INVALID_ADDRESS at 0xffffffffffffffff

VM Region Info: 0xffffffffffffffff is not in any region. Bytes after previous region: 18446744062435262464

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x42be864b42c62622 -> 0xffffffcb42c62622 (possible pointer authentication failure)
VM Region Info: 0xffffffcb42c62622 is not in any region.  Bytes after previous region: 18446743835922277923 

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Exception Subtype: KERN_INVALID_ADDRESS at 0x2cffffff4affffff -> 0xffffffff4affffff (possible pointer authentication failure)
VM Region Info: 0xffffffff4affffff is not in any region.  Bytes after previous region: 18446744059398586368  

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Exception Subtype: KERN_INVALID_ADDRESS at 0x0012001000120011 -> 0x0000001000120011 (possible pointer authentication failure)
VM Region Info: 0x1000120011 is not in any region.  Bytes after previous region: 57446367250  

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Subtype: KERN_INVALID_ADDRESS at 0xff000000ff000000 
VM Region Info: 0xff000000ff000000 is not in any region.  Bytes after previous region: 18374686472675524609 

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です