JingMatrix / LSPosed

LSPosed Framework resuscitated
https://lsposed.org
GNU General Public License v3.0
1.52k stars 41 forks source link

Binary dex2oat64 failed due to linker error #28

Closed hyne-shan closed 1 month ago

hyne-shan commented 1 month ago

Steps to reproduce/复现步骤

I found that dex2oat64 failed

adb shell pm art dexopt-packages -r bg-dexopt adb shell logcat | grep dex2oat

Log display: F linker : CANNOT LINK EXECUTABLE "/apex/com.android.art/bin/dex2oat64": library "libartpalette.so" not found: needed by main executable

When I disabled lsposed, it returned to normal

Expected behaviour/预期行为

dex2oat64 normal

Actual behaviour/实际行为

dex2oat64 fail

Xposed Module List/Xposed 模块列表

none

Magisk Module List/Magisk 模块列表

shamiko 
lsposed

LSPosed version/LSPosed 版本

v1.10.0

Android version/Android 版本

15

Magisk version/Magisk 版本

270007

Riru version/Riru 版本

N/A

Version requirement/版本要求

Logs/日志

F linker : CANNOT LINK EXECUTABLE "/apex/com.android.art/bin/dex2oat64": library "libartpalette.so" not found: needed by main executable

JingMatrix commented 1 month ago

If you disable LSPosed, are you able to run dex2oat? Linked to #1, can be stably reproduced when 're-optimize' an app.

privacyguy123 commented 1 month ago

Seems latest CI build introduces a regression here - I didn't used to see this error. I am on Android 13

Screenshot_20240916_121150_Shell

You are using some new dex2oat binary from A15 expecting symbols my device does not have?

Screenshot_20240916_121554_Shell

JingMatrix commented 1 month ago

@privacyguy123 Please use the following command to record logs while the optimization failed:

adb logcat -s AndroidRuntime LSPatch LSPosed LSPatch-MetaLoader LSPatch-SigBypass LSPosed-Bridge LSPlant LSPosedContext zygisk64 LSPlt Dobby LSPosedService '*:F'
privacyguy123 commented 1 month ago

@privacyguy123 Please use the following command to record logs while the optimization failed:

adb logcat -s AndroidRuntime LSPatch LSPosed LSPatch-MetaLoader LSPatch-SigBypass LSPosed-Bridge LSPlant LSPosedContext zygisk64 LSPlt Dobby LSPosedService '*:F'

I can fix it by downgrading to "strip_log" branch version 7089 - this error was on latest CI 7095. I will get back to you with logs.

JingMatrix commented 1 month ago

Sorry, I made a wrong command, I want your logs with

adb logcat -s AndroidRuntime LSPatch LSPosed LSPatch-MetaLoader LSPatch-SigBypass LSPosed-Bridge LSPlant LSPosedContext zygisk64 LSPlt Dobby LSPosedService '*:F' LSPosedDex2Oat
CyanChanges commented 1 month ago

Sorry, I made a wrong command, I want your logs with

adb logcat -s AndroidRuntime LSPatch LSPosed LSPatch-MetaLoader LSPatch-SigBypass LSPosed-Bridge LSPlant LSPosedContext zygisk64 LSPlt Dobby LSPosedService '*:F' LSPosedDex2Oat

Same issue here: lsposed-logcat.txt

JingMatrix commented 1 month ago

@CyanChanges Are you using the latest CI build?

If possible, could you please

  1. install Termux onto your phone https://github.com/termux/termux-app,
  2. install fd into your Termux using apt install fd
  3. run command sudo fd libartpalette.so / and tell me the result of it.

I need to know the location of the library libartpalette.so.

JingMatrix commented 1 month ago

Could you guys please test the CI build https://github.com/JingMatrix/LSPosed/actions/runs/10889112915 ?

It might solve this issue for device not running Android 15.

privacyguy123 commented 1 month ago

Could you guys please test the CI build https://github.com/JingMatrix/LSPosed/actions/runs/10889112915 ?

It might solve this issue for device not running Android 15.

This build doesn't fix it either. The log command you told me to output shows the same information I showed you in the screenshot above - the dex2oat binary in that build cannot find the correct symbol, build 7089 is fine. log.txt

JingMatrix commented 1 month ago

I see, I should then revert the fix for Android 15 for those who are not using Android 15.

But I still don't understand the case of @CyanChanges. Could you please upload your logs generated by LSPosed manager (not the adb command)?

privacyguy123 commented 1 month ago

I see, I should then revert the fix for Android 15 for those who are not using Android 15.

Yes, I think this is some new binary designed for A15.

JingMatrix commented 1 month ago

The fix seems no longer working for Android 15 QPR AP41.240823.009. I will simply revert the previous commits for the moment.