fast4x / RiMusic

A multilingual Android application for streaming music from YouTube Music.
https://rimusic.xyz
GNU General Public License v3.0
2.02k stars 102 forks source link

app won't open #3186

Closed jisu-usij closed 1 month ago

jisu-usij commented 1 month ago

Steps to reproduce the bug

Tap the icon to open the app

Expected behavior

RiMusic should open

Actual behavior

The app tried to open but immediately closes itself

Screenshots/Screen recordings

No response

Logs

No response

RiMusic version

0.6.47

Android version

Android 14

Additional information

No response

fast4x commented 1 month ago

Have you a custom android os?

jisu-usij commented 1 month ago

I'm not sure. I didn't install a separate OS. I'm just using Android 14 which came installed on my Samsung phone.

The app was working fine on 0.6.46, but as soon as I updated to 0.6.47, the app stopped opening.

twistios commented 1 month ago

I probably have the same issue. The app crashes directly after clicking the app. It started directly after updating to 0.6.47.

Stack trace

```` FATAL EXCEPTION: main Process: it.fast4x.rimusic, PID: 21921 java.lang.IllegalArgumentException: Key "eU0gzQM5n2Q" was already used. If you are using LazyColumn/Row please make sure you provide a unique key for each item. at G0.C.H(SourceFile:151) at E.T.a(SourceFile:34) at C.m.b(SourceFile:21) at d8.d.l0(SourceFile:25) at C.n.g(SourceFile:592) at A6.Y.g(SourceFile:758) at G0.E.g(SourceFile:74) at I0.u.a(SourceFile:38) at q0.Y.i(SourceFile:1) at I0.A.a(SourceFile:15) at B0.b.a(SourceFile:363) at e1.c.y(SourceFile:56) at h0.t.a(SourceFile:52) at h0.u.c(SourceFile:140) at I0.m0.a(SourceFile:3) at I0.K.s0(SourceFile:133) at I0.F.N(SourceFile:17) at I0.F.O(SourceFile:18) at I0.T.c(SourceFile:8) at I0.T.m(SourceFile:138) at I0.T.g(SourceFile:94) at I0.T.g(SourceFile:106) at I0.T.g(SourceFile:106) at I0.T.g(SourceFile:106) at I0.T.g(SourceFile:106) at I0.T.f(SourceFile:44) at I0.K.s0(SourceFile:60) at I0.K.a(SourceFile:91) at I6.O.g(SourceFile:962) at G0.E.g(SourceFile:74) at I0.u.a(SourceFile:38) at B0.b.a(SourceFile:363) at e1.c.y(SourceFile:114) at h0.t.a(SourceFile:52) at h0.u.c(SourceFile:140) at I0.m0.a(SourceFile:3) at I0.K.s0(SourceFile:133) at I0.F.N(SourceFile:17) at I0.F.O(SourceFile:18) at I0.T.c(SourceFile:8) at I0.T.m(SourceFile:138) at I0.T.j(SourceFile:90) at J0.w.v(SourceFile:36) at J0.w.dispatchDraw(SourceFile:17) at android.view.View.draw(View.java:25180) at android.view.View.updateDisplayListIfDirty(View.java:24036) at android.view.View.draw(View.java:24907) at android.view.ViewGroup.drawChild(ViewGroup.java:4780) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) at android.view.View.updateDisplayListIfDirty(View.java:24022) at android.view.View.draw(View.java:24907) at android.view.ViewGroup.drawChild(ViewGroup.java:4780) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) at android.view.View.updateDisplayListIfDirty(View.java:24022) at android.view.View.draw(View.java:24907) at android.view.ViewGroup.drawChild(ViewGroup.java:4780) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) at android.view.View.updateDisplayListIfDirty(View.java:24022) at android.view.View.draw(View.java:24907) at android.view.ViewGroup.drawChild(ViewGroup.java:4780) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) at android.view.View.updateDisplayListIfDirty(View.java:24022) at android.view.View.draw(View.java:24907) at android.view.ViewGroup.drawChild(ViewGroup.java:4780) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) at android.view.View.updateDisplayListIfDirty(View.java:24022) at android.view.View.draw(View.java:24907) at android.view.ViewGroup.drawChild(ViewGroup.java:4780) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) at com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:1179) at android.view.View.draw(View.java:25180) at com.android.internal.policy.DecorView.draw(DecorView.java:1161) at android.view.View.updateDisplayListIfDirty(View.java:24036) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:872) at android.view.ViewRootImpl.draw(ViewRootImpl.java:6051) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5706) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4795) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3288) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11344) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1689) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1698) at android.view.Choreographer.doCallbacks(Choreographer.java:1153) at android.view.Choreographer.doFrame(Choreographer.java:1079) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1646) at android.os.Handler.handleCallback(Handler.java:958) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:230) at android.os.Looper.loop(Looper.java:319) at android.app.ActivityThread.main(ActivityThread.java:8919) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103) ````

twistios commented 1 month ago

I assume the issue has something to do with downloaded songs. I tested 0.6.47 in debug mode with an old backup of my main app (the debug app does not have offline songs) and there was no problem.

fast4x commented 1 month ago

Change controls type to essential in settings please

fast4x commented 1 month ago

Please download and try custom version, send feedback please.

https://github.com/fast4x/RiMusic/tree/master/customVersion

twistios commented 1 month ago

Changing Controls in settings is not possible as it won't open. In custom version I get the exact same error even with same key mentioned.

https://github.com/user-attachments/assets/02704aaf-8ee2-4ef0-8221-36ea967cbebc

jisu-usij commented 1 month ago

The custom version behaves the same way as 0.6.47. My app behaves like what is shown in twistio's video recording. The app tries to open but then immediately closes/crashes without actually opening.

I am unable to change the control type to essential because the app does not open.

fast4x commented 1 month ago

I need the crash log that is located in the folder data/it.fast4x....rimusic/files/logs/ on your phone.

twistios commented 1 month ago

On my phone for example there is only a "downloads" folder in the rimusic folder.

twistios commented 1 month ago

Here is a partial manual translation of the stack trace (where possible with source code and decompiled). If I have time and want to continue, I will update this comment.

at G0.C.H(SourceFile:151) https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt;l=474-476;drc=f09c9af9919d4cc61dd1afb2fd52ba9dd90f979a throw new IllegalArgumentException(("Key \"" + obj + "\" was already used. If you are using LazyColumn/Row please make sure you provide a unique key for each item.").toString());

at E.T.a(SourceFile:34) List H8 = this.f4139t.H(a9, this.f4138s.a(a9, i3, p9.d(i3)));

at C.m.b(SourceFile:21) List a10 = this.f2876b.a(j9, i3);

at d8.d.l0(SourceFile:25) I assume here: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListMeasure.kt decompiling failed

at C.n.g(SourceFile:592) here (I guess): https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyList.kt;l=345;drc=88461a963819511ee65cca1eb45fcddbbe719fbc p l02 = d8.d.l0(i13, mVar, i14, i9, i12, Q10, h11, k9, f11, G8, z11, list3, interfaceC0093h2, interfaceC0091f2, z12, t9, a10.f2810n, i15, f10, z8, t9.f4139t.v(), a10.f2800c, interfaceC3351A, a10.f2818v, f12, new l(t9, j9, i11, i10, 0));

at A6.Y.g(SourceFile:758) could not find code location in decompiled file

fast4x commented 1 month ago

You remember what's the last page before crash? Quick pics? Songs?

twistios commented 1 month ago

I assume songs.

jisu-usij commented 1 month ago

I updated to 0.6.47.1, but the app is still crashing immediately when trying to open it.

I tried to find the logs folder but I only have a downloads folder in data\it.fast4x.rimusic\files.

Looks like @twistios is still having issues in 0.6.47.1, too (#3201).

fast4x commented 1 month ago

Try new custom version please https://github.com/fast4x/RiMusic/tree/master/customVersion

jisu-usij commented 1 month ago

It works! The app opens now without crashing. Thank you!

fast4x commented 1 month ago

Wow amazing thanks for feedback

twistios commented 1 month ago

It also works for me. The weird thing only is that I now have 7k songs in my "all" songs list even if it should be only ~2k.

jisu-usij commented 1 month ago

It also works for me. The weird thing only is that I now have 7k songs in my "all" songs list even if it should be only ~2k.

Does toggling the "eye" icon make the app only show ~2k songs? scr

twistios commented 1 month ago

With eye it is 11k.

jisu-usij commented 1 month ago

hmm then I don't know why it's showing so many songs for you :(

twistios commented 1 month ago

I assume it counts some songs multiple times, but I have not checked that yet.

fast4x commented 1 month ago

It show only listen songs and all saved songs. Saved by RiMusic...

DRASHUJANGIR commented 1 month ago

T

fast4x commented 1 month ago

T

what?