PurifyOS / xposed_art_n

ART module for a built-in enabled Xposed firmware based on AOSP 7
Other
10 stars 5 forks source link

Xposed libart.so is missing getOatFileCompilerFilter #3

Open F-i-f opened 7 years ago

F-i-f commented 7 years ago

This bug report was collected on: OnePlus 5, running OOS 4.5.10, with Xposed 87.3 and Magisk 14.0.

Every night my phone's system UI crashes. Here's the logcat when the system crashes:

09-18 01:20:48.888  5088 21781 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: BackgroundDexOptService_IdleOptimization
09-18 01:20:48.888  5088 21781 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String dalvik.system.DexFile.getOatFileCompilerFilter(java.l
ang.String, java.lang.String) (tried Java_dalvik_system_DexFile_getOatFileCompilerFilter and Java_dalvik_system_DexFile_getOatFileCompilerFilter__Ljava_lang_String_2Ljava_lang_Str
ing_2)
09-18 01:20:48.888  5088 21781 E AndroidRuntime:    at dalvik.system.DexFile.getOatFileCompilerFilter(Native Method)
09-18 01:20:48.888  5088 21781 E AndroidRuntime:    at com.android.server.pm.PackageDexOptimizer.getOatFileCompilerFilter(PackageDexOptimizer.java:167)
09-18 01:20:48.888  5088 21781 E AndroidRuntime:    at com.android.server.pm.PackageManagerService.getOatFileCompilerFilter(PackageManagerService.java:19876)
09-18 01:20:48.888  5088 21781 E AndroidRuntime:    at com.android.server.pm.BackgroundDexOptService$3.run(BackgroundDexOptService.java:373)
09-18 01:20:49.361  6598 21783 E AndroidRuntime: FATAL EXCEPTION: IntentService[DropBoxEntryAddedChimeraService]
09-18 01:20:49.361  6598 21783 E AndroidRuntime: Process: com.google.android.gms, PID: 6598
09-18 01:20:49.361  6598 21783 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-18 02:35:13.934 22269  1438 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: BackgroundDexOptService_IdleOptimization
09-18 02:35:13.934 22269  1438 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String dalvik.system.DexFile.getOatFileCompilerFilter(java.l
ang.String, java.lang.String) (tried Java_dalvik_system_DexFile_getOatFileCompilerFilter and Java_dalvik_system_DexFile_getOatFileCompilerFilter__Ljava_lang_String_2Ljava_lang_Str
ing_2)
09-18 02:35:13.934 22269  1438 E AndroidRuntime:    at dalvik.system.DexFile.getOatFileCompilerFilter(Native Method)
09-18 02:35:13.934 22269  1438 E AndroidRuntime:    at com.android.server.pm.PackageDexOptimizer.getOatFileCompilerFilter(PackageDexOptimizer.java:167)
09-18 02:35:13.934 22269  1438 E AndroidRuntime:    at com.android.server.pm.PackageManagerService.getOatFileCompilerFilter(PackageManagerService.java:19876)
09-18 02:35:13.934 22269  1438 E AndroidRuntime:    at com.android.server.pm.BackgroundDexOptService$3.run(BackgroundDexOptService.java:373)
09-18 03:49:12.392  1819 11995 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: BackgroundDexOptService_IdleOptimization
09-18 03:49:12.392  1819 11995 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String dalvik.system.DexFile.getOatFileCompilerFilter(java.l
ang.String, java.lang.String) (tried Java_dalvik_system_DexFile_getOatFileCompilerFilter and Java_dalvik_system_DexFile_getOatFileCompilerFilter__Ljava_lang_String_2Ljava_lang_Str
ing_2)
09-18 03:49:12.392  1819 11995 E AndroidRuntime:    at dalvik.system.DexFile.getOatFileCompilerFilter(Native Method)
09-18 03:49:12.392  1819 11995 E AndroidRuntime:    at com.android.server.pm.PackageDexOptimizer.getOatFileCompilerFilter(PackageDexOptimizer.java:167)
09-18 03:49:12.392  1819 11995 E AndroidRuntime:    at com.android.server.pm.PackageManagerService.getOatFileCompilerFilter(PackageManagerService.java:19876)
09-18 03:49:12.392  1819 11995 E AndroidRuntime:    at com.android.server.pm.BackgroundDexOptService$3.run(BackgroundDexOptService.java:373)
09-18 05:01:34.164 12353 21218 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: BackgroundDexOptService_IdleOptimization
09-18 05:01:34.164 12353 21218 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String dalvik.system.DexFile.getOatFileCompilerFilter(java.l
ang.String, java.lang.String) (tried Java_dalvik_system_DexFile_getOatFileCompilerFilter and Java_dalvik_system_DexFile_getOatFileCompilerFilter__Ljava_lang_String_2Ljava_lang_Str
ing_2)
09-18 05:01:34.164 12353 21218 E AndroidRuntime:    at dalvik.system.DexFile.getOatFileCompilerFilter(Native Method)
09-18 05:01:34.164 12353 21218 E AndroidRuntime:    at com.android.server.pm.PackageDexOptimizer.getOatFileCompilerFilter(PackageDexOptimizer.java:167)
09-18 05:01:34.164 12353 21218 E AndroidRuntime:    at com.android.server.pm.PackageManagerService.getOatFileCompilerFilter(PackageManagerService.java:19876)
09-18 05:01:34.164 12353 21218 E AndroidRuntime:    at com.android.server.pm.BackgroundDexOptService$3.run(BackgroundDexOptService.java:373)
09-18 05:01:34.550 14094 21219 E AndroidRuntime: FATAL EXCEPTION: IntentService[DropBoxEntryAddedChimeraService]
09-18 05:01:34.550 14094 21219 E AndroidRuntime: Process: com.google.android.gms, PID: 14094
09-18 05:01:34.550 14094 21219 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-18 05:01:34.561 17084 17084 E AndroidRuntime: FATAL EXCEPTION: main
09-18 05:01:34.561 17084 17084 E AndroidRuntime: Process: com.cliffcawley.calendarnotify, PID: 17084
09-18 05:01:34.561 17084 17084 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
--------- beginning of system

This function is referenced from /system/framework/arm/boot-core-libart.oat.

It's provided by the non-Xposed art:

# grep -r getOatFileCompilerFilter /dev/magisk/mirror/system/lib*/libart*
/dev/magisk/mirror/system/lib/libart.so:getOatFileCompilerFilter
/dev/magisk/mirror/system/lib/libart.so:getOatFileCompilerFilter for 
/dev/magisk/mirror/system/lib/libart.so:getOatFileCompilerFilter can't get Oat file for 
/dev/magisk/mirror/system/lib/libart.so:_ZN3artL32DexFile_getOatFileCompilerFilterEP7_JNIEnvP7_jclassP8_jstringS5_

/dev/magisk/mirror/system/lib64/libart.so:getOatFileCompilerFilter
/dev/magisk/mirror/system/lib64/libart.so:getOatFileCompilerFilter for 
/dev/magisk/mirror/system/lib64/libart.so:getOatFileCompilerFilter can't get Oat file for 
/dev/magisk/mirror/system/lib64/libart.so:_ZN3artL32DexFile_getOatFileCompilerFilterEP7_JNIEnvP7_jclassP8_jstringS5_

But it's not by the Xposed version of art:

# grep -r getOatFileCompilerFilter /system/lib*/libart*
(no results)
F-i-f commented 7 years ago

Wait, this seems to be a Dalvik change in OOS.