kordlib / kord

Idiomatic Kotlin Wrapper for The Discord API
MIT License
929 stars 81 forks source link

IdentifyRateLimiter threw an exception in context #905

Closed nmolenaar closed 10 months ago

nmolenaar commented 10 months ago

I got the following message today while starting up the application for the first time. Feel free to ask me for more information if required.

09:53:15.909 ERROR [IdentifyRateLimiter] - IdentifyRateLimiter threw an exception in context [dev.kord.gateway.ratelimit.IdentifyRateLimiterImpl$special$$inlined$CoroutineExceptionHandler$1@74965a99, StandaloneCoroutine{Cancelling}@695bb92c, Dispatchers.Default], please report this, it should not happen java.lang.NoClassDefFoundError: kotlinx/coroutines/selects/SelectImplementation at dev.kord.gateway.ratelimit.IdentifyRateLimiterImpl.receiveSortedBatchOfRequestsOrNull(IdentifyRateLimiter.kt:263) Caused by: java.lang.ClassNotFoundException: kotlinx.coroutines.selects.SelectImplementation at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)

lukellmann commented 10 months ago

this sounds like a dependency mismatch. which version of kotlinx.coroutines are you using at runtime?

nmolenaar commented 10 months ago

This is my entire build.gradle.kts @lukellmann


plugins {
  id("org.springframework.boot") version "3.1.5"
  id("io.spring.dependency-management") version "1.1.3"

  kotlin("jvm") version "1.9.0"

  kotlin("plugin.spring") version "1.9.0"
  kotlin("plugin.jpa") version "1.9.0"
  kotlin("plugin.serialization") version "1.9.0"
}

version = "0.0.1"

java {
  sourceCompatibility = JavaVersion.VERSION_17
}

repositories {
  mavenCentral()
  maven("https://oss.sonatype.org/content/repositories/snapshots")
}

dependencies {
  // discord bot
  implementation("dev.kord:kord-common:0.12.0")
  implementation("dev.kord:kord-gateway:0.12.0")
  implementation("dev.kord:kord-core:0.12.0")

  // General dependencies
  implementation("org.jetbrains.kotlin:kotlin-reflect")
  implementation("org.springframework.boot:spring-boot-starter-actuator")
  implementation("org.springframework.boot:spring-boot-starter-webflux")
  implementation("org.springframework.boot:spring-boot-starter-security")

  // Database dependencies
  implementation("org.springframework.boot:spring-boot-starter-data-jpa")
  implementation("org.postgresql:postgresql")

  // Logging
  implementation("io.github.microutils:kotlin-logging:3.0.5")
  implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j")
  implementation("net.logstash.logback:logstash-logback-encoder:+")

  compileOnly("org.springframework.boot:spring-boot-devtools")
}

tasks.register<Copy>("getDependencies"){
  from(sourceSets.main.get().runtimeClasspath)
  into("runtime/")

  doFirst {
    val runtimeDir = File("runtime")
    runtimeDir.deleteRecursively()
    runtimeDir.mkdirs()
  }

  doLast {
    File("runtime").deleteRecursively()
  }
}

tasks.withType<Test> {
  useJUnitPlatform()
}
lukellmann commented 10 months ago

https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html kord 0.12.0 expects org.jetbrains.kotlinx:kotlinx-coroutines-core >= 1.7.3

lukellmann commented 10 months ago

so running ./gradlew dependencyInsight --dependency org.jetbrains.kotlinx:kotlinx-coroutines-core should show what is used

nmolenaar commented 10 months ago

There seem to be a mix between 1.6.4 1.7.1 1.7.3

➜ ./gradlew dependencyInsight --dependency org.jetbrains.kotlinx:kotlinx-coroutines-core

> Task :dependencyInsight
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
  Variant jvmApiElements-published:
    | Attribute Name                     | Provided | Requested    |
    |------------------------------------|----------|--------------|
    | org.gradle.status                  | release  |              |
    | org.gradle.category                | library  | library      |
    | org.gradle.libraryelements         | jar      | classes      |
    | org.gradle.usage                   | java-api | java-api     |
    | org.jetbrains.kotlin.platform.type | jvm      | jvm          |
    | org.gradle.dependency.bundling     |          | external     |
    | org.gradle.jvm.environment         |          | standard-jvm |
    | org.gradle.jvm.version             |          | 17           |
   Selection reasons:
      - Selected by rule
      - By constraint

org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
+--- compileClasspath
+--- dev.kord:kord-common-jvm:0.12.0
|    \--- dev.kord:kord-common:0.12.0
|         +--- compileClasspath
|         +--- dev.kord:kord-core-jvm:0.12.0
|         |    \--- dev.kord:kord-core:0.12.0
|         |         \--- compileClasspath
|         +--- dev.kord:kord-gateway-jvm:0.12.0
|         |    \--- dev.kord:kord-gateway:0.12.0
|         |         +--- compileClasspath
|         |         \--- dev.kord:kord-core-jvm:0.12.0 (*)
|         \--- dev.kord:kord-rest-jvm:0.12.0
|              \--- dev.kord:kord-rest:0.12.0
|                   \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- compileClasspath (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3) (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3) (*)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3)
|    |         +--- compileClasspath
|    |         \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-cio:2.3.6
|    |    |         \--- dev.kord:kord-common-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-content-negotiation:2.3.6
|    |    |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |    |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-websockets:2.3.6
|    |    |         \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-core:2.3.6
|    |    |         +--- dev.kord:kord-common-jvm:0.12.0 (*)
|    |    |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
|    |    |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |    |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-http-cio:2.3.6
|    |    |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-websocket-serialization:2.3.6
|    |    |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-serialization-kotlinx:2.3.6
|    |    |         \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-serialization:2.3.6
|    |    |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-websockets:2.3.6
|    |    |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-network-tls:2.3.6
|    |    |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-events:2.3.6
|    |    |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-http:2.3.6
|    |    |         +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-events-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-network:2.3.6
|    |    |         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-utils:2.3.6
|    |    |         +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-events-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-http-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-network-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-io:2.3.6
|    |    |         \--- io.ktor:ktor-utils-jvm:2.3.6 (*)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3) (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)

org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3
+--- dev.kord.cache:cache-api-jvm:0.4.0
|    \--- dev.kord.cache:cache-api:0.4.0
|         +--- dev.kord:kord-core-jvm:0.12.0
|         |    \--- dev.kord:kord-core:0.12.0
|         |         \--- compileClasspath
|         \--- dev.kord.cache:cache-map-jvm:0.4.0
|              \--- dev.kord.cache:cache-map:0.4.0
|                   \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4
|    +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-client-cio:2.3.6
|    |         \--- dev.kord:kord-common-jvm:0.12.0
|    |              \--- dev.kord:kord-common:0.12.0
|    |                   +--- compileClasspath
|    |                   +--- dev.kord:kord-core-jvm:0.12.0 (*)
|    |                   +--- dev.kord:kord-gateway-jvm:0.12.0
|    |                   |    \--- dev.kord:kord-gateway:0.12.0
|    |                   |         +--- compileClasspath
|    |                   |         \--- dev.kord:kord-core-jvm:0.12.0 (*)
|    |                   \--- dev.kord:kord-rest-jvm:0.12.0
|    |                        \--- dev.kord:kord-rest:0.12.0
|    |                             \--- dev.kord:kord-core-jvm:0.12.0 (*)
|    +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-client-content-negotiation:2.3.6
|    |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|    +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-client-websockets:2.3.6
|    |         \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-client-core:2.3.6
|    |         +--- dev.kord:kord-common-jvm:0.12.0 (*)
|    |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|    |         \--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
|    |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|    +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-http-cio:2.3.6
|    |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-websocket-serialization:2.3.6
|    |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-serialization-kotlinx:2.3.6
|    |         \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-serialization:2.3.6
|    |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|    |         \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-websockets:2.3.6
|    |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |         \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-network-tls:2.3.6
|    |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-events:2.3.6
|    |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-http:2.3.6
|    |         +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |         \--- io.ktor:ktor-events-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-network:2.3.6
|    |         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|    |         \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-utils:2.3.6
|    |         +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-events-jvm:2.3.6 (*)
|    |         +--- io.ktor:ktor-http-jvm:2.3.6 (*)
|    |         \--- io.ktor:ktor-network-jvm:2.3.6 (*)
|    +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    \--- io.ktor:ktor-io:2.3.6
|    |         \--- io.ktor:ktor-utils-jvm:2.3.6 (*)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3)
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|         |    +--- compileClasspath (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j)
|         |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3) (*)
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|         |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3) (*)
|         |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3)
|         |         +--- compileClasspath
|         |         \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4) (*)
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|         |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
|         |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
|         \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (*)

org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3
+--- io.ktor:ktor-client-cio-jvm:2.3.6
|    \--- io.ktor:ktor-client-cio:2.3.6
|         \--- dev.kord:kord-common-jvm:0.12.0
|              \--- dev.kord:kord-common:0.12.0
|                   +--- compileClasspath
|                   +--- dev.kord:kord-core-jvm:0.12.0
|                   |    \--- dev.kord:kord-core:0.12.0
|                   |         \--- compileClasspath
|                   +--- dev.kord:kord-gateway-jvm:0.12.0
|                   |    \--- dev.kord:kord-gateway:0.12.0
|                   |         +--- compileClasspath
|                   |         \--- dev.kord:kord-core-jvm:0.12.0 (*)
|                   \--- dev.kord:kord-rest-jvm:0.12.0
|                        \--- dev.kord:kord-rest:0.12.0
|                             \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6
|    \--- io.ktor:ktor-client-content-negotiation:2.3.6
|         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-core-jvm:2.3.6
|    \--- io.ktor:ktor-client-core:2.3.6
|         +--- dev.kord:kord-common-jvm:0.12.0 (*)
|         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|         \--- io.ktor:ktor-client-websockets-jvm:2.3.6
|              \--- io.ktor:ktor-client-websockets:2.3.6
|                   \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
+--- io.ktor:ktor-events-jvm:2.3.6
|    \--- io.ktor:ktor-events:2.3.6
|         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
+--- io.ktor:ktor-http-cio-jvm:2.3.6
|    \--- io.ktor:ktor-http-cio:2.3.6
|         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
+--- io.ktor:ktor-http-jvm:2.3.6
|    \--- io.ktor:ktor-http:2.3.6
|         +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6
|         |    \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
|         |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|         |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6
|         |    \--- io.ktor:ktor-websocket-serialization:2.3.6
|         |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6
|         |    \--- io.ktor:ktor-serialization-kotlinx:2.3.6
|         |         \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-serialization-jvm:2.3.6
|         |    \--- io.ktor:ktor-serialization:2.3.6
|         |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|         |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|         |         \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-websockets-jvm:2.3.6
|         |    \--- io.ktor:ktor-websockets:2.3.6
|         |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|         |         \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|         +--- io.ktor:ktor-network-tls-jvm:2.3.6
|         |    \--- io.ktor:ktor-network-tls:2.3.6
|         |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|         \--- io.ktor:ktor-events-jvm:2.3.6 (*)
+--- io.ktor:ktor-io-jvm:2.3.6
|    \--- io.ktor:ktor-io:2.3.6
|         \--- io.ktor:ktor-utils-jvm:2.3.6
|              \--- io.ktor:ktor-utils:2.3.6
|                   +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|                   +--- io.ktor:ktor-events-jvm:2.3.6 (*)
|                   +--- io.ktor:ktor-http-jvm:2.3.6 (*)
|                   \--- io.ktor:ktor-network-jvm:2.3.6
|                        \--- io.ktor:ktor-network:2.3.6
|                             +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|                             \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
+--- io.ktor:ktor-network-jvm:2.3.6 (*)
+--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
+--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
+--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
+--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
+--- io.ktor:ktor-utils-jvm:2.3.6 (*)
+--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
\--- io.ktor:ktor-websockets-jvm:2.3.6 (*)

org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
  Variant jvmApiElements-published:
    | Attribute Name                     | Provided | Requested    |
    |------------------------------------|----------|--------------|
    | org.gradle.status                  | release  |              |
    | org.gradle.category                | library  | library      |
    | org.gradle.libraryelements         | jar      | classes      |
    | org.gradle.usage                   | java-api | java-api     |
    | org.jetbrains.kotlin.platform.type | jvm      | jvm          |
    | org.gradle.dependency.bundling     |          | external     |
    | org.gradle.jvm.environment         |          | standard-jvm |
    | org.gradle.jvm.version             |          | 17           |
   Selection reasons:
      - Selected by rule
      - By constraint

org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 -> 1.6.4
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- compileClasspath (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3) (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3) (*)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3)
|    |         +--- compileClasspath
|    |         \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
|    |    +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-cio:2.3.6
|    |    |         \--- dev.kord:kord-common-jvm:0.12.0
|    |    |              \--- dev.kord:kord-common:0.12.0
|    |    |                   +--- compileClasspath
|    |    |                   +--- dev.kord:kord-core-jvm:0.12.0
|    |    |                   |    \--- dev.kord:kord-core:0.12.0
|    |    |                   |         \--- compileClasspath
|    |    |                   +--- dev.kord:kord-gateway-jvm:0.12.0
|    |    |                   |    \--- dev.kord:kord-gateway:0.12.0
|    |    |                   |         +--- compileClasspath
|    |    |                   |         \--- dev.kord:kord-core-jvm:0.12.0 (*)
|    |    |                   \--- dev.kord:kord-rest-jvm:0.12.0
|    |    |                        \--- dev.kord:kord-rest:0.12.0
|    |    |                             \--- dev.kord:kord-core-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-content-negotiation:2.3.6
|    |    |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |    |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-websockets:2.3.6
|    |    |         \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-client-core:2.3.6
|    |    |         +--- dev.kord:kord-common-jvm:0.12.0 (*)
|    |    |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
|    |    |         +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
|    |    |         \--- dev.kord:kord-rest-jvm:0.12.0 (*)
|    |    +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-http-cio:2.3.6
|    |    |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-websocket-serialization:2.3.6
|    |    |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-serialization-kotlinx:2.3.6
|    |    |         \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-serialization:2.3.6
|    |    |         +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-websockets:2.3.6
|    |    |         +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-network-tls:2.3.6
|    |    |         \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-events:2.3.6
|    |    |         \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-http:2.3.6
|    |    |         +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-events-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-network:2.3.6
|    |    |         +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-utils:2.3.6
|    |    |         +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-events-jvm:2.3.6 (*)
|    |    |         +--- io.ktor:ktor-http-jvm:2.3.6 (*)
|    |    |         \--- io.ktor:ktor-network-jvm:2.3.6 (*)
|    |    +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
|    |    |    \--- io.ktor:ktor-io:2.3.6
|    |    |         \--- io.ktor:ktor-utils-jvm:2.3.6 (*)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3) (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4) (*)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
     +--- compileClasspath
     +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4) (*)
     +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4) (*)
     +--- dev.kord:kord-common-jvm:0.12.0 (*)
     +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
     +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4) (*)
     +--- dev.kord.cache:cache-api-jvm:0.4.0 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4)
     |    \--- dev.kord.cache:cache-api:0.4.0
     |         +--- dev.kord:kord-core-jvm:0.12.0 (*)
     |         \--- dev.kord.cache:cache-map-jvm:0.4.0
     |              \--- dev.kord.cache:cache-map:0.4.0
     |                   \--- dev.kord:kord-core-jvm:0.12.0 (*)
     +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
     \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)

(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation.

A web-based, searchable dependency report is available by adding the --scan option.

BUILD SUCCESSFUL in 725ms
1 actionable task: 1 executed
nmolenaar commented 10 months ago

bumping these dependencies to higher version solved the problem:

id("org.springframework.boot") version "3.2.1"
id("io.spring.dependency-management") version "1.1.4"
kotlin("jvm") version "1.9.22"
kotlin("plugin.spring") version "1.9.22"
kotlin("plugin.jpa") version "1.9.22"
kotlin("plugin.serialization") version "1.9.22"
lukellmann commented 10 months ago

i think this line in your buildscript might cause the problem:

implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j")

my wild guess is that this takes the version 1.6.4 from somewhere else which then causes kotlinx-coroutines-core-jvm to be also selected as 1.6.4 (notice the -jvm suffix, this comes from the way kolin multiplatform artifacts are published and contains the actual jvm code). kord only explicitly depends on the multiplatform kotlinx-coroutines-core (no -jvm suffix, kord is multiplatform too).

it should be fixed by specifying the version:

implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3")