java.util.NoSuchElementException: Collection is empty.
Expected behavior
Minecraft: 1.20.1 Ledger: 1.2.8 Prominence II, v3.1.53hf2
Ledger should log block actions to database.
Observed/actual behavior
[15:21:18] [DefaultDispatcher-worker-2/WARN]: Exception occurred while attempting to commit action. Skipping. java.util.NoSuchElementException: Collection is empty. at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:208) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.0-5a92c7063d3a6ebc.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.selectWorld(DatabaseManager.kt:516) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.access$selectWorld(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:390) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?] at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:273) ~[ledger-1.2.8.jar:?] at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:247) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.insertAction(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.access$insertAction(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invokeSuspend(DatabaseManager.kt:72) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invokeSuspend(DatabaseManager.kt:346) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at org.jetbrains.exposed.sql.transactions.experimental.SuspendedKt$suspendedTransactionAsyncInternal$1.invokeSuspend(Suspended.kt:127) ~[ledger-1.2.8.jar:?] at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.0-5a92c7063d3a6ebc.jar:?] at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] [15:21:18] [DefaultDispatcher-worker-7/ERROR]: Uncaught exception in thread "DefaultDispatcher-worker-7" java.util.NoSuchElementException: Collection is empty. at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:208) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.0-5a92c7063d3a6ebc.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.selectWorld(DatabaseManager.kt:516) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.access$selectWorld(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:390) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?] at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:273) ~[ledger-1.2.8.jar:?] at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:247) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.insertAction(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager.access$insertAction(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invokeSuspend(DatabaseManager.kt:72) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invokeSuspend(DatabaseManager.kt:346) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?] at org.jetbrains.exposed.sql.transactions.experimental.SuspendedKt$suspendedTransactionAsyncInternal$1.invokeSuspend(Suspended.kt:127) ~[ledger-1.2.8.jar:?] at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.0-5a92c7063d3a6ebc.jar:?] at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException
Steps/models to reproduce
Run server with supported Kotlin and ledger. Fails to log block changes. Error occurs at start up.
What operating system are you running
Linux
Minecraft version
1.20.1
Ledger version
1.2.8
Logs
https://gist.github.com/rdamron/7ae6d69f884228c9665027fe29401342
Agreements
- [x] I am running the latest version of the mod.
- [x] My version of Minecraft is supported.
- [x] I have searched for and ensured there isn't already an open issue regarding this.
Other
I assume 1.20.1 being a well supported version in the community is still supported. I hope im checking these boxes correctly.
Having the same issue, along with 2 others I can see from looking through the discord support forum: https://discord.com/channels/764543203772334100/1403528155930693713/1403528155930693713
What are the odds that downgrading the Kotlin version wont bork other stuff in the modpack?
Modrinth lists this with the version for Kotlin: Fabric Language Kotlin 1.9.6+kotlin.1.8.22
Pack comes with: fabric-language-kotlin-1.13.4+kotlin.2.2.0.jar
Well I gave fabric-language-kotlin-1.10.18+kotlin.1.9.22.jar a try. This was the lowest version of Kotlin I could make work with the other mods in the pack. This did not work. :(
I noticed that when on the older version of Kotlin I don't get this error stopping the server. Latest version I do. This leads me to believe that it's a Kotlin library issue. Not sure what to do about that honestly except give up on the mod or hope one of the devs will back port a fix into the older version. Given that 1.20.1 is by far the largest downloaded version (85k vs <10k), maybe there is hope?
java.lang.NoSuchMethodError: 'long kotlin.time.Duration$Companion.minutes-UwyO8pc(long)' at com.github.quiltservertools.ledger.Ledger$serverStopped$1.invokeSuspend(Ledger.kt:95) ~[ledger-1.2.8.jar:?] at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.0-5a92c7063d3a6ebc.jar:?] at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?] at com.github.quiltservertools.ledger.Ledger.serverStopped(Ledger.kt:94) ~[ledger-1.2.8.jar:?] at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$6(ServerLifecycleEvents.java:76) ~[fabric-lifecycle-events-v1-2.2.2+1802ada577-1de3c1c74dd2e6f7.jar:?] at net.minecraft.server.MinecraftServer.handler$dmi000$fabric-lifecycle-events-v1$afterShutdownServer(MinecraftServer.java:10352) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.shutdown(MinecraftServer.java:619) ~[server-intermediary.jar:?] at net.minecraft.server.dedicated.MinecraftDedicatedServer.shutdown(MinecraftDedicatedServer.java:537) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:703) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[server-intermediary.jar:?] at java.lang.Thread.run(Thread.java:840) ~[?:?]
Can echo this issue with this modpack
I am also experiencing this issue. Nothing except player join / leave timestamps are being recorded.
[02:18:15] [DefaultDispatcher-worker-7/WARN]: Exception occurred while attempting to commit action. Skipping.
java.util.NoSuchElementException: Collection is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:208) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.21-84ba7abf467a5769.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.selectWorld(DatabaseManager.kt:516) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.access$selectWorld(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:390) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?]
at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:273) ~[ledger-1.2.8.jar:?]
at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:247) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.insertAction(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.access$insertAction(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invokeSuspend(DatabaseManager.kt:72) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invokeSuspend(DatabaseManager.kt:346) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at org.jetbrains.exposed.sql.transactions.experimental.SuspendedKt$suspendedTransactionAsyncInternal$1.invokeSuspend(Suspended.kt:127) ~[ledger-1.2.8.jar:?]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.21-84ba7abf467a5769.jar:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
[02:18:15] [DefaultDispatcher-worker-7/ERROR]: Uncaught exception in thread "DefaultDispatcher-worker-7"
java.util.NoSuchElementException: Collection is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:208) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.21-84ba7abf467a5769.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.selectWorld(DatabaseManager.kt:516) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.access$selectWorld(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:390) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$insertAction$1.invoke(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?]
at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:273) ~[ledger-1.2.8.jar:?]
at org.jetbrains.exposed.dao.EntityClass.new(EntityClass.kt:247) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.insertAction(DatabaseManager.kt:382) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager.access$insertAction(DatabaseManager.kt:56) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invokeSuspend(DatabaseManager.kt:72) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$1$1$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invokeSuspend(DatabaseManager.kt:346) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at com.github.quiltservertools.ledger.database.DatabaseManager$execute$2$1.invoke(DatabaseManager.kt) ~[ledger-1.2.8.jar:?]
at org.jetbrains.exposed.sql.transactions.experimental.SuspendedKt$suspendedTransactionAsyncInternal$1.invokeSuspend(Suspended.kt:127) ~[ledger-1.2.8.jar:?]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34) ~[org_jetbrains_kotlin_kotlin-stdlib-2.2.21-84ba7abf467a5769.jar:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704) ~[org_jetbrains_kotlinx_kotlinx-co-jvm-1.10.2-dc3d13b93361afd1.jar:?]
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException