自己编译的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
by the way, I tried the same building procedure and docker run command with redroid13, it was successful. this issue happened on my redroid14 only.
How about the published redroid 14 image?
Never encounter the compile issues you mentioned above. Can you provide the manifest of your code base? (personally, I tested android-14.0.0_r{2,11,15,21})
How about the published redroid 14 image?
Never encounter the compile issues you mentioned above. Can you provide the manifest of your code base? (personally, I tested
android-14.0.0_r{2,11,15,21})
Hi, @zhouziyang ,感谢回复。 我试过published redroid14 image, 没有问题,在我的KVM VM 上可以运行。只有我自己编译的redroid 14 image有问题。可是我需要集成mindthegapps, 所以需要自己编译。顺便问一下,有没有需要自己编译的办法,把mindthegapps集成进published redroid14 image? 下面是我使用的manifest:
repo init -u https://github.com/remote-android/platform_manifests.git -b redroid-14.0.0_r2 --depth=1 --git-lfs
mkdir -p .repo/local_manifests
echo '<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="mtg" fetch="https://gitlab.com/MindTheGapps/" />
<project path="vendor/gapps" name="vendor_gapps" revision="upsilon" remote="mtg" />
</manifest>
' > .repo/local_manifests/mindthegapps.xml
echo '$(call inherit-product, vendor/gapps/x86_64/x86_64-vendor.mk)' >> device/redroid/redroid_x86_64/device.mk
echo "BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true" >> device/redroid/redroid_x86_64/BoardConfig.mk
repo sync -c --no-tags
repo forall -g lfs -c 'git lfs pull'
remote-android/platform_manifests is deprecated, please try apply redroid patches manually.
Make sure self compiled redroid image works as expected, then try integrate MindTheGapps.
@zhouziyang I can reproduce the issue for Android 14, using upsilon and the local_manifests, following the docs here:
[ 93% 27/29] 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/common/Android.bp:14:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:26:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:38:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:50:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:63:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:76:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:89:14: unrecognized property "preprocessed"
error: vendor/gapps/x86/Android.bp:32:14: unrecognized property "preprocessed"
error: vendor/gapps/x86/Android.bp:45:14: unrecognized property "preprocessed"
error: vendor/gapps/x86/Android.bp:58:14: unrecognized property "preprocessed"
error: vendor/gapps/x86/Android.bp:72:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:109:14: unrecognized property "preprocessed"
error: vendor/gapps/common/Android.bp:122:14: unrecognized property "preprocessed"
error: vendor/gapps/x86_64/Android.bp:36:14: unrecognized property "preprocessed"
error: vendor/gapps/x86_64/Android.bp:49:14: unrecognized property "preprocessed"
error: vendor/gapps/x86_64/Android.bp:62:14: unrecognized property "preprocessed"
error: vendor/gapps/x86_64/Android.bp:76:14: unrecognized property "preprocessed"
error: vendor/gapps/arm/Android.bp:32:14: unrecognized property "preprocessed"
error: vendor/gapps/arm/Android.bp:45:14: unrecognized property "preprocessed"
error: vendor/gapps/arm/Android.bp:58:14: unrecognized property "preprocessed"
error: vendor/gapps/arm/Android.bp:70:14: unrecognized property "preprocessed"
error: vendor/gapps/arm/Android.bp:82:14: unrecognized property "preprocessed"
error: vendor/gapps/arm/Android.bp:96:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:36:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:49:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:62:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:74:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:86:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:98:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:112:14: unrecognized property "preprocessed"
error: vendor/gapps/arm64/Android.bp:126:14: unrecognized property "preprocessed"
error: vendor/gapps/x86_64/Android.bp:85:1: module "prebuilt_libjni_latinimegoogle" already defined
vendor/gapps/x86_64/Android.bp:11:1 <-- previous definition here
error: vendor/gapps/arm64/Android.bp:135:1: module "prebuilt_libjni_latinimegoogle" already defined
vendor/gapps/arm64/Android.bp:11:1 <-- previous definition here
12:16:37 soong bootstrap failed with: exit status 1
这个问题后来解决了吗,遇到了类似的log @jimtangshfx