ktorio / ktor

Framework for quickly creating connected applications in Kotlin with minimal effort
https://ktor.io
Apache License 2.0
12.86k stars 1.04k forks source link

No instance for key AttributeKey: ApplicationFeatureRegistry #1694

Closed frizkyvidio closed 3 years ago

frizkyvidio commented 4 years ago

Ktor Version and Engine Used (client or server and name) ktor version: 1.3.0

Describe the bug I got this error immediately after spin up ktor server. Ktor server was hit with huge(1k) request. Spin up ktor server finished at 15:00, at 15:05 ktor was hit with request, and at 15:10 many errors occur.

java.lang.IllegalStateException: No instance for key AttributeKey: ApplicationFeatureRegistry
        at io.ktor.util.Attributes$DefaultImpls.get(Attributes.kt:32)
    at io.ktor.util.AttributesJvmBase.get(AttributesJvm.kt:15)
    at io.ktor.application.ApplicationFeatureKt.feature(ApplicationFeature.kt:40)
    at io.ktor.locations.LocationKt.getLocations(Location.kt:46)
    at io.ktor.locations.LocationKt.getLocations(Location.kt:215)
    at io.ktor.locations.LocationKt$handle$1.invokeSuspend(Location.kt:210)
    at io.ktor.locations.LocationKt$handle$1.invoke(Location.kt)
    at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:273)
    at io.ktor.util.pipeline.SuspendFunctionGun.proceed(PipelineContext.kt:141)
    at io.ktor.util.pipeline.SuspendFunctionGun.execute(PipelineContext.kt:161)
    at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:27)
    at io.ktor.routing.Routing.executeResult(Routing.kt:147)
    at io.ktor.routing.Routing.interceptor(Routing.kt:34)
    at io.ktor.routing.Routing$Feature$install$1.invokeSuspend(Routing.kt:99)
    at io.ktor.routing.Routing$Feature$install$1.invoke(Routing.kt)
    at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:273)
    at io.ktor.util.pipeline.SuspendFunctionGun.proceed(PipelineContext.kt:141)
    at io.ktor.features.StatusPages$interceptCall$2.invokeSuspend(StatusPages.kt:101)
    at io.ktor.features.StatusPages$interceptCall$2.invoke(StatusPages.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
    at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:177)
    at io.ktor.features.StatusPages.interceptCall(StatusPages.kt:100)
    at io.ktor.features.StatusPages$Feature$install$2.invokeSuspend(StatusPages.kt:140)
    at io.ktor.features.StatusPages$Feature$install$2.invoke(StatusPages.kt)
    at io.ktor.util.pipeline.SuspendFunctionGun.loop(PipelineContext.kt:273)
    at io.ktor.util.pipeline.SuspendFunctionGun.proceed(PipelineContext.kt:141)

To Reproduce Steps to reproduce the behavior:

  1. Run ktor server
  2. Hit ktor server with 1k request
  3. Error occur
olegcherr commented 4 years ago

Same problem!

UPD: Not same...

oleg-larshin commented 4 years ago

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.

e5l commented 3 years ago

Fixed