ReVanced / revanced-manager

💊 Application to use ReVanced on Android
https://revanced.app
GNU General Public License v3.0
16.84k stars 715 forks source link

bug: Shortened log cuts off exceptions #1678

Open oSumAtrIX opened 5 months ago

oSumAtrIX commented 5 months ago

Bug description

An example where a patch throws an exception is https://github.com/ReVanced/revanced-manager/issues/1677#issuecomment-1925731606

The exception is not being shown in the log

Version of ReVanced Manager and version & name of application you tried to patch

1.18.0

Installation type

None

Device logs

- Device Info
ReVanced Manager: 1.18.0
Model: LM-V600
Android version: 11
Supported architectures: arm64-v8a, armeabi-v7a, armeabi
Root permissions: Yes

- Patch Info
App: com.google.android.youtube v19.03.35 (Suggested: v19.03.35)
Patches version: v4.0.2
Patches added: Default
Patches removed: None
Default patch options changed: None

- Settings
Allow changing patch selection: false
Version compatibility check: true
Show universal patches: false
Patches source: revanced/revanced-patches
Integration source: revanced/revanced-integrations

- Logs
Copying APK
Reading APK
Decoding app manifest
Loading patches
Merging integrations
Deleting existing resource cache directory
Decoding resources
Executing patches
Applied 61 patches
Compiling patched dex files
Compiled 8 dex files
Compiling modified resources
An error occurred:
brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/data/app/~~PiIGXV90_xKxJSYNWTHJsw==/app.revanced.manager.flutter-L_4g6daUOviT6kXVbbwKuA==/lib/arm64/libaapt2.so, link, -o, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/aapt_temp_file, --package-id, 127, --min-sdk-version, 26, --target-sdk-version, 34, --version-code, 1544019392, --version-name, 19.03.35, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --allow-reserved-package-id, -e, /data/user/0/app.revanced.manager.flutter/cache/APKTOOL4385795832747142308.tmp, -0, arsc, -I, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/1.apk, --manifest, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/AndroidManifest.xml, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/build/resources.zip]
    at brut.androlib.AaptInvoker.invokeAapt2(AaptInvoker.java:246)
    at brut.androlib.AaptInvoker.invokeAapt(AaptInvoker.java:391)
    at app.revanced.patcher.data.ResourceContext.get(ResourceContext.kt:128)
    at app.revanced.patcher.Patcher.get(Patcher.kt:265)
    at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$36(MainActivity.kt:371)
    at app.revanced.manager.flutter.MainActivity.$r8$lambda$wwTqh4bVDMuwAT_qXBREk8gLHGU(Unknown Source:0)
    at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda5.run(Unknown Source:24)
    at java.lang.Thread.run(Thread.java:923)
Caused by: brut.common.BrutException: could not exec (exit code = 1): [/data/app/~~PiIGXV90_xKxJSYNWTHJsw==/app.revanced.manager.flutter-L_4g6daUOviT6kXVbbwKuA==/lib/arm64/libaapt2.so, link, -o, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/aapt_temp_file, --package-id, 127, --min-sdk-version, 26, --target-sdk-version, 34, --version-code, 1544019392, --version-name, 19.03.35, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --allow-reserved-package-id, -e, /data/user/0/app.revanced.manager.flutter/cache/APKTOOL4385795832747142308.tmp, -0, arsc, -I, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/1.apk, --manifest, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/AndroidManifest.xml, /data/user/0/app.revanced.manager.flutter/cache/patcher/tmp-WSADEK/cache/build/resources.zip]
    at brut.util.OS.exec(OS.java:104)
    at brut.androlib.AaptInvoker.invokeAapt2(AaptInvoker.java:242)
    ... 7 more

Patcher logs

No response

Acknowledgements

Ushie commented 5 months ago

Relevant line:

https://github.com/ReVanced/revanced-manager/blob/dev/android/app/src/main/kotlin/app/revanced/manager/flutter/MainActivity.kt#L409

oSumAtrIX commented 5 months ago

The exception occurs at a patch not at the end

Ushie commented 5 months ago

Not the one provided in the example.

A patch failing and throwing would look like this:

Generic Patch failed: stacktrace
oSumAtrIX commented 5 months ago

From what I have seen is that the log cuts off exceptions caused by patches. In the example above, the user was likely patching a split APK which is missing resources that patches work on, so the patches throw an exception stating that its missing.

Ushie commented 5 months ago

That's weird, why would all the patches apply successfully then? it's only until it gets to the compilation steps (which is past the patches part) that it fails

oSumAtrIX commented 5 months ago

The issue is that they didn't but the log claims so.