运行崩溃:libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x38 in tid 13470 (gova.andfixdemo)
- Dominant language
- C++
- Stars
- 7k
- Forks
- 1.6k
- PR merge metrics
- No merged PRs in 30d
Description
望予以解答,
编译工具AndroidStudio 2.2,生成APK时已经关闭了Instant Run,签名使用的是系统默认的签名
自己写了个Demo测试一下,结果第一次加载Patch就崩溃了,打印信息如下。
所用手机中兴威武3,系统Android 5.1
addpatch函数崩溃
02-14 16:32:28.658 13470-13470/? I/art: Late-enabling -Xcheck:jni
02-14 16:32:28.745 13470-13470/cn.com.egova.andfixdemo W/linker: /data/app/cn.com.egova.andfixdemo-1/lib/arm64/libandfix.so: unused DT entry: type 0x6ffffffe arg 0xb08
02-14 16:32:28.745 13470-13470/cn.com.egova.andfixdemo W/linker: /data/app/cn.com.egova.andfixdemo-1/lib/arm64/libandfix.so: unused DT entry: type 0x6fffffff arg 0x2
02-14 16:32:28.746 13470-13470/cn.com.egova.andfixdemo D/AndFix: vm is: art , apilevel is: 22
02-14 16:32:28.769 13470-13470/cn.com.egova.andfixdemo E/andfix: getAppVersionName =1.0
02-14 16:32:28.831 13470-13470/cn.com.egova.andfixdemo W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
02-14 16:32:28.880 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0043}
02-14 16:32:28.891 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0044}
02-14 16:32:28.894 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0045}
02-14 16:32:28.894 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1 a=2 r=0x7f07000f}
02-14 16:32:28.894 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1 a=2 r=0x7f07000e}
02-14 16:32:28.894 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x3801 a=1 r=0x10500cf}
02-14 16:32:28.901 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1 a=1 r=0x10500d6}
02-14 16:32:28.904 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x1/d=0x7f080100 a=2 r=0x7f080100}
02-14 16:32:28.904 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0046}
02-14 16:32:28.924 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0054}
02-14 16:32:28.924 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1001 a=2 r=0x7f070011}
02-14 16:32:28.924 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1001 a=2 r=0x7f070049}
02-14 16:32:28.924 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1001 a=2 r=0x7f070011}
02-14 16:32:28.924 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1001 a=2 r=0x7f070049}
02-14 16:32:28.925 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0055}
02-14 16:32:28.930 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0056}
02-14 16:32:28.943 13470-13470/cn.com.egova.andfixdemo I/ViewRootImpl: CPU Rendering VSync enable = true
02-14 16:32:28.947 13470-13509/cn.com.egova.andfixdemo D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
02-14 16:32:28.952 13470-13470/cn.com.egova.andfixdemo D/Atlas: Validating map...
02-14 16:32:29.005 13470-13509/cn.com.egova.andfixdemo I/Adreno-EGL: : EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8916_64_LA.BR.1.2.4_RB1__release_AU ()
OpenGL ES Shader Compiler Version: E031.25.03.04
Build Date: 04/29/15 Wed
Local Branch:
Remote Branch: quic/LA.BR.1.2.4_rb1.1
Local Patches: NONE
Reconstruct Branch: NOTHING
02-14 16:32:29.006 13470-13509/cn.com.egova.andfixdemo I/OpenGLRenderer: Initialized EGL, version 1.4
02-14 16:32:29.016 13470-13509/cn.com.egova.andfixdemo D/OpenGLRenderer: Enabling debug mode 0
02-14 16:32:29.018 13470-13509/cn.com.egova.andfixdemo I/qdutils: PartialUpdate status: Disabled
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Left Align: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Width Align: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Top Align: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Height Align: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Min ROI Width: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Min ROI Height: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Needs ROI Merge: 0
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Dynamic Fps: Enabled
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Min Panel fps: 30
02-14 16:32:29.019 13470-13509/cn.com.egova.andfixdemo I/qdutils: Max Panel fps: 60
02-14 16:32:29.037 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x2401 a=1 r=0x10500da}
02-14 16:32:29.037 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x3001 a=1 r=0x10500dc}
02-14 16:32:29.037 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0x601 a=1 r=0x10500d7}
02-14 16:32:29.037 13470-13470/cn.com.egova.andfixdemo W/Resources: Converting to string: TypedValue{t=0x5/d=0xa01 a=1 r=0x10500d8}
02-14 16:32:29.181 13470-13470/cn.com.egova.andfixdemo I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@1a8e8bc5 time:57853727
02-14 16:32:49.707 13470-13470/cn.com.egova.andfixdemo D/SecurityChecker: mDebuggable = true
02-14 16:32:49.793 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity$1.this$0 flag:
02-14 16:32:49.793 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 4113
02-14 16:32:49.794 13470-13470/cn.com.egova.andfixdemo D/AndFix: replace_5_1: 1750397116 , 1750397116
02-14 16:32:49.794 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity$1_CF.this$0 flag:
02-14 16:32:49.794 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 4113
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity.APATCH_PATH flag:
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity.mUpdateBtn flag:
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity.mVersionText flag:
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: replace_5_1: 1750398428 , 1750398428
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity_CF.APATCH_PATH flag:
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity_CF.mUpdateBtn flag:
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:32:49.796 13470-13470/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity_CF.mVersionText flag:
02-14 16:32:49.797 13470-13470/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:32:49.797 13470-13470/cn.com.egova.andfixdemo A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x38 in tid 13470 (gova.andfixdemo)
推测加载可能部分成功,因为再次打开App,App直接崩溃,打印信息如下:
02-14 16:34:25.627 14420-14420/cn.com.egova.andfixdemo D/AndFix: vm is: art , apilevel is: 22
02-14 16:34:25.647 14420-14420/cn.com.egova.andfixdemo E/andfix: getAppVersionName =1.0
02-14 16:34:25.675 14420-14420/cn.com.egova.andfixdemo D/SecurityChecker: mDebuggable = true
02-14 16:34:25.688 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity$1.this$0 flag:
02-14 16:34:25.688 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 4113
02-14 16:34:25.689 14420-14420/cn.com.egova.andfixdemo D/AndFix: replace_5_1: 1805062332 , 1805062332
02-14 16:34:25.689 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity$1_CF.this$0 flag:
02-14 16:34:25.689 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 4113
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity.APATCH_PATH flag:
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity.mUpdateBtn flag:
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity.mVersionText flag:
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: replace_5_1: 1805063644 , 1805063644
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity_CF.APATCH_PATH flag:
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity_CF.mUpdateBtn flag:
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: modify cn.com.egova.andfixdemo.MainActivity_CF.mVersionText flag:
02-14 16:34:25.691 14420-14420/cn.com.egova.andfixdemo D/AndFix: setFieldFlag_5_1: 1
02-14 16:34:25.702 14420-14420/cn.com.egova.andfixdemo D/AndroidRuntime: Shutting down VM
02-14 16:34:25.705 14420-14420/cn.com.egova.andfixdemo E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.com.egova.andfixdemo, PID: 14420
java.lang.IllegalAccessError: Method 'void android.support.v7.app.AppCompatActivity.onCreate(android.os.Bundle)' is inaccessible to class 'cn.com.egova.andfixdemo.MainActivity_CF' (declaration of 'cn.com.egova.andfixdemo.MainActivity_CF' appears in /data/data/cn.com.egova.andfixdemo/files/apatch/fix.apatch)
at cn.com.egova.andfixdemo.MainActivity_CF.onCreate(MainActivity.java:20)
at android.app.Activity.performCreate(Activity.java:6033)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2334)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2443)
at android.app.ActivityThread.access$800(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5344)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
02-14 16:34:25.741 14420-14420/cn.com.egova.andfixdemo I/Process: Sending signal. PID: 14420 SIG: 9
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the crash on Android 5.1/ART and inspect the addpatch path, MainActivity.java:20, fix.apatch, and the native libandfix.so logs. Trace the first SIGSEGV and subsequent IllegalAccessError, then verify that patch loading no longer crashes the app on relaunch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100