alibaba / patrons Goto Github PK
View Code? Open in Web Editor NEW🎉 A framework for improving android 32bit app stability. (Alleviate crashes caused by insufficient virtual memory)
License: Other
🎉 A framework for improving android 32bit app stability. (Alleviate crashes caused by insufficient virtual memory)
License: Other
这东西治标不治本的
我的理解是只能缓解崩溃,检测到vss临界点的时候减少region space大小,但是vss仍然是增加,会再次达到大小region space。
但是不能达到就会减少region space大小
另外art gc会不会受到影响,因为目前art gc 几种gc策略都在用,空间减少可能会受到影响吧
I/Patrons: patrons start init, config = { debuggable=true, auto=true, periodOfShrink=0.76, shrinkStep=125, periodOfCheck=30, lowerLimit=384, recordInitResult=true }
E/Patrons-Native: [warning] debuggable is enable, will disable sgev protection, MUST CLOSE it before release.
D/Patrons-Native: register signal handler
I/Patrons-Native: signal handler reg success, old handler = 0xc323d2d8
D/Patrons-Native: start init, sdk = 1.0.6.3, api = 30, debuggable = 1, protect = 1, heap size config = 512m
D/Patrons-Native: [device] brand = Xiaomi
D/Patrons-Native: [device] device = M2011K2C
D/Patrons-Native: [device] fingerprint = Xiaomi/venus/venus:11/RKQ1.200928.002/21.3.25:user/release-keys
D/Patrons-Native: [instance] a_ = 0xe2dde809, art = /apex/com.android.art/lib/libart.so
D/Patrons-Native: [instance] r_ = 0xf3300400
D/Patrons-Native: [instance] h_ = 0xf330bf00
D/Patrons-Native: [instance] r2 = 0xf3396b30
D/Patrons-Native: [instance] b = 0xf3396b44, e = 0xf3396b48, l = 0xf3396b4c
D/Patrons-Native: [instance] n2 = 0xf3396c70
D/Patrons-Native: [instance] r3 = 0xf3396c90
D/Patrons-Native: [instance] m_ = 0xee4233c5
E/Patrons-Native: final check failed, m_ 33 not match l_ 5
E/Patrons: patrons native init failed !
Infinix HOT 10 Lite,Android 10,armeabi-v7a
日志:
2024-01-25 14:29:34.910 13780-13780 Patrons-Native me.zhilong.tools.abortkiller.demo E [warning] debuggable is enable, will disable sgev protection, MUST CLOSE it before release.
2024-01-25 14:29:34.927 13780-13780 Patrons-Native me.zhilong.tools.abortkiller.demo E found exception signal 11, but not my business.
2024-01-25 14:29:34.929 13780-13780 libc me.zhilong.tools.abortkiller.demo A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x200014 in tid 13780 (bortkiller.demo), pid 13780 (bortkiller.demo)
2024-01-25 14:29:34.992 13833-13833 DEBUG pid-13833 E failed to readlink /proc/13780/fd/77: No such file or directory
2024-01-25 14:29:34.993 13833-13833 DEBUG pid-13833 E failed to readlink /proc/13780/fd/86: No such file or directory
2024-01-25 14:29:35.050 13833-13833 DEBUG pid-13833 A *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2024-01-25 14:29:35.050 13833-13833 DEBUG pid-13833 A Build fingerprint: 'Infinix/X657B-OP/Infinix-X657B:10/QP1A.190711.020/DFJ-OP-220215V417:user/release-keys'
2024-01-25 14:29:35.050 13833-13833 DEBUG pid-13833 A Revision: '0'
2024-01-25 14:29:35.050 13833-13833 DEBUG pid-13833 A ABI: 'arm'
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A Timestamp: 2024-01-25 14:29:35+0800
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A pid: 13780, tid: 13780, name: bortkiller.demo >>> me.zhilong.tools.abortkiller.demo <<<
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A uid: 10366
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x200014
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A r0 00200014 r1 0020001c r2 00200080 r3 cf11a2c2
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A r4 86ce7930 r5 86ce7964 r6 86ce793c r7 befc4c80
2024-01-25 14:29:35.062 13833-13833 DEBUG pid-13833 A r8 86ce3da8 r9 86ce7944 r10 86ce7924 r11 86ce792c
2024-01-25 14:29:35.063 13833-13833 DEBUG pid-13833 A ip afd4adf8 sp befc4c38 lr 86cdf807 pc 86cdf816
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A
backtrace:
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A #00 pc 00003816 /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/lib/arm/libpatrons.so (NativeInit+1318) (BuildId: 7829499a0f6963993f285482acab85304948640b)
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A #1 pc 00003a81 /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/lib/arm/libpatrons.so (Java_com_alibaba_android_patronus__1Patrons__1_1init+256) (BuildId: 7829499a0f6963993f285482acab85304948640b)
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A #2 pc 000dc519 /apex/com.android.runtime/lib/libart.so (art_quick_generic_jni_trampoline+40) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A #3 pc 000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A #4 pc 0042ea0b /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+246) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.657 13833-13833 DEBUG pid-13833 A #5 pc 000dffcb /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+194) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #6 pc 00210bf9 /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+280) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #7 pc 0020c53b /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+774) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #8 pc 00426127 /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+310) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #9 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #10 pc 0023d89e [anon:dalvik-classes.dex extracted in memory from /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/base.apk] (com.alibaba.android.patronus._Patrons.__init+58)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #11 pc 0042637f /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #12 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #13 pc 0023da26 [anon:dalvik-classes.dex extracted in memory from /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/base.apk] (com.alibaba.android.patronus._Patrons.init+70)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #14 pc 0042637f /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.658 13833-13833 DEBUG pid-13833 A #15 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #16 pc 0023d2b2 [anon:dalvik-classes.dex extracted in memory from /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/base.apk] (com.alibaba.android.patronus.Patrons.init+10)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #17 pc 0042637f /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #18 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #19 pc 0033301c [anon:dalvik-classes.dex extracted in memory from /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/base.apk] (me.zhilong.tools.abortkiller.demo.MainActivity.onClick+292)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #20 pc 001ec475 /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.8487160450262851165+192) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #21 pc 001f0c59 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+124) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #22 pc 00418469 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+808) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #23 pc 000dc5a1 /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.659 13833-13833 DEBUG pid-13833 A #24 pc 000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.660 13833-13833 DEBUG pid-13833 A #25 pc 0042e8f7 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+250) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.660 13833-13833 DEBUG pid-13833 A #26 pc 000dffb7 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.660 13833-13833 DEBUG pid-13833 A #27 pc 003704e7 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.660 13833-13833 DEBUG pid-13833 A #28 pc 003717eb /apex/com.android.runtime/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+850) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.660 13833-13833 DEBUG pid-13833 A #29 pc 0031e9c3 /apex/com.android.runtime/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.660 13833-13833 DEBUG pid-13833 A #30 pc 000bc82f /system/framework/arm/boot.oat (art_jni_trampoline+110) (BuildId: 4b12c643cf2f244fc65e05a0bbf6e6e0f3fcdc4d)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #31 pc 000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #32 pc 0042e8f7 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+250) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #33 pc 000dffb7 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #34 pc 00210bf9 /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+280) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #35 pc 0020c53b /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+774) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #36 pc 00423bc9 /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+556) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #37 pc 000d2814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.661 13833-13833 DEBUG pid-13833 A #38 pc 001047fe [anon:dalvik-classes.dex extracted in memory from /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/base.apk] (androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick+46)
2024-01-25 14:29:35.662 13833-13833 DEBUG pid-13833 A #39 pc 004252b9 /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1432) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.662 13833-13833 DEBUG pid-13833 A #40 pc 000d2a14 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.662 13833-13833 DEBUG pid-13833 A #41 pc 001a1ed8 /system/framework/framework.jar (android.view.View.performClick+108)
2024-01-25 14:29:35.662 13833-13833 DEBUG pid-13833 A #42 pc 004248eb /apex/com.android.runtime/lib/libart.so (MterpInvokeSuper+1858) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.662 13833-13833 DEBUG pid-13833 A #43 pc 000d2894 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_super+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.662 13833-13833 DEBUG pid-13833 A #44 pc 00251d5e [anon:dalvik-classes.dex extracted in memory from /data/app/me.zhilong.tools.abortkiller.demo-nxipRswnHimM4tinipcGRQ==/base.apk] (com.google.android.material.button.MaterialButton.performClick+6)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #45 pc 00423e19 /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #46 pc 000d2814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #47 pc 001a1f0a /system/framework/framework.jar (android.view.View.performClickInternal+6)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #48 pc 00425c89 /apex/com.android.runtime/lib/libart.so (MterpInvokeDirect+980) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #49 pc 000d2914 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #50 pc 0019d5f0 /system/framework/framework.jar (android.view.View.access$3500)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #51 pc 0042637f /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #52 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #53 pc 0017ac28 /system/framework/framework.jar (android.view.View$PerformClick.run+16)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #54 pc 004252b9 /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1432) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.663 13833-13833 DEBUG pid-13833 A #55 pc 000d2a14 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #56 pc 002ed794 /system/framework/framework.jar (android.os.Handler.handleCallback+4)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #57 pc 0042637f /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #58 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #59 pc 002ed600 /system/framework/framework.jar (android.os.Handler.dispatchMessage+8)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #60 pc 00423e19 /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #61 pc 000d2814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #62 pc 00311e7e /system/framework/framework.jar (android.os.Looper.loop+490)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #63 pc 0042637f /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #64 pc 000d2994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #65 pc 00186f42 /system/framework/framework.jar (android.app.ActivityThread.main+214)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #66 pc 001ec475 /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.8487160450262851165+192) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.664 13833-13833 DEBUG pid-13833 A #67 pc 001f0c59 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+124) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.665 13833-13833 DEBUG pid-13833 A #68 pc 00418469 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+808) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.665 13833-13833 DEBUG pid-13833 A #69 pc 000dc5a1 /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.665 13833-13833 DEBUG pid-13833 A #70 pc 000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.665 13833-13833 DEBUG pid-13833 A #71 pc 0042ea0b /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+246) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.665 13833-13833 DEBUG pid-13833 A #72 pc 000dffcb /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+194) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.665 13833-13833 DEBUG pid-13833 A #73 pc 003704e7 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #74 pc 003717eb /apex/com.android.runtime/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+850) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #75 pc 0031e9c3 /apex/com.android.runtime/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #76 pc 000bc82f /system/framework/arm/boot.oat (art_jni_trampoline+110) (BuildId: 4b12c643cf2f244fc65e05a0bbf6e6e0f3fcdc4d)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #77 pc 000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #78 pc 0042e8f7 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+250) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #79 pc 000dffb7 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.666 13833-13833 DEBUG pid-13833 A #80 pc 00210bf9 /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+280) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #81 pc 0020c53b /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+774) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #82 pc 00423bc9 /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+556) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #83 pc 000d2814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #84 pc 0034b82a /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #85 pc 001ec475 /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.8487160450262851165+192) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #86 pc 001f0c59 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+124) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #87 pc 00418469 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+808) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #88 pc 000dc5a1 /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #89 pc 008e1713 /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+1818) (BuildId: 6b3167ca2c4358d3adb77dfb4e823ad340b67859)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #90 pc 000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #91 pc 0042ea0b /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+246) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.667 13833-13833 DEBUG pid-13833 A #92 pc 000dffcb /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+194) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #93 pc 003704e7 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #94 pc 00370327 /apex/com.android.runtime/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+290) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #95 pc 002bcb9d /apex/com.android.runtime/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+460) (BuildId: b45bd6ac649e4357be4d189e3725f556)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #96 pc 0007e351 /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28) (BuildId: 1c0457db4aed719524595f47d7cdab3c)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #97 pc 00080819 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+568) (BuildId: 1c0457db4aed719524595f47d7cdab3c)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #98 pc 000022ff /system/bin/app_process32 (main+698) (BuildId: 4cbc5273c32c6d105808e3f1587df29b)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #99 pc 00059901 /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+68) (BuildId: a962268e3809e338988d53f3074e9afd)
2024-01-25 14:29:35.668 13833-13833 DEBUG pid-13833 A #100 pc 0000202f /system/bin/app_process32 (_start_main+38) (BuildId: 4cbc5273c32c6d105808e3f1587df29b)
2024-01-25 14:29:35.669 13833-13833 DEBUG pid-13833 A #101 pc 00004456 anonymous:b11ff000
[/art/runtime/gc/space/region_space.h]
761 // Invariant (verified by RegionSpace::VerifyNonFreeRegionLimit):
762 // for all `i >= non_free_region_index_limit_`, `regions_[i].IsFree()` is true.
763 size_t non_free_region_index_limit_ GUARDED_BY(region_lock_);
non_free_region_index_limit_注释中的invariant
并非表示这个变量是不变量,注意后面的引号,它指的是762行这个关系式是不变的。实际上non_free_region_index_limit_会在每次CC Collector的ReclaimPhase更新(如下代码所示),每次回收后都会更新。
而我注意到代码中并没有对non_free_region_index_limit_实时更新,只在init阶段赋值,因此代码中记录的non_free_region_index_limit_是滞后的。
[/art/runtime/gc/collector/concurrent_copying.cc]
2743 {
2744 TimingLogger::ScopedTiming split4("ClearFromSpace", GetTimings());
2745 region_space_->ClearFromSpace(&cleared_bytes, &cleared_objects, /*clear_bitmap*/ !young_gen_);
其实我明白你是为了防止new_size小于Java堆中已用空间的情况。但这种情况已经在RegionSpace::ClampGrowthLimit中的790行做了处理,所以不必担忧。而这个项目里的non_free_region_index_limit_可以删去,因为没有动态更新的话,这个变量的值也就失去了意义。
[/art/runtime/gc/space/region_space.cc]
786 void RegionSpace::ClampGrowthLimit(size_t new_capacity) {
787 MutexLock mu(Thread::Current(), region_lock_);
788 CHECK_LE(new_capacity, NonGrowthLimitCapacity());
789 size_t new_num_regions = new_capacity / kRegionSize;
790 if (non_free_region_index_limit_ > new_num_regions) {
791 LOG(WARNING) << "Couldn't clamp region space as there are regions in use beyond growth limit.";
792 return;
793 }
无java,native堆栈,无明显崩溃日志。已测试mumu及雷电模拟器均会崩溃,Patrons初始化返回的code为2001
你好,想了解下Patrons用到的xhook是修改过的吗,因为安装包大小的原因,打算使用工程里原有的xhook库,结果发现函数的定义与xhook原来的不同,想了解下,Patrons是否对xhook源码进行了修改,如果使用原生的xhook,是否有问题。
该方案较适用于:32位且native内存申请较多的应用,特别是运行在64位设备的场景,这样理解对吗
https://www.infoq.cn/article/bvbf3iwjztvem4szamvw
请问大佬,这个文章中的反编译工具是什么啊?好像不是ida
伪装命名空间问题
// 找到 libart 中调用的 libartbase.so 中的方法 GetCmdLine, 没有特殊含义,仅仅是用来找一个和 libart.so 同一命名空间的函数来伪装身份
xhook_register(".*/libart.so$", "_ZN3art10GetCmdLineEv", NULL, (void **) (&stub_method_in_art),
NULL);
LOGE("stub_method_in_art:%p", stub_method_in_art);
这里打印了stub_method_in_art发现是null,这个对于后面调用libart会不会有影响,实际上测试又看到是有效果的
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.