bug: Shortened log cuts off exceptions
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
- [X] This request is not a duplicate of an existing issue.
- [X] I have chosen an appropriate title.
- [X] All requested information has been provided properly.
- [X] The issue is solely related to the ReVanced Manager
Relevant line:
https://github.com/ReVanced/revanced-manager/blob/dev/android/app/src/main/kotlin/app/revanced/manager/flutter/MainActivity.kt#L409
The exception occurs at a patch not at the end
Not the one provided in the example.
A patch failing and throwing would look like this:
Generic Patch failed: stacktrace
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.
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
The issue is that they didn't but the log claims so.