Open twistios opened 2 weeks ago
Thanks for log, this crash occur when?
I don't remember anything specific, I think I clicked on a song in the list of songs, might be related to #2313 but I don't know. Also I think there where serval reasons and it did not crash at the same spot every time.
I just tested about #2313 and I also got Crashes serval times but I tried with the same song. When I just now retried with a song from the end of the Playlist (500) it did not crash.
It looks like I get Crashes in non-cached songs. The song on which it not crashed was cached.
Do you remember if song had the cover visible?
I just now again tested with another song which is also not cached that crashes and it had the cover loaded. I was curious and I tried a song that I never listened to and this one did not crash. So my current idea is that it happens on songs imported from ViMusic that are not yet cached.
Ok I think this problem could actually be the same as the "closes at song 500" #2277 . The Total list of songs is >1000. I imported it from ViMusic. When I click on Song 500, the playlist contains songs 1-500. When I click on the song 501 (song after 500) the app closes/crashes. The reason I found this our for me was that it now also crashes/closes on a cashed song.
I just tested what happens if maximal playlist size is increased to 1000 for example. Then the songs can be played as expected. I guess it then fails for 1001.
So in settings set max song in queue to 500. You can have 30000 songs but in queue will be added max 500. This is a memory full with up to 500 songs and your device crash.
But it does not crash with a queue size of 1000. Also why would it not be possible to automatically create a queue containing 500 songs that also includes the song to be played?
I am not 100% sure but I think that this was working in 0.6.38 or some earlier version (and definitely with ViMusic).
Because basically the user is free to choose the maximum length of the play queue.
But I can not be a memory issue if it is working with queue size 1000 and not with queue size 500.
And if queue size is set to 50 then it crashes/closes at song 51.
I am not talking about reaching the end of the playlist, it is about just starting of playing songs at Position >50/.../500/1000/...
This is a video with a queue length of 50.
https://github.com/fast4x/RiMusic/assets/54811436/5ed54c7f-00ff-4243-8b8e-106d613c15e0
Steps to reproduce the bug
I don't know what causes the crash, I just want to send the crash-log.
Expected behavior
No Crashes happening
Actual behavior
Crashes happen.
Screenshots/Screen recordings
No response
Logs
2024-06-12T22:49:21.517: java.lang.IllegalStateException: Recording currently in progress - missing #endRecording() call? android.graphics.RenderNode.beginRecording(RenderNode.java:446) android.graphics.RenderNode.beginRecording(RenderNode.java:465) m0.f.a(SourceFile:1) m0.g.t(SourceFile:5) m0.b.e(SourceFile:55) B0.K0.i(SourceFile:138) B0.z.dispatchDraw(SourceFile:102) android.view.View.draw(View.java:25180) android.view.View.updateDisplayListIfDirty(View.java:24036) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) android.view.View.updateDisplayListIfDirty(View.java:24022) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) android.view.View.updateDisplayListIfDirty(View.java:24022) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) android.view.View.updateDisplayListIfDirty(View.java:24022) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:1179) android.view.View.draw(View.java:25180) com.android.internal.policy.DecorView.draw(DecorView.java:1161) android.view.View.updateDisplayListIfDirty(View.java:24036) android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768) android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774) android.view.ThreadedRenderer.draw(ThreadedRenderer.java:872) android.view.ViewRootImpl.draw(ViewRootImpl.java:6051) android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5706) android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4795) android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3288) android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11344) android.view.Choreographer$CallbackRecord.run(Choreographer.java:1689) android.view.Choreographer$CallbackRecord.run(Choreographer.java:1698) android.view.Choreographer.doCallbacks(Choreographer.java:1153) android.view.Choreographer.doFrame(Choreographer.java:1079) android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1646) android.os.Handler.handleCallback(Handler.java:958) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loopOnce(Looper.java:230) android.os.Looper.loop(Looper.java:319) android.app.ActivityThread.main(ActivityThread.java:8919) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2024-06-15T18:22:10.666: java.lang.IllegalStateException: Recording currently in progress - missing #endRecording() call? android.graphics.RenderNode.beginRecording(RenderNode.java:446) android.graphics.RenderNode.beginRecording(RenderNode.java:465) l2.D.b(SourceFile:1) n0.g.E(SourceFile:5) n0.b.e(SourceFile:55) C0.H0.j(SourceFile:138) C0.z.dispatchDraw(SourceFile:102) android.view.View.draw(View.java:25180) android.view.View.updateDisplayListIfDirty(View.java:24036) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) android.view.View.updateDisplayListIfDirty(View.java:24022) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) android.view.View.updateDisplayListIfDirty(View.java:24022) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) android.view.View.updateDisplayListIfDirty(View.java:24022) android.view.View.draw(View.java:24907) android.view.ViewGroup.drawChild(ViewGroup.java:4780) android.view.ViewGroup.dispatchDraw(ViewGroup.java:4538) com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:1179) android.view.View.draw(View.java:25180) com.android.internal.policy.DecorView.draw(DecorView.java:1161) android.view.View.updateDisplayListIfDirty(View.java:24036) android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768) android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774) android.view.ThreadedRenderer.draw(ThreadedRenderer.java:872) android.view.ViewRootImpl.draw(ViewRootImpl.java:6051) android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5706) android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4795) android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3288) android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11344) android.view.Choreographer$CallbackRecord.run(Choreographer.java:1689) android.view.Choreographer$CallbackRecord.run(Choreographer.java:1698) android.view.Choreographer.doCallbacks(Choreographer.java:1153) android.view.Choreographer.doFrame(Choreographer.java:1079) android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1646) android.os.Handler.handleCallback(Handler.java:958) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loopOnce(Looper.java:230) android.os.Looper.loop(Looper.java:319) android.app.ActivityThread.main(ActivityThread.java:8919) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2024-06-15T19:10:18.581: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference n0.l.a(SourceFile:125) k0.f.onPreDraw(SourceFile:32) android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1204) android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4723) android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3288) android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11344) android.view.Choreographer$CallbackRecord.run(Choreographer.java:1689) android.view.Choreographer$CallbackRecord.run(Choreographer.java:1698) android.view.Choreographer.doCallbacks(Choreographer.java:1153) android.view.Choreographer.doFrame(Choreographer.java:1079) android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1646) android.os.Handler.handleCallback(Handler.java:958) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loopOnce(Looper.java:230) android.os.Looper.loop(Looper.java:319) android.app.ActivityThread.main(ActivityThread.java:8919) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2024-06-15T19:29:42.511: T4.i j2.H.V(SourceFile:63) X6.r.Q1(SourceFile:38) io.ktor.client.engine.cio.e.e(SourceFile:136) u.G.a(SourceFile:14) u.G.c(SourceFile:12) w.s1.u(SourceFile:320) J6.a.l(SourceFile:9) Q7.e.I(SourceFile:79) b7.h.p(SourceFile:100) b7.h.E(SourceFile:33) b7.h.l(SourceFile:17) w0.M.A0(SourceFile:51) w0.M.T(SourceFile:31) u.j.T(SourceFile:112) w0.i.f(SourceFile:157) w0.i.f(SourceFile:136) w0.i.f(SourceFile:136) w0.i.f(SourceFile:136) w0.e.b(SourceFile:30) w0.x.a(SourceFile:126) C0.z.I(SourceFile:79) C0.z.m(SourceFile:373) C0.z.dispatchTouchEvent(SourceFile:76) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3328) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3328) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3328) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3328) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3328) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3328) android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998) com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:776) com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1967) android.app.Activity.dispatchTouchEvent(Activity.java:4548) i.E.dispatchTouchEvent(SourceFile:3) com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:734) android.view.View.dispatchPointerEvent(View.java:16489) android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8602) android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:8353) android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7682) android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7739) android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7705) android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7908) android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7713) android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7965) android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7686) android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7739) android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7705) android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7713) android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7686) android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:11250) android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:11119) android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:11075) android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11384) android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:337) android.os.MessageQueue.nativePollOnce(Native Method) android.os.MessageQueue.next(MessageQueue.java:335) android.os.Looper.loopOnce(Looper.java:187) android.os.Looper.loop(Looper.java:319) android.app.ActivityThread.main(ActivityThread.java:8919) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
RiMusic version
0.6.39
Android version
14
Additional information
I am posting this because a crash that was around this timestamp: 2024-06-15T19:29:42 It might be that some early part of the log is still from 0.6.38.