maxrave-dev / maxrave-dev/SimpMusic
App crash on PC.
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
I was playing music using the mini player, tried to skip the song and it crashed. Attached below is the error screenshot and error code.
java.io.IOException: Unable to rename C:\Users\User.simpmusic\settings.preferences_pb.tmp to C:\Users\User.simpmusic\settings.preferences_pb. This likely means that there are multiple instances of DataStore for this file. Ensure that you are only creating a single instance of datastore for this file.
at androidx.datastore.a.r.a(FileStorage.kt)
at androidx.datastore.a.k.a(DataStoreImpl.kt)
at androidx.datastore.a.k$r.invokeSuspend(DataStoreImpl.kt)
at androidx.datastore.a.k$r.a(DataStoreImpl.kt)
at androidx.datastore.a.k$r.invoke(DataStoreImpl.kt)
at androidx.datastore.a.G.a(SingleProcessCoordinator.kt)
at androidx.datastore.a.k.a(DataStoreImpl.kt)
at androidx.datastore.a.k.a(DataStoreImpl.kt)
at androidx.datastore.a.k$g.invokeSuspend(DataStoreImpl.kt)
at androidx.datastore.a.k$g.a(DataStoreImpl.kt)
at androidx.datastore.a.k$g.invoke(DataStoreImpl.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatched(Undispatched.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at androidx.datastore.a.k.a(DataStoreImpl.kt)
at androidx.datastore.a.k.a(DataStoreImpl.kt)
at androidx.datastore.a.k$t.invokeSuspend(DataStoreImpl.kt)
at androidx.datastore.a.k$t.a(DataStoreImpl.kt)
at androidx.datastore.a.k$t.invoke(DataStoreImpl.kt)
at androidx.datastore.a.F$a.invokeSuspend(SimpleActor.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@5ee4ae26, java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService@7f588a72]
Steps to Reproduce
Play music in mini player
skip then crash.
Expected Behavior
Expected to skip song.
App Version
2.1.0
Android Version
N/A
Device Model
Windows 11
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 Windows 11 from the mini player while skipping a song, then inspect the DataStore stack trace around FileStorage.kt, DataStoreImpl.kt, and SingleProcessCoordinator.kt. Trace the use of settings.preferences_pb and verify that skipping no longer crashes the app.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- desktop-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100