Affects: 2.3.0.RELEASE

When passing a Kotlin data class with a property that has a type of Map to ServerResponse.BodyBuilder#bodyValue BlockHound detects blocking code in org.springframework.http.codec.json.AbstractJackson2Encoder.canEncode.

Example repo: https://github.com/lxdraw/webflux-blocking

Results in: ```2020-06-02 15:04:32.911 ERROR 43986 --- [ctor-http-nio-3] a.w.r.e.AbstractErrorWebExceptionHandler : [4e2762e3-1] 500 Server Error for HTTP GET "/map"

reactor.blockhound.BlockingOperationError: Blocking call! java.io.RandomAccessFile#readBytes at java.base/java.io.RandomAccessFile.readBytes(RandomAccessFile.java) ~[na:na] Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): |_ checkpoint ⇢ HTTP GET "/map" [ExceptionHandlingWebHandler] Stack trace: at java.base/java.io.RandomAccessFile.readBytes(RandomAccessFile.java) ~[na:na] at java.base/java.io.RandomAccessFile.read(RandomAccessFile.java:406) ~[na:na] at java.base/java.io.RandomAccessFile.readFully(RandomAccessFile.java:470) ~[na:na] at java.base/java.util.zip.ZipFile$Source.readFullyAt(ZipFile.java:1304) ~[na:na] at java.base/java.util.zip.ZipFile$ZipFileInputStream.initDataOffset(ZipFile.java:998) ~[na:na] at java.base/java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:1013) ~[na:na] at java.base/java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:468) ~[na:na] at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:159) ~[na:na] at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:123) ~[na:na] at java.base/java.io.FilterInputStream.read(FilterInputStream.java:83) ~[na:na] at java.base/java.io.DataInputStream.readInt(DataInputStream.java:392) ~[na:na] at kotlin.reflect.jvm.internal.impl.metadata.builtins.BuiltInsBinaryVersion$Companion.readFrom(BuiltInsBinaryVersion.kt:29) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsPackageFragmentImpl$Companion.create(BuiltInsPackageFragmentImpl.kt:38) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.builtins.jvm.JvmBuiltInsPackageFragmentProvider.findPackage(JvmBuiltInsPackageFragmentProvider.kt:58) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.AbstractDeserializedPackageFragmentProvider$fragments$1.invoke(AbstractDeserializedPackageFragmentProvider.kt:34) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.AbstractDeserializedPackageFragmentProvider$fragments$1.invoke(AbstractDeserializedPackageFragmentProvider.kt:26) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:512) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.AbstractDeserializedPackageFragmentProvider.getPackageFragments(AbstractDeserializedPackageFragmentProvider.kt:41) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.CompositePackageFragmentProvider.getPackageFragments(CompositePackageFragmentProvider.kt:31) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.CompositePackageFragmentProvider.getPackageFragments(CompositePackageFragmentProvider.kt:31) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.LazyPackageViewDescriptorImpl$fragments$2.invoke(LazyPackageViewDescriptorImpl.kt:37) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.LazyPackageViewDescriptorImpl$fragments$2.invoke(LazyPackageViewDescriptorImpl.kt:30) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:355) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:474) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.StorageKt.getValue(storage.kt:42) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.LazyPackageViewDescriptorImpl.getFragments(LazyPackageViewDescriptorImpl.kt) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.LazyPackageViewDescriptorImpl$memberScope$1.invoke(LazyPackageViewDescriptorImpl.kt:41) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.impl.LazyPackageViewDescriptorImpl$memberScope$1.invoke(LazyPackageViewDescriptorImpl.kt:30) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:355) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:474) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.resolve.scopes.LazyScopeAdapter.getWorkerScope(LazyScopeAdapter.kt:23) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.resolve.scopes.AbstractScopeAdapter.getContributedClassifier(AbstractScopeAdapter.kt:44) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.FindClassInModuleKt.findClassifierAcrossModuleDependencies(findClassInModule.kt:25) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.descriptors.FindClassInModuleKt.findClassAcrossModuleDependencies(findClassInModule.kt:40) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer.computeClassDescriptor(TypeDeserializer.kt:221) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer.access$computeClassDescriptor(TypeDeserializer.kt:23) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer$classDescriptors$1.invoke(TypeDeserializer.kt:32) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer$classDescriptors$1.invoke(TypeDeserializer.kt:23) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:512) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer.typeConstructor(TypeDeserializer.kt:113) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer.simpleType(TypeDeserializer.kt:75) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.TypeDeserializer.type(TypeDeserializer.kt:63) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.MemberDeserializer.valueParameters(MemberDeserializer.kt:417) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.MemberDeserializer.loadConstructor(MemberDeserializer.kt:342) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor.computePrimaryConstructor(DeserializedClassDescriptor.kt:122) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor.access$computePrimaryConstructor(DeserializedClassDescriptor.kt:34) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$primaryConstructor$1.invoke(DeserializedClassDescriptor.kt:65) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$primaryConstructor$1.invoke(DeserializedClassDescriptor.kt:34) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:355) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor.getUnsubstitutedPrimaryConstructor(DeserializedClassDescriptor.kt:126) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor.computeConstructors(DeserializedClassDescriptor.kt:129) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor.access$computeConstructors(DeserializedClassDescriptor.kt:34) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$constructors$1.invoke(DeserializedClassDescriptor.kt:66) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$constructors$1.invoke(DeserializedClassDescriptor.kt:34) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:355) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:474) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor.getConstructors(DeserializedClassDescriptor.kt:137) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.KClassImpl.getConstructorDescriptors(KClassImpl.kt:200) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.KClassImpl$Data$constructors$2.invoke(KClassImpl.kt:91) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.KClassImpl$Data$constructors$2.invoke(KClassImpl.kt:44) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.KClassImpl$Data.getConstructors(KClassImpl.kt) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.internal.KClassImpl.getConstructors(KClassImpl.kt:235) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at kotlin.reflect.jvm.ReflectJvmMapping.getKotlinFunction(ReflectJvmMapping.kt:144) ~[kotlin-reflect-1.3.72.jar:1.3.72-release-468 (1.3.72)] at com.fasterxml.jackson.module.kotlin.ReflectionCache.kotlinFromJava(ReflectionCache.kt:44) ~[jackson-module-kotlin-2.11.0.jar:2.11.0] at com.fasterxml.jackson.module.kotlin.KotlinNamesAnnotationIntrospector$hasCreatorAnnotation$1.invoke(KotlinNamesAnnotationIntrospector.kt:64) ~[jackson-module-kotlin-2.11.0.jar:2.11.0] at com.fasterxml.jackson.module.kotlin.KotlinNamesAnnotationIntrospector$hasCreatorAnnotation$1.invoke(KotlinNamesAnnotationIntrospector.kt:22) ~[jackson-module-kotlin-2.11.0.jar:2.11.0] at com.fasterxml.jackson.module.kotlin.ReflectionCache.checkConstructorIsCreatorAnnotated(ReflectionCache.kt:46) ~[jackson-module-kotlin-2.11.0.jar:2.11.0] at com.fasterxml.jackson.module.kotlin.KotlinNamesAnnotationIntrospector.hasCreatorAnnotation(KotlinNamesAnnotationIntrospector.kt:62) ~[jackson-module-kotlin-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.AnnotationIntrospector.findCreatorAnnotation(AnnotationIntrospector.java:1306) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findCreatorAnnotation(AnnotationIntrospectorPair.java:821) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findCreatorAnnotation(AnnotationIntrospectorPair.java:821) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addCreatorParam(POJOPropertiesCollector.java:525) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addCreators(POJOPropertiesCollector.java:492) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:327) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getJsonValueAccessor(POJOPropertiesCollector.java:203) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findJsonValueAccessor(BasicBeanDescription.java:252) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.ser.BasicSerializerFactory.findSerializerByAnnotations(BasicSerializerFactory.java:396) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:216) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:165) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:1474) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1422) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.SerializerProvider._findExplicitUntypedSerializer(SerializerProvider.java:1391) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.hasSerializerFor(DefaultSerializerProvider.java:260) ~[jackson-databind-2.11.0.jar:2.11.0] at com.fasterxml.jackson.databind.ObjectMapper.canSerialize(ObjectMapper.java:3225) ~[jackson-databind-2.11.0.jar:2.11.0] at org.springframework.http.codec.json.AbstractJackson2Encoder.canEncode(AbstractJackson2Encoder.java:107) ~[spring-web-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.http.codec.EncoderHttpMessageWriter.canWrite(EncoderHttpMessageWriter.java:107) ~[spring-web-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.function.BodyInserters.lambda$writeWithMessageWriters$9(BodyInserters.java:377) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176) ~[na:na] at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1631) ~[na:na] at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na] at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543) ~[na:na] at org.springframework.web.reactive.function.BodyInserters.writeWithMessageWriters(BodyInserters.java:378) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.function.BodyInserters.lambda$fromValue$1(BodyInserters.java:98) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.function.server.DefaultEntityResponseBuilder$DefaultEntityResponse.writeToInternal(DefaultEntityResponseBuilder.java:233) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.function.server.DefaultServerResponseBuilder$AbstractServerResponse.writeTo(DefaultServerResponseBuilder.java:351) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.function.server.support.ServerResponseResultHandler.handleResult(ServerResponseResultHandler.java:94) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.DispatcherHandler.handleResult(DispatcherHandler.java:169) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.reactive.DispatcherHandler.lambda$handle$2(DispatcherHandler.java:147) ~[spring-webflux-5.2.6.RELEASE.jar:5.2.6.RELEASE] at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:118) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1755) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:67) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:121) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2317) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:162) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2125) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:1999) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:54) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4218) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:75) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Operators.complete(Operators.java:135) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:45) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:150) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:67) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:76) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:274) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:851) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:76) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:421) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:211) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:161) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4218) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:441) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:211) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:161) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4218) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:172) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.3.5.RELEASE.jar:3.3.5.RELEASE] at reactor.netty.http.server.HttpServerHandle.onStateChange(HttpServerHandle.java:64) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:514) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.tcp.TcpServerBind$ChildObserver.onStateChange(TcpServerBind.java:262) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:465) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:96) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:170) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[netty-codec-4.1.49.Final.jar:4.1.49.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.49.Final.jar:4.1.49.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.49.Final.jar:4.1.49.Final] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]```

Comment From: feser

Kotlin reflect issue: https://youtrack.jetbrains.com/issue/KT-46071

Comment From: sdeleuze

I have asked more feedback from Kotlin team on the related issue.

Comment From: sdeleuze

As described in this KT-46071 comment, looks like a false positive generated by kotlin-reflect reading some resources from the classpath, but that's just for the first time loading.