ViMusic
ViMusic copied to clipboard
App Crashes When Minimizing (possibly related to long playlists)
Steps to reproduce the bug
On Android 13, GrapheneOS, Pixel 5
When playing music from a public playlist with over 1400 songs, which has been imported to the app's library, the app will crash when switching apps or pressing circle button.
I have replicated this with other non-imported public playlists from Youtube. This only seems to happen with very long playlists, with about 1000 songs.
The same issue happens regardless how high I set the storage cache settings, nor is it connected to any of the player settings such as: •persistent queue •skip silence •loudness normalization •equalizer on/off •invincible service
As far as Android permissions settings, I have allowed it Unrestricted battery access and have disabled "Pause app activity if unused: Remove permissions, delete temporary files, and stop notifications". I think this last setting might be specific to GrapheneOS.
Expected behavior
App should keep playing in background when switching to other apps, or pressing the home button, or locking the screen with the phone's power button. This is how the previous version worked (ViMusic 0.4.3)
Actual behavior
App goes silent. Sometimes a warning appears that says "ViMusic keeps crashing"
Screenshots/Screen recordings
No response
Logs
This is the output of the error message popup when I press "info".
type: crash
osVersion: google/redfin/redfin:13/TP1A.221005.002/2022100300:user/release-keys
package: it.vfsfitvnm.vimusic:16
process: it.vfsfitvnm.vimusic
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 818312 bytes
at android.app.ActivityClient.activityStopped(ActivityClient.java:88)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:143)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7904)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ExecInit.main(ExecInit.java:49)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: android.os.TransactionTooLargeException: data parcel size 818312 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:584)
at android.app.IActivityClientController$Stub$Proxy.activityStopped(IActivityClientController.java:1248)
at android.app.ActivityClient.activityStopped(ActivityClient.java:85)
... 11 more
And here is the output of adb logcat
after i ran it through grep "it.vfsfitvnm.vimusic"
. I hope this provides all the useful information without somehow exposing any personal data. I've never used adb before; I don't know if there is a better way to do this.
adb_logcat_grep_it.vfsfitvnm.vimusic.txt
ViMusic version
0.5.0
Android version
Android 13 with GrapheneOS on Pixel 5
Additional information
No response
Can't reproduce. Would share a screen record and the playlist url?
My playlist: https://www.youtube.com/playlist?list=PLnC36G-8x91YXZIJ0WnpCsu_Gx8bLwwOF
You can also try searching for "1000 songs". Any playlist approaching ~900 songs will do it. I'm not sure where the cutoff point is. Did the logs help at all?
https://user-images.githubusercontent.com/88149675/195158351-27dfc8a0-7afe-48f7-b3e5-0ddf74a030dd.mp4
Yup! I can reproduce now. It only occurs on A13. Not sure where it's coming from, thought...
Yeah, I think I found the cause. I bet it didn't happen in 0.4.3
correct, I actually started using ViMusic just 2 days before this update 🤣
If you don't want that to happen, you need to leave (go back from) the screen which contains a lot of songs. I will find a solution soon.
If you don't want that to happen, you need to leave (go back from) the screen which contains a lot of songs. I will find a solution soon.
Hey! That does work as a temporary solution! Thank you!
i am running Android 12 and I have 1000+ songs in my favourites and the same exact thing is happening to me 🤣
@hasseltuff Yeah, I apologize for that. Fortunately there's a workaround. The fix should arrive soon (maybe tomorrow)