4.2.2 waydroid在ubuntu23.04上运行问题记录

问题1. 运行英雄联盟手游时audio.service挂掉

  • 问题描述:

运行英雄联盟手游,出现“Limited by the size of pthread_mutex_t, 32 bit bionic libc only accepts pid <= 65535”问题,导致audio.service挂掉,游戏卡在黑屏界面。

  • 解决方法:

  在Ubuntu执行下列命令:

sudo sysctl -w kernel.pid_max=65535 or add kernel.pid_max=65535 to /etc/sysctl.d/99-sysctl.conf

 也可以在安卓rc文件添加 “write /proc/sys/kernel/pid_max 65535”

问题2. 运行英雄联盟手游,进入练习模式,点击某个人物图标,程序奔溃

  • 问题描述:

log显示是应用读取ro.build.fingerprint属性,但该属性值超过92个字节导致崩溃,当读取的属性值超过92个字节时,应该使用其它接口,但应用并没有做这样的兼容逻辑

  • 解决方法:

  修改ro.build.fingerprint值在编译时的生成逻辑,使之小于92字节。

读ro.build.fingerprint的问题解决后,又遇到其它崩溃问题,和安卓的java虚拟机art相关

#00 pc 00000000000008d8 [vdso] () #01 pc 0000000000044ac4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) #02 pc 0000000000069ee8 /apex/com.android.art/lib64/libvixl.so (_ZN4vixl7aarch6423UseScratchRegisterScope20AcquireNextAvailableEPNS0_10CPURegListE+92) #03 pc 00000000002106f4 /apex/com.android.art/lib64/libart-compiler.so (_ZN3art5arm6418CodeGeneratorARM6418GenerateFrameEntryEv+152) #04 pc 000000000006850c /apex/com.android.art/lib64/libart-compiler.so (_ZN3art13CodeGenerator7CompileEPNS_13CodeAllocatorE+464) #05 pc 000000000012fc38 /apex/com.android.art/lib64/libart-compiler.so (_ZNK3art18OptimizingCompiler10TryCompileEPNS_14ArenaAllocatorEPNS_10ArenaStackEPNS_19CodeVectorAllocatorERKNS_18DexCompilationUnitEPNS_9ArtMethodEbbbPNS_24VariableSizedHandleScopeE+3312) #06 pc 0000000000133ddc /apex/com.android.art/lib64/libart-compiler.so (_ZN3art18OptimizingCompiler10JitCompileEPNS_6ThreadEPNS_3jit12JitCodeCacheEPNS3_15JitMemoryRegionEPNS_9ArtMethodEbbPNS3_9JitLoggerE+1048) #07 pc 000000000004ddc8 /apex/com.android.art/lib64/libart-compiler.so (_ZN3art3jit11JitCompiler13CompileMethodEPNS_6ThreadEPNS0_15JitMemoryRegionEPNS_9ArtMethodEbb+232) #08 pc 000000000020faa4 /apex/com.android.art/lib64/libart.so (_ZN3art3jit3Jit13CompileMethodEPNS_9ArtMethodEPNS_6ThreadEbbb+992) #09 pc 0000000000217c5c /apex/com.android.art/lib64/libart.so (_ZN3art3jit14JitCompileTask3RunEPNS_6ThreadE+668) #10 pc 00000000004a00d8 /apex/com.android.art/lib64/libart.so (_ZN3art16ThreadPoolWorker3RunEv+108) #11 pc 000000000049fbcc /apex/com.android.art/lib64/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+192) #12 pc 00000000000a78ec /apex/com.android.runtime/lib64/bionic/libc.so (_ZL15__pthread_startPv+64) #13 pc 0000000000046a84 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

看了一下相关代码,发现是art 编译优化产生arm64相关的代码(不确定是否是汇编代码)出错,调用了abort。有时崩溃又不同:

E [CrashSightReport]: # REPORT ID: 7b067821-e9f5-4600-b6f1-f9b476497e1b E CRASH : signal 11 (SIGSEGV), code -6 (?), fault addr 000027a000004cd7 E CRASH : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** E CRASH : Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a' E CRASH : Build fingerprint: 'fde/phytium_fde_arm64/fde_arm64:11/RQ3A.211001.001/20230801.140011:userdebug/test-keys' E CRASH : Revision: '0' E CRASH : pid: 19671, tid: 20654, name: Thread-11 >>> com.tencent.lolm <<< E CRASH : x0 0000000000000001 x1 0000fffde0b33de0 x2 0000fffde0b33ba0 x3 0000000000000002 E CRASH : x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 0000000000000000 E CRASH : x8 0000fffde0b33d68 x9 0000fffde0b33d58 x10 0000000000000000 x11 0000000000000000 E CRASH : x12 0000000000000001 x13 0000000000000020 x14 fffffffffc000000 x15 fffe000000000000 E CRASH : x16 0000ffffaf8d9930 x17 0000ffffaf8ce8a8 x18 0000000000000064 x19 0000fffeb75526b0 E CRASH : x20 0000fffde0b33ba0 x21 0000fffde0b33d20 x22 00000000ffffffff x23 0000fffde0b33d40 E CRASH : x24 0000fffde0b33d58 x25 0000fffde0adb69c x26 0000fffde0adbac0 x27 0000fffde0342a00 E CRASH : x28 0000ffff10aed000 x29 0000fffeb75524f0 x30 0000fffebd727fa4 E CRASH : sp 0000fffeb75524e0 pc 0000fffebd727ff8 pstate 0000000080000000 E CRASH : backtrace: E CRASH : #00 pc 00000000000008d8 [vdso] () E CRASH : #01 pc 0000000000797ff4 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #02 pc 0000000000775fa0 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #03 pc 0000000000796f98 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #04 pc 0000000000796e58 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #05 pc 000000000076906c /vendor/lib64/dri/libgallium_dri.so () E CRASH : #06 pc 00000000006f6a84 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #07 pc 00000000007234bc /vendor/lib64/dri/libgallium_dri.so () E CRASH : #08 pc 0000000000729428 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #09 pc 00000000002d04a0 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #10 pc 00000000002d10c4 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #11 pc 00000000002d18b8 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #12 pc 00000000002c10ac /vendor/lib64/dri/libgallium_dri.so () E CRASH : #13 pc 00000000002bf96c /vendor/lib64/dri/libgallium_dri.so () E CRASH : #14 pc 000000000028a970 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #15 pc 000000000020e5d4 /vendor/lib64/dri/libgallium_dri.so () E CRASH : #16 pc 00000000007b0204 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #17 pc 00000000007ae6f4 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #18 pc 00000000007ad860 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #19 pc 000000000020ed48 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #20 pc 000000000052f41c /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #21 pc 000000000085f23c /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #22 pc 00000000008600c8 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #23 pc 0000000000858a78 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #24 pc 00000000003e9dd8 /data/app/~~NSczyoWjlN6NckyW_OjCmQ==/com.tencent.lolm-CjkgYJu7jdL-Ix8Qi5Ej_g==/lib/arm64/libunity.so () E CRASH : #25 pc 00000000000a78ec /apex/com.android.runtime/lib64/bionic/libc.so (_ZL15__pthread_startPv+64) E CRASH : #26 pc 0000000000046a84 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) E CRASH : other thread is trapped; signum = 11 E InputEventReceiver: Exception dispatching input event. D AndroidRuntime: Shutting down VM E AndroidRuntime: FATAL EXCEPTION: main E AndroidRuntime: Process: com.tencent.lolm, PID: 19671 E AndroidRuntime: java.lang.Error: signal 11 (SIGSEGV), code -6 (?), fault addr 000027a000004cd7 E AndroidRuntime: Build fingerprint: 'fde/phytium_fde_arm64/fde_arm64:11/RQ3A.211001.001/20230801.140011:userdebug/test-keys' E AndroidRuntime: Revision: '0' E AndroidRuntime: pid: 19671, tid: 20654, name: Thread-11 >>> com.tencent.lolm <<< E AndroidRuntime: x0 0000000000000001 x1 0000fffde0b33de0 x2 0000fffde0b33ba0 x3 0000000000000002 E AndroidRuntime: x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 0000000000000000 E AndroidRuntime: x8 0000fffde0b33d68 x9 0000fffde0b33d58 x10 0000000000000000 x11 0000000000000000 E AndroidRuntime: x12 0000000000000001 x13 0000000000000020 x14 fffffffffc000000 x15 fffe000000000000 E AndroidRuntime: x16 0000ffffaf8d9930 x17 0000ffffaf8ce8a8 x18 0000000000000064 x19 0000fffeb75526b0 E AndroidRuntime: x20 0000fffde0b33ba0 x21 0000fffde0b33d20 x22 00000000ffffffff x23 0000fffde0b33d40 E AndroidRuntime: x24 0000fffde0b33d58 x25 0000fffde0adb69c x26 0000fffde0adbac0 x27 0000fffde0342a00 E AndroidRuntime: x28 0000ffff10aed000 x29 0000fffeb75524f0 x30 0000fffebd727fa4 E AndroidRuntime: sp 0000fffeb75524e0 pc 0000fffebd727ff8 pstate 0000000080000000 E AndroidRuntime: E AndroidRuntime: at [vdso].(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libgallium_dri.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libunity.(:0) E AndroidRuntime: at libc._ZL15__pthread_startPv(_ZL15__pthread_startPv:64) E AndroidRuntime: at libc.__start_thread(__start_thread:64) 3D引擎unity调用了mesa相关接口(external/mesa/src/mesa/main/dlist.c:dlist_alloc)导致崩溃,waydroid使用mesa实现的opengles
  • 解决方法:

 暂无解决方法