build asan android chromium and launch

696 views
Skip to first unread message

u areu

unread,
Dec 21, 2023, 11:51:29 AM12/21/23
to Chromium-dev
Hi, I want to build a asan chromium on android pixel 8 pro.
my gn is 
```
is_debug = false
is_asan=true
target_os = "android"
target_cpu = "arm64"
dcheck_is_configurable=false
dcheck_always_on=false
```
when I installed and try to launch, but can't launch. 
logcat info : 
```
12-21 14:23:52.907 22390 22390 W ziparchive: Unable to open '/data/app/~~7WDCIxr8iEar22uIdCEZYQ==/org.chromium.chrome-TF_80Sy6Yw4f4nFtUVYlEw==/base.dm': No such file or directory
12-21 14:23:52.907 22390 22390 W ziparchive: Unable to open '/data/app/~~7WDCIxr8iEar22uIdCEZYQ==/org.chromium.chrome-TF_80Sy6Yw4f4nFtUVYlEw==/base.dm': No such file or directory
12-21 14:23:52.968 22390 22390 D nativeloader: Configuring clns-6 for other apk /data/app/~~7WDCIxr8iEar22uIdCEZYQ==/org.chromium.chrome-TF_80Sy6Yw4f4nFtUVYlEw==/base.apk. target_sdk_version=31, uses_libraries=, library_path=/data/app/~~7WDCIxr8iEar22uIdCEZYQ==/org.chromium.chrome-TF_80Sy6Yw4f4nFtUVYlEw==/lib/arm64:/data/app/~~7WDCIxr8iEar22uIdCEZYQ==/org.chromium.chrome-TF_80Sy6Yw4f4nFtUVYlEw==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/org.chromium.chrome
12-21 14:23:52.979 22390 22390 V GraphicsEnvironment: Currently set values for:
12-21 14:23:52.979 22390 22390 V GraphicsEnvironment: angle_gl_driver_selection_pkgs=[]
12-21 14:23:52.979 22390 22390 V GraphicsEnvironment: angle_gl_driver_selection_values=[]
12-21 14:23:52.980 22390 22390 V GraphicsEnvironment: ANGLE GameManagerService for org.chromium.chrome: false
12-21 14:23:52.980 22390 22390 V GraphicsEnvironment: org.chromium.chrome is not listed in per-application setting
12-21 14:23:52.980 22390 22390 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported.
12-21 14:23:52.988 22390 22390 I cr_SplitCompatApp: Launched version=96.0.4664.45 minSdkVersion=23 isBundle=false processName=org.chromium.chrome isIsolated=false
12-21 14:23:53.028 22390 22390 E cr_Flags: Enter Safe Mode for CachedFlags, crash streak is 23.
12-21 14:23:53.044 22390 22390 W chromium.chrome: Accessing hidden method Landroid/os/Trace;->isTagEnabled(J)Z (unsupported, reflection, allowed)
12-21 14:23:53.044 22390 22390 W chromium.chrome: Accessing hidden method Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V (unsupported, reflection, allowed)
12-21 14:23:53.044 22390 22390 W chromium.chrome: Accessing hidden method Landroid/os/Trace;->traceEnd(J)V (unsupported, reflection, allowed)
12-21 14:23:53.044 22390 22390 W chromium.chrome: Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (unsupported, reflection, allowed)
12-21 14:23:53.044 22390 22390 W chromium.chrome: Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (unsupported, reflection, allowed)
12-21 14:23:53.048 22390 22390 W FirebaseApp: Default FirebaseApp failed to initialize because no default options were found. This usually means that com.google.gms:google-services was not applied to your gradle project.
12-21 14:23:53.048 22390 22390 I FirebaseInitProvider: FirebaseApp initialization unsuccessful
12-21 14:23:53.065 22390 22417 E AndroidRuntime: FATAL EXCEPTION: Thread-2
12-21 14:23:53.065 22390 22417 E AndroidRuntime: Process: org.chromium.chrome, PID: 22390
12-21 14:23:53.065 22390 22417 E AndroidRuntime: org.chromium.base.library_loader.ProcessInitException: errorCode=2
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at org.chromium.base.library_loader.LibraryLoader.loadMainDexAlreadyLocked(LibraryLoader.java:858)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at org.chromium.base.library_loader.LibraryLoader.ensureMainDexInitialized(LibraryLoader.java:614)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at org.chromium.chrome.browser.ChromeApplicationImpl.lambda$onCreate$0(ChromeApplicationImpl.java:62)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at org.chromium.chrome.browser.ChromeApplicationImpl$$InternalSyntheticLambda$0$89b6e98727294a3711a836917f6e63a9a6e32cf35b674270255aa07699bf20f5$0.run(ChromeApplicationImpl.java:0)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1012)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libclang_rt.asan-aarch64-android.so" not found: needed by /data/app/~~7WDCIxr8iEar22uIdCEZYQ==/org.chromium.chrome-TF_80Sy6Yw4f4nFtUVYlEw==/lib/arm64/libc++_chrome.so in namespace clns-6
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1661)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at org.chromium.base.library_loader.LibraryLoader.loadWithSystemLinkerAlreadyLocked(LibraryLoader.java:809)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: at org.chromium.base.library_loader.LibraryLoader.loadMainDexAlreadyLocked(LibraryLoader.java:850)
12-21 14:23:53.065 22390 22417 E AndroidRuntime: ... 3 more
12-21 14:23:53.154 22390 22417 I cr_LogcatExtraction: Trying to extract logcat for minidump chromium-browser-minidump-2f21978baa7b451d.dmp.
12-21 14:23:53.201 22390 22418 I cr_MDUploadCallable: Minidump upload is not permitted by user. Marking file as skipped for cleanup to prevent future uploads.
12-21 14:23:54.816 22390 22417 I cr_LogcatExtraction: Succeeded extracting logcat to chromium-browser-minidump-2f21978baa7b451d.dmp.try0.
12-21 14:23:54.820  1649  3199 W ActivityManager: Background start not allowed: service Intent { act=com.google.android.apps.chrome.crash.ACTION_UPLOAD cmp=org.chromium.chrome/.browser.crash.MinidumpUploadService (has extras) } to org.chromium.chrome/.browser.crash.MinidumpUploadService from pid=22390 uid=10290 pkg=org.chromium.chrome startFg?=false
```

Aquibuzzaman Md. Sayem

unread,
Dec 22, 2023, 6:44:41 AM12/22/23
to Chromium-dev, u areu
Have you prepared your device? You also need to setup device for asan. You can follow this document:

u areu

unread,
Feb 14, 2024, 9:11:53 AM2/14/24
to Chromium-dev, Aquibuzzaman Md. Sayem, u areu

➜  src git:(main) tools/android/asan/third_party/asan_device_setup.sh \
    --lib third_party/android_toolchain/ndk/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/*/lib/linux
>> Remounting /system rw
Successfully disabled verity
Using overlayfs for /system
Using overlayfs for /system
Using overlayfs for /system_dlkm
Using overlayfs for /system_ext
Using overlayfs for /product
Using overlayfs for /vendor
Using overlayfs for /vendor_dlkm
Verity disabled; overlayfs enabled.
Now reboot your device for settings to take effect
Target architecture: arm
Target architecture: aarch64
>> ASan runtime library not found

Hi, it seems I can setup device, but ">> ASan runtime library not found", why, how should I do ?
Reply all
Reply to author
Forward
0 new messages