-
-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OoM error despite having enough memory when patching non-YouTube apps #193
Comments
There's little that can be done, this memory footprint is caused by dexlib. |
So it needs to be reported here? https://github.com/JesusFreke/smali I am not really confident in properly decribing the issue or even checking for a duplicate though. |
This comment was marked as spam.
This comment was marked as spam.
@JumperREDACTED Yes, that would be the correct place. |
What about this one? https://github.com/google/smali |
No difference in the source. |
What I mean is, wouldn't it be more convenient to ask on Google's fork instead of the upstream repository, which has not been mantained more than a year ago? |
Sure |
This:
Shows the memory limit is 256MB (1024 * 1024 * 256 = 268435456 bytes) I'm not sure how Manager invokes the patcher, but when launching Java thru command line the default max memory (-Xmx) is 256M If Manager is using a shell or some other strategy, this can be fixed by adding -Xmx and some appropriate memory limit (1024M should be enough). |
I am closing this issue as this is something that is rooted in a library that demands this amount of memory to work. Previously we used a different version of the library which did not show this symptom, so this is something that should be figured out in the library. In the meantime an option to use singlethreaded patching is provided to mitigate the issue. |
Patching large applications (e.g. TikTok) on Android with multithreading simply doesn't work on multicore devices where the amount of memory given to the manager (regardless of the system RAM) is not sufficient. It's more important that patching succeeds for all available use cases than for only some patching to succeed with faster performance. A UI option can be added later, but the multithreading option should be opt-out by default rather than opt-in. Closes ReVanced/revanced-documentation#35 Closes ReVanced#1454 Closes ReVanced#1571 Closes ReVanced#1595 Closes ReVanced#1659 Closes ReVanced#1661 Closes ReVanced#1684 Closes ReVanced#1759 Closes ReVanced#1802 Closes ReVanced#1817 Closes ReVanced/revanced-manager#2885 Closes ReVanced#592 Closes ReVanced/revanced-patcher#193 Closes ReVanced/revanced-patches#1533 Closes ReVanced/revanced-patches#1608 Closes ReVanced/revanced-patches#1613 Closes ReVanced/revanced-patches#1630 Closes ReVanced/revanced-patches#190 Closes ReVanced/revanced-patches#2511 Closes ReVanced/revanced-patches#525
Patching large applications (e.g. TikTok) on Android with multithreading simply doesn't work on multicore devices where the amount of memory given to the manager (regardless of the system RAM) is not sufficient. It's more important that patching succeeds for all available use cases than for only some patching to succeed with faster performance. A UI option can be added later, but the multithreading option should be opt-out by default rather than opt-in. Closes ReVanced/revanced-documentation#35 Closes ReVanced#1454 Closes ReVanced#1571 Closes ReVanced#1595 Closes ReVanced#1659 Closes ReVanced#1661 Closes ReVanced#1684 Closes ReVanced#1759 Closes ReVanced#1802 Closes ReVanced#1817 Closes ReVanced/revanced-patches#2885 Closes ReVanced#592 Closes ReVanced/revanced-patcher#193 Closes ReVanced/revanced-patches#1533 Closes ReVanced/revanced-patches#1608 Closes ReVanced/revanced-patches#1613 Closes ReVanced/revanced-patches#1630 Closes ReVanced/revanced-patches#190 Closes ReVanced/revanced-patches#2511 Closes ReVanced/revanced-patches#525
Patching large applications (e.g. TikTok) on Android with multithreading simply doesn't work on multicore devices where the amount of memory given to the manager (regardless of the system RAM) is not sufficient. It's more important that patching succeeds for all available use cases than for only some patching to succeed with faster performance. A UI option can be added later, but the multithreading option should be opt-out by default rather than opt-in. Closes ReVanced/revanced-documentation#35 Closes ReVanced#1454 Closes ReVanced#1571 Closes ReVanced#1595 Closes ReVanced#1659 Closes ReVanced#1661 Closes ReVanced#1684 Closes ReVanced#1759 Closes ReVanced#1802 Closes ReVanced#1817 Closes ReVanced/revanced-patches#2885 Closes ReVanced#592 Closes ReVanced/revanced-patcher#193 Closes ReVanced/revanced-patches#1533 Closes ReVanced/revanced-patches#1608 Closes ReVanced/revanced-patches#1613 Closes ReVanced/revanced-patches#1630 Closes ReVanced/revanced-patches#190 Closes ReVanced/revanced-patches#2511 Closes ReVanced/revanced-patches#525
Type
Crash
Bug description
I can patch the YouTube app just fine using ReVanced Manager.
When I try to patch other apps (tested Twitter and Twitch), I get an out of memory error.
According to a resource monitor app I installed, memory used never went over 1500MB (out of 4GB + 2GB memory extension) and I have 20GB+ free storage on both device and SD card.
Possibly a device-related issue for Redmi Note 11, since the only other person with the same issue in the Discord also had one.
The first time I encountered this issue was in early 2022 and I did try again every once in a while, so probably unrelated to specific versions.
Steps to reproduce
(0. Get a Redmi Note 11?)
Relevant log output
Screenshots or videos
No response
Solution
No response
Additional context
MANAGER LOG: https://gist.github.com/JumperREDACTED/6277f64631f818d93465014812cd7120
Redmi Note 11 (2201117TY)
Android 12 SKQ1.211103.001
MIUI Global 13.0.6 Stable 13.0.6.0(SGKEUXM)
(MIUI Optimizations disabled)
Manager 1.3.6
Twitch apk 15.4.1
Acknowledgements
The text was updated successfully, but these errors were encountered: