AndroidAdvanceWithGeektime / JVMTI_Sample

JVMTI Sample
MIT License
154 stars 55 forks source link

Android 11 真机 crash:SIGSEGV #1

Open sickworm opened 3 years ago

sickworm commented 3 years ago

在我这边测试的两台 Android 11(oppo 和三星)中,点击修改 Activity Class,在 native-lib.cpp 186 行出现 crash:

                jbyte *transformed(
                        (jbyte *) writer2.CreateImage(&allocator,
                                                      reinterpret_cast<size_t *>(newClassDataLen)));

crash log:

2021-08-22 16:29:35.820 15156-15156/com.dodola.jvmti I/jvmti: ==========Method modify onCreate (Landroid/os/Bundle;)V=======
2021-08-22 16:29:35.820 15156-15156/com.dodola.jvmti I/jvmti: origin:5  addreg:0

    --------- beginning of crash
2021-08-22 16:29:35.829 15156-15156/com.dodola.jvmti A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x75fffffff0 in tid 15156 (om.dodola.jvmti), pid 15156 (om.dodola.jvmti)
2021-08-22 16:29:36.176 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= java.lang.Integer {size:16}
2021-08-22 16:29:36.176 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= java.lang.String {size:64}
2021-08-22 16:29:36.176 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= android.app.servertransaction.ClientTransaction {size:24}
2021-08-22 16:29:36.176 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= java.util.ArrayList {size:24}
2021-08-22 16:29:36.177 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= java.lang.String {size:80}
2021-08-22 16:29:36.177 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= java.lang.String {size:80}
2021-08-22 16:29:36.177 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= android.app.servertransaction.TopResumedActivityChangeItem {size:16}
2021-08-22 16:29:36.177 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= java.lang.String {size:40}
2021-08-22 16:29:36.177 15156-17382/com.dodola.jvmti I/jvmti: ==========alloc callback======= [Ljava.lang.Object; {size:56}

但 Android 11 模拟器没有问题。

RaydroidX commented 2 years ago

同遇到这个问题,Android 10 华为