redroid-doc
redroid-doc copied to clipboard
自己编译的redroid14 image, 运行后无法adb connect, logcat 显示有crash产生。
Describe the bug 请详细描述问题(ZH_CN) 见下面的详细描述。
make sure the required kernel modules present 确保必须的内核功能已开启(ZH_CN)
- [ ]
grep binder /proc/filesystems
- [ ]
grep ashmem /proc/misc
(optional) grep output显示内核功能确认已经打开
Collect debug logs
收集调试日志(ZH_CN)
curl -fsSL https://raw.githubusercontent.com/remote-android/redroid-doc/master/debug.sh | sudo bash -s -- [CONTAINER]
见附件, 已经上传了附件。
详细问题描述: Hi, @zhouziyang , 首先感谢你为redroid project所做的工作,我们都受益很多。但是我现在在redroid14上碰到了问题,启动container以后adb connect总是显示offline device,然后device消失了,无法adb connect. 下面是我的运行步骤, 希望你能帮我看看,是什么原因导致失败: sudo docker run -itd --privileged -v /home/cfguser/redroid/data14:/data -p 5555:5555 --name redroid14 redroid:v14.0-nb ro.boot.redroid_gpu_mode=guest 我的系统是Ubuntu22.04 kernel 5.15 我想将mindtheGapps编译进我的image, 所以我按照https://github.com/remote-android/redroid-doc/tree/master/android-builder-docker 的步骤编译了基于redroid14的image. 然后又按照Native Bridge Support section的指导, 把native bridge放进了image中。 但是运行container时出现了之前说的adb connect无法连接的问题,详细的log见附件。 我自己分析了logcat, 可能是下面的crash导致的,但是不知道crash的具体原因。
04-14 21:48:40.355 1283 1283 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1283 (system_server), pid 1283 (system_server)
04-14 21:48:40.411 1448 1448 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
04-14 21:48:40.411 48 48 I tombstoned: received crash request for pid 1283
04-14 21:48:40.411 1448 1448 I crash_dump64: performing dump of process 1283 (target tid = 1283)
04-14 21:48:40.610 1448 1448 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-14 21:48:40.610 1448 1448 F DEBUG : Build fingerprint: 'redroid/redroid_x86_64/redroid_x86_64:14/UP1A.231005.007.A1/eng.cfguse.20240414.164732:userdebug/test-keys'
04-14 21:48:40.610 1448 1448 F DEBUG : Revision: '0'
04-14 21:48:40.610 1448 1448 F DEBUG : ABI: 'x86_64'
04-14 21:48:40.610 1448 1448 F DEBUG : Timestamp: 2024-04-14 21:48:40.424762470+0000
04-14 21:48:40.610 1448 1448 F DEBUG : Process uptime: 6s
04-14 21:48:40.610 1448 1448 F DEBUG : Cmdline: system_server
04-14 21:48:40.610 1448 1448 F DEBUG : pid: 1283, tid: 1283, name: system_server >>> system_server <<<
04-14 21:48:40.610 1448 1448 F DEBUG : uid: 1000
04-14 21:48:40.610 1448 1448 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
04-14 21:48:40.610 1448 1448 F DEBUG : rax 0000000000000000 rbx 00007ffff1b15f98 rcx 000076e2b42ca610 rdx 0000000000000006
04-14 21:48:40.610 1448 1448 F DEBUG : r8 000076df779c9393 r9 000076df779c9393 r10 00007ffff1b15fa0 r11 0000000000000207
04-14 21:48:40.610 1448 1448 F DEBUG : r12 00007ffff1b16390 r13 000076df779d4b50 r14 0000000000000503 r15 0000000000000503
04-14 21:48:40.610 1448 1448 F DEBUG : rdi 0000000000000503 rsi 0000000000000503
04-14 21:48:40.610 1448 1448 F DEBUG : rbp 000076e1a38cd450 rsp 00007ffff1b15f90 rip 000076e2b42ca610
04-14 21:48:40.610 1448 1448 F DEBUG : 38 total frames
04-14 21:48:40.610 1448 1448 F DEBUG : backtrace:
04-14 21:48:40.610 1448 1448 F DEBUG : #00 pc 0000000000061610 /apex/com.android.runtime/lib64/bionic/libc.so (abort+192) (BuildId: fa337969c798946280caa45e2d71a2e7)
04-14 21:48:40.610 1448 1448 F DEBUG : #01 pc 000000000000eef9 /apex/com.android.tethering/lib64/libservice-connectivity.so (android::register_com_android_server_connectivity_ClatCoordinator(_JNIEnv*)+441) (BuildId: 30f44524b00c769735aa9d17bb1356d2)
04-14 21:48:40.610 1448 1448 F DEBUG : #02 pc 0000000000011bc9 /apex/com.android.tethering/lib64/libservice-connectivity.so (JNI_OnLoad+121) (BuildId: 30f44524b00c769735aa9d17bb1356d2)
04-14 21:48:40.610 1448 1448 F DEBUG : #03 pc 00000000005f15c7 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string<char, std::__1::char_traits
04-14 21:48:40.610 1448 1448 F DEBUG : #18 pc 0000000000247e2c /system/framework/services.jar (com.android.server.SystemServiceManager.startServiceFromJar+36)
04-14 21:48:40.610 1448 1448 F DEBUG : #19 pc 000000000036fa88 /apex/com.android.art/lib64/libart.so (nterp_helper+3736) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.610 1448 1448 F DEBUG : #20 pc 0000000000245a3e /system/framework/services.jar (com.android.server.SystemServer.startOtherServices+3494)
04-14 21:48:40.610 1448 1448 F DEBUG : #21 pc 00000000004e2f26 /system/framework/oat/x86_64/services.odex (com.android.server.SystemServer.run+3942) (BuildId: af01e101248500c65f3e95480ecb2123ed67584c)
04-14 21:48:40.610 1448 1448 F DEBUG : #22 pc 00000000004e13de /system/framework/oat/x86_64/services.odex (com.android.server.SystemServer.main+94) (BuildId: af01e101248500c65f3e95480ecb2123ed67584c)
04-14 21:48:40.610 1448 1448 F DEBUG : #23 pc 0000000000378826 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.610 1448 1448 F DEBUG : #24 pc 00000000003c538f /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+255) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.610 1448 1448 F DEBUG : #25 pc 00000000007f0794 /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1476) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.610 1448 1448 F DEBUG : #26 pc 000000000075a347 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+39) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.610 1448 1448 F DEBUG : #27 pc 00000000000a3ac0 /system/framework/x86_64/boot.oat (art_jni_trampoline+128) (BuildId: 5e29cbaed3df96b4a8070ab08ee6fe476e8b2f68)
04-14 21:48:40.610 1448 1448 F DEBUG : #28 pc 00000000007e6729 /system/framework/x86_64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+137) (BuildId: 63b3ed38148548440af780dc417f64c93d58b3d2)
04-14 21:48:40.611 1448 1448 F DEBUG : #29 pc 00000000007f0836 /system/framework/x86_64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2726) (BuildId: 63b3ed38148548440af780dc417f64c93d58b3d2)
04-14 21:48:40.611 1448 1448 F DEBUG : #30 pc 0000000000378826 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.611 1448 1448 F DEBUG : #31 pc 00000000003c538f /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+255) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.611 1448 1448 F DEBUG : #32 pc 00000000007f123f /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgsart::ArtMethod*(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, __va_list_tag*)+399) (BuildId: a7a886d3135380e4e95b120c89cfd3aa)
04-14 21:48:40.611 1448 1448 F DEBUG : #33 pc 00000000006a7e9c /apex/com.android.art/lib64/libart.so (art::JNIiptables-restore -h' or 'iptables-restore --help' for more information. 04-15 01:24:39.576 1233 1233 E IptablesRestoreController: ---------------------- 04-15 01:24:39.688 1233 1233 D Netd : ip6tables-restore process 1296 terminated status=512 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: iptables error: 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: ------- COMMAND ------- 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: *raw 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: :PREROUTING - 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: -F PREROUTING 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: :idletimer_raw_PREROUTING - 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: -A PREROUTING -j idletimer_raw_PREROUTING 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: :bw_raw_PREROUTING - 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: -A PREROUTING -j bw_raw_PREROUTING 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: :tetherctrl_raw_PREROUTING - 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: -A PREROUTING -j tetherctrl_raw_PREROUTING 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: COMMIT 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: ------- ERROR ------- 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: ip6tables-restore v1.8.7 (legacy): ip6tables-restore: unable to initialize table 'raw' 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: Error occurred at line: 1 04-15 01:24:39.688 1233 1233 E IptablesRestoreController: Try
ip6tables-restore -h' or 'ip6tables-restore --help' for more information.
##############################################################################################
另外,我想提的是,在我build redroid14 image的过程中,有两个编译错误,但是我通过如下的方式解决了,但是我不确定我的解决方案会不会导致当前的问题?
- swiftshader编译出错,查了一下swiftshader的源代码,看起来是因为新版本的third_party/SPIRV-Tools/Android.bp文件中的genrule改了,cmd那一行从cmd: "$(location) $$(dirname $(location CHANGES)) " + 改成了cmd: "$(location) $(location CHANGES) " , 所以导致update_build_version.py在运行是把/src/external/swiftshader/third_party/SPIRV-Tools/CHANGES 当成了一个目录,所以报错。另外,新版本的update_build_version.py在运行git 获取swiftshader/third_party/SPIRV-Tools 版本号是会发生和regex match不上的问题,所以我把android13的update_build_version.py 拷贝到了我的source code 目录中覆盖了android14的新版本的update_build_version.py, 然后编译通过。
[ 58% 85006/146168] //external/swiftshader/third_party/SPIRV-Tools:swiftshader_spvtools_update_build_version generate build-version.inc [17:57:38][ERROR ] Failed to run "['git', 'tag', '--sort=-v:refname']" in "/src/external/swiftshader/third_party/SPIRV-Tools/CHANGES": [Errno 20] Not a directory: '/src/external/swiftshader/third_party/SPIRV -Tools/CHANGES' [17:57:38][WARNING ] Could not deduce latest release version from history. [17:57:38][ERROR ] Failed to run "['git', 'describe']" in "/src/external/swiftshader/third_party/SPIRV-Tools/CHANGES": [Errno 20] Not a directory: '/src/external/swiftshader/third_party/SPIRV-Tools/CHANGES' [17:57:38][ERROR ] Failed to run "['git', 'rev-parse', 'HEAD']" in "/src/external/swiftshader/third_party/SPIRV-Tools/CHANGES": [Errno 20] Not a directory: '/src/external/swiftshader/third_party/SPIRV-Tools/CHANGES'
genrule { // FIXME this relies on git
which is no good on build machines
name: "swiftshader_spvtools_update_build_version",
out: ["build-version.inc"],
srcs: ["CHANGES"],
tool_files: ["utils/update_build_version.py"],
cmd: "$(location) $(location CHANGES) " +
"$(location build-version.inc)",
}
- 第二个编译问题是,soong会报vendor/gapps/arm64/Android.bp:unrecognized property "preprocessed", 我查了一下android13对应的文件并没有"preprocessed: true" 这一行,所以我把这一行去掉了,然后编译通过。
[ 97% 406/415] converting Android.bp files to BUILD files at out/soong/bp2build FAILED: out/soong/bp2build_files_marker cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" --bp2build_marker out/soong/bp2build_files_marker --globListDir bp2build_files --globFile out/soong/globs-bp2build_files.ninja -t -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.bp2build_files Android.bp error: vendor/gapps/arm64/Android.bp:15:14: unrecognized property "preprocessed" error: vendor/gapps/arm/Android.bp:15:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:28:14: unrecognized property "preprocessed" error: vendor/gapps/arm/Android.bp:28:14: unrecognized property "preprocessed" error: vendor/gapps/arm/Android.bp:41:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:41:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:53:14: unrecognized property "preprocessed" error: vendor/gapps/arm/Android.bp:53:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:65:14: unrecognized property "preprocessed" error: vendor/gapps/arm/Android.bp:65:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:77:14: unrecognized property "preprocessed" error: vendor/gapps/arm/Android.bp:79:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:91:14: unrecognized property "preprocessed" error: vendor/gapps/arm64/Android.bp:105:14: unrecognized property "preprocessed" 15:36:25 soong bootstrap failed with: exit status 1 redroid14-nb-logs.zip