maxrave-dev / maxrave-dev/SimpMusic
The App Error after a while. New to restart app
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 11.4k
- Forks
- 599
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 7
Description
Duplicate Check
- I confirm I searched for existing reports and found no duplicates.
Describe the Bug
Build version: 2.0.0
Current date: 2026-08-29 23:09:34
Device: HONOR PTP-N49
OS version: Android 16 (SDK 36)
Stack trace:
java.lang.IllegalStateException: Attempting to drawContent for a null node. This usually means that a call to ContentDrawScope#drawContent() has been captured inside a lambda, and is being invoked outside of the draw pass. Capturing the scope this way is unsupported - if you are trying to record drawContent with graphicsLayer.record(), make sure you are using the GraphicsLayer#record function within DrawScope, instead of the member function on GraphicsLayer.
at si5.c(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:3)
at o89.e(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:1)
at ek6.b(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:185)
at p71.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:12)
at f7.f(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:114)
at f7.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:152)
at or4.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:47)
at zr.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:362)
at vr4.O(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:77)
at or4.f(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:55)
at ek6.O0(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:17)
at rn7.K0(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:230)
at ek6.k(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:52)
at bt8.t1(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:48)
at ys8.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:25)
at o1c.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:308)
at zv6.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:1115)
at ur2.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:875)
at or4.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:47)
at zr.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:362)
at vr4.O(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:77)
at or4.f(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:55)
at rr4.g(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:106)
at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:76)
at android.view.View.draw(View.java:26612)
at android.view.View.updateDisplayListIfDirty(View.java:25369)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:884)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:8093)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:7693)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:6446)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:4552)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:13818)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:2539)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:2548)
at android.view.Choreographer.doCallbacks(Choreographer.java:1690)
at android.view.Choreographer.doFrame(Choreographer.java:1513)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:2458)
at android.os.Handler.handleCallback(Handler.java:1039)
at android.os.Handler.dispatchMessage(Handler.java:117)
at android.os.Looper.loopOnce(Looper.java:263)
at android.os.Looper.loop(Looper.java:360)
at android.app.ActivityThread.main(ActivityThread.java:10813)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:648)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1012)
User actions:
2026-08-29 22:51:29: MainActivity created
2026-08-29 22:51:29: MainActivity resumed
2026-08-29 22:52:53: MainActivity paused
2026-08-29 22:52:59: MainActivity resumed
2026-08-29 22:53:27: MainActivity paused
2026-08-29 22:54:00: MainActivity resumed
2026-08-29 22:54:42: MainActivity paused
2026-08-29 23:01:40: MainActivity resumed
2026-08-29 23:01:47: MainActivity paused
2026-08-29 23:02:38: MainActivity resumed
2026-08-29 23:02:42: MainActivity paused
2026-08-29 23:03:43: MainActivity resumed
2026-08-29 23:03:43: MainActivity paused
2026-08-29 23:03:43: MainActivity resumed
2026-08-29 23:04:19: MainActivity paused
2026-08-29 23:07:36: MainActivity resumed
Steps to Reproduce
Build version: 2.0.0
Current date: 2026-08-29 23:09:34
Device: HONOR PTP-N49
OS version: Android 16 (SDK 36)
Stack trace:
java.lang.IllegalStateException: Attempting to drawContent for a null node. This usually means that a call to ContentDrawScope#drawContent() has been captured inside a lambda, and is being invoked outside of the draw pass. Capturing the scope this way is unsupported - if you are trying to record drawContent with graphicsLayer.record(), make sure you are using the GraphicsLayer#record function within DrawScope, instead of the member function on GraphicsLayer.
at si5.c(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:3)
at o89.e(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:1)
at ek6.b(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:185)
at p71.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:12)
at f7.f(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:114)
at f7.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:152)
at or4.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:47)
at zr.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:362)
at vr4.O(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:77)
at or4.f(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:55)
at ek6.O0(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:17)
at rn7.K0(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:230)
at ek6.k(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:52)
at bt8.t1(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:48)
at ys8.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:25)
at o1c.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:308)
at zv6.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:1115)
at ur2.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:875)
at or4.d(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:47)
at zr.invoke(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:362)
at vr4.O(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:77)
at or4.f(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:55)
at rr4.g(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:106)
at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(r8-map-id-9ee9db6588429f4b55b9b589c5eaad3f144d6927c8219081c7b3177520329938:76)
at android.view.View.draw(View.java:26612)
at android.view.View.updateDisplayListIfDirty(View.java:25369)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4864)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4837)
at android.view.View.updateDisplayListIfDirty(View.java:25310)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:768)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:774)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:884)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:8093)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:7693)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:6446)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:4552)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:13818)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:2539)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:2548)
at android.view.Choreographer.doCallbacks(Choreographer.java:1690)
at android.view.Choreographer.doFrame(Choreographer.java:1513)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:2458)
at android.os.Handler.handleCallback(Handler.java:1039)
at android.os.Handler.dispatchMessage(Handler.java:117)
at android.os.Looper.loopOnce(Looper.java:263)
at android.os.Looper.loop(Looper.java:360)
at android.app.ActivityThread.main(ActivityThread.java:10813)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:648)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1012)
User actions:
2026-08-29 22:51:29: MainActivity created
2026-08-29 22:51:29: MainActivity resumed
2026-08-29 22:52:53: MainActivity paused
2026-08-29 22:52:59: MainActivity resumed
2026-08-29 22:53:27: MainActivity paused
2026-08-29 22:54:00: MainActivity resumed
2026-08-29 22:54:42: MainActivity paused
2026-08-29 23:01:40: MainActivity resumed
2026-08-29 23:01:47: MainActivity paused
2026-08-29 23:02:38: MainActivity resumed
2026-08-29 23:02:42: MainActivity paused
2026-08-29 23:03:43: MainActivity resumed
2026-08-29 23:03:43: MainActivity paused
2026-08-29 23:03:43: MainActivity resumed
2026-08-29 23:04:19: MainActivity paused
2026-08-29 23:07:36: MainActivity resumed
Expected Behavior
I will not have to restart the app many times
App Version
2.0.0
Android Version
16
Device Model
Honor Magic 7 pro
Custom ROM
- I am using a custom ROM
Custom ROM Name (if applicable)
No response
Screenshots (optional)
No response
Log / Error Details
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the crash on Android 16 with the reported HONOR PTP-N49 lifecycle sequence, then trace the obfuscated stack through AndroidComposeView and the Compose drawing path. Identify which app screen or drawing operation triggers the null-node error. Done means the app no longer crashes after repeated pause and resume cycles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100