SINoALICE 攻略メモ その25/ 牙を剝く1年越しのバグ
SINoALICE でアプリが強制終了する不具合についてアナウンスが出ています。
いつも『SINoALICE ─シノアリス─』をご利用いただきありがとうございます。
11/9(金)に実施したメンテナンス、およびV26.0(AndroidのみV26.1となります)へのアップデート以降に発生している不具合について、【11/13 13:07現在】の対応状況についてまとめさせていただきます。 ◆発生している不具合の一覧 ◆対応状況 1.強制終了、端末のホーム画面が表示される不具合 ※iOS版はプラットフォームの審査が必要となりますため、Android版を先行してリリースさせていただいております。iOS版のリリース時には改めてお知らせいたします。 【更新あり】 ◆概要 |
公式サイトからは
・「一部プッシュ通知の受信時」にアプリが強制終了
・「モノガタリ終了時」にアプリが強制終了
と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 |
Comments