Skip to content

Aot hints incomplete #3103

@simonhir

Description

@simonhir

Describe the bug

We currently try to build and run our internal spring cloud gateway as native image which uses spring-session-hazelcast.
When running the native image the serialization within ReactiveMapSessionRepository fails because some aot hints are missing.

To Reproduce

  1. Build https://github.com/it-at-m/refarch/tree/main/refarch-gateway with mvn clean spring-boot:build-image -Pnative -Dspring.profiles.active=local.
  2. When starting the application and visiting a route the login is working but when spring-session is trying to serialize the session an exception is thrown.
Example exception
com.oracle.svm.core.jdk.UnsupportedFeatureError: SerializationConstructorAccessor class not found for declaringClass: com.nimbusds.oauth2.sdk.util.OrderedJSONObject (targetConstructorClass: java.util.AbstractMap). Usually adding com.nimbusds.oauth2.sdk.util.OrderedJSONObject to serialization-config.json fixes the problem. 2024-07-18T07:27:46.559369900Z	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:96) 2024-07-18T07:27:46.559372700Z	at org.graalvm.nativeimage.builder/com.oracle.svm.core.reflect.serialize.SerializationSupport.getSerializationConstructorAccessor(SerializationSupport.java:143) 2024-07-18T07:27:46.559375200Z	at java.base@17.0.11/jdk.internal.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:61) 2024-07-18T07:27:46.559377500Z	at java.base@17.0.11/jdk.internal.reflect.ReflectionFactory.generateConstructor(ReflectionFactory.java:463) 2024-07-18T07:27:46.559379700Z	at java.base@17.0.11/jdk.internal.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:455) 2024-07-18T07:27:46.559382300Z	at java.base@17.0.11/java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1443) 2024-07-18T07:27:46.559384600Z	at java.base@17.0.11/java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:412) 2024-07-18T07:27:46.559386800Z	at java.base@17.0.11/java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:384) 2024-07-18T07:27:46.559389300Z	at java.base@17.0.11/java.security.AccessController.executePrivileged(AccessController.java:173) 2024-07-18T07:27:46.559400300Z	at java.base@17.0.11/java.security.AccessController.doPrivileged(AccessController.java:318) 2024-07-18T07:27:46.559402800Z	at java.base@17.0.11/java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:384) 2024-07-18T07:27:46.559405300Z	at java.base@17.0.11/java.io.ObjectStreamClass$Caches$1.computeValue(ObjectStreamClass.java:110) 2024-07-18T07:27:46.559407700Z	at java.base@17.0.11/java.io.ObjectStreamClass$Caches$1.computeValue(ObjectStreamClass.java:107) 2024-07-18T07:27:46.559410200Z	at java.base@17.0.11/java.io.ClassCache$1.computeValue(ClassCache.java:73) 2024-07-18T07:27:46.559414200Z	at java.base@17.0.11/java.io.ClassCache$1.computeValue(ClassCache.java:70) 2024-07-18T07:27:46.559417000Z	at java.base@17.0.11/java.lang.ClassValue.get(JavaLangSubstitutions.java:684) 2024-07-18T07:27:46.559419600Z	at java.base@17.0.11/java.io.ClassCache.get(ClassCache.java:84) 2024-07-18T07:27:46.559422100Z	at java.base@17.0.11/java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:363) 2024-07-18T07:27:46.559424400Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1137) 2024-07-18T07:27:46.559427000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:350) 2024-07-18T07:27:46.559429500Z	at java.base@17.0.11/java.util.LinkedHashMap.internalWriteEntries(LinkedHashMap.java:334) 2024-07-18T07:27:46.559432400Z	at java.base@17.0.11/java.util.HashMap.writeObject(HashMap.java:1497) 2024-07-18T07:27:46.559435100Z	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568) 2024-07-18T07:27:46.559438000Z	at java.base@17.0.11/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1070) 2024-07-18T07:27:46.559440600Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1516) 2024-07-18T07:27:46.559443500Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559446100Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559448600Z	at java.base@17.0.11/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1572) 2024-07-18T07:27:46.559451200Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1529) 2024-07-18T07:27:46.559454000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559456400Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559458900Z	at java.base@17.0.11/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1572) 2024-07-18T07:27:46.559461200Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1529) 2024-07-18T07:27:46.559463500Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559466100Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559471000Z	at java.base@17.0.11/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1572) 2024-07-18T07:27:46.559474000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1529) 2024-07-18T07:27:46.559476500Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559479000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559481700Z	at java.base@17.0.11/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1572) 2024-07-18T07:27:46.559484300Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1529) 2024-07-18T07:27:46.559486800Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559489300Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559491900Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:350) 2024-07-18T07:27:46.559494600Z	at java.base@17.0.11/java.util.HashMap.internalWriteEntries(HashMap.java:1944) 2024-07-18T07:27:46.559497300Z	at java.base@17.0.11/java.util.HashMap.writeObject(HashMap.java:1497) 2024-07-18T07:27:46.559499500Z	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568) 2024-07-18T07:27:46.559502100Z	at java.base@17.0.11/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1070) 2024-07-18T07:27:46.559504500Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1516) 2024-07-18T07:27:46.559518200Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559521000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559523900Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:350) 2024-07-18T07:27:46.559526700Z	at java.base@17.0.11/java.util.HashMap.internalWriteEntries(HashMap.java:1944) 2024-07-18T07:27:46.559529200Z	at java.base@17.0.11/java.util.HashMap.writeObject(HashMap.java:1497) 2024-07-18T07:27:46.559531400Z	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568) 2024-07-18T07:27:46.559533800Z	at java.base@17.0.11/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1070) 2024-07-18T07:27:46.559536400Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1516) 2024-07-18T07:27:46.559538900Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559541700Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559545200Z	at java.base@17.0.11/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1572) 2024-07-18T07:27:46.559550000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1529) 2024-07-18T07:27:46.559553000Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1438) 2024-07-18T07:27:46.559555600Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) 2024-07-18T07:27:46.559558100Z	at java.base@17.0.11/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:350) 2024-07-18T07:27:46.559560700Z	at com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.write(JavaDefaultSerializers.java:124) 2024-07-18T07:27:46.559563500Z	at com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.write(JavaDefaultSerializers.java:117) 2024-07-18T07:27:46.559566000Z	at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.write(StreamSerializerAdapter.java:39) 2024-07-18T07:27:46.559568500Z	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:238) 2024-07-18T07:27:46.559571100Z	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:217) 2024-07-18T07:27:46.559573700Z	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:202) 2024-07-18T07:27:46.559576200Z	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:157) 2024-07-18T07:27:46.559579000Z	at com.hazelcast.spi.impl.NodeEngineImpl.toData(NodeEngineImpl.java:419) 2024-07-18T07:27:46.559581300Z	at com.hazelcast.spi.impl.AbstractDistributedObject.toData(AbstractDistributedObject.java:82) 2024-07-18T07:27:46.559583600Z	at com.hazelcast.map.impl.proxy.MapProxyImpl.put(MapProxyImpl.java:137) 2024-07-18T07:27:46.559586000Z	at com.hazelcast.map.impl.proxy.MapProxyImpl.put(MapProxyImpl.java:128) 2024-07-18T07:27:46.559588600Z	at org.springframework.session.ReactiveMapSessionRepository.lambda$save$0(ReactiveMapSessionRepository.java:81) 2024-07-18T07:27:46.559591000Z	at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:73) 2024-07-18T07:27:46.559593700Z	at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:32) 2024-07-18T07:27:46.559596000Z	at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:410) 2024-07-18T07:27:46.559598400Z	at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onNext(FluxConcatMap.java:251) 2024-07-18T07:27:46.559601700Z	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) 2024-07-18T07:27:46.559603900Z	at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) 2024-07-18T07:27:46.559606100Z	at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) 2024-07-18T07:27:46.559608600Z	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) 2024-07-18T07:27:46.559612900Z	at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:236) 2024-07-18T07:27:46.559615800Z	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) 2024-07-18T07:27:46.559618500Z	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) 2024-07-18T07:27:46.559620900Z	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) 2024-07-18T07:27:46.559623300Z	at reactor.core.publisher.Flux.subscribe(Flux.java:8840) 2024-07-18T07:27:46.559625900Z	at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:238) 2024-07-18T07:27:46.559628500Z	at reactor.core.publisher.FluxConcatArray.subscribe(FluxConcatArray.java:79) 2024-07-18T07:27:46.559630800Z	at reactor.core.publisher.MonoFromFluxOperator.subscribe(MonoFromFluxOperator.java:83) 2024-07-18T07:27:46.559633100Z	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) 2024-07-18T07:27:46.559635500Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:241) 2024-07-18T07:27:46.559638100Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) 2024-07-18T07:27:46.559640600Z	at reactor.core.publisher.Operators.complete(Operators.java:137) 2024-07-18T07:27:46.559642900Z	at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) 2024-07-18T07:27:46.559645200Z	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) 2024-07-18T07:27:46.559647200Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559649500Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) 2024-07-18T07:27:46.559651600Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) 2024-07-18T07:27:46.559653700Z	at reactor.core.publisher.FluxTap$TapSubscriber.onComplete(FluxTap.java:286) 2024-07-18T07:27:46.559655700Z	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2231) 2024-07-18T07:27:46.559657900Z	at reactor.core.publisher.Operators.complete(Operators.java:137) 2024-07-18T07:27:46.559660200Z	at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) 2024-07-18T07:27:46.559662600Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559664800Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559667100Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559669400Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559672000Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559677700Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559680100Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559682400Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559684700Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559687300Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559690200Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) 2024-07-18T07:27:46.559692700Z	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) 2024-07-18T07:27:46.559695200Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) 2024-07-18T07:27:46.559697800Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) 2024-07-18T07:27:46.559699900Z	at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93) 2024-07-18T07:27:46.559702000Z	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onError(Operators.java:2236) 2024-07-18T07:27:46.559704200Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559706700Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559709000Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559711400Z	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) 2024-07-18T07:27:46.559713700Z	at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) 2024-07-18T07:27:46.559716100Z	at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) 2024-07-18T07:27:46.559718600Z	at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) 2024-07-18T07:27:46.559721400Z	at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469) 2024-07-18T07:27:46.559724100Z	at reactor.core.publisher.FluxArray$ArraySubscription.slowPath(FluxArray.java:137) 2024-07-18T07:27:46.559726400Z	at reactor.core.publisher.FluxArray$ArraySubscription.request(FluxArray.java:99) 2024-07-18T07:27:46.559728600Z	at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:373) 2024-07-18T07:27:46.559731100Z	at reactor.core.publisher.FluxArray.subscribe(FluxArray.java:53) 2024-07-18T07:27:46.559733500Z	at reactor.core.publisher.FluxArray.subscribe(FluxArray.java:59) 2024-07-18T07:27:46.559735700Z	at reactor.core.publisher.MonoFromFluxOperator.subscribe(MonoFromFluxOperator.java:83) 2024-07-18T07:27:46.559737900Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) 2024-07-18T07:27:46.559740100Z	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) 2024-07-18T07:27:46.559744200Z	at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) 2024-07-18T07:27:46.559746700Z	at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:180) 2024-07-18T07:27:46.559749300Z	at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) 2024-07-18T07:27:46.559751700Z	at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.request(FluxConcatArray.java:256) 2024-07-18T07:27:46.559754200Z	at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:108) 2024-07-18T07:27:46.559756500Z	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) 2024-07-18T07:27:46.559758700Z	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) 2024-07-18T07:27:46.559761000Z	at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:70) 2024-07-18T07:27:46.559763300Z	at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onSubscribe(FluxConcatArray.java:166) 2024-07-18T07:27:46.559765600Z	at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) 2024-07-18T07:27:46.559767700Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559770400Z	at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:238) 2024-07-18T07:27:46.559772800Z	at reactor.core.publisher.FluxConcatArray.subscribe(FluxConcatArray.java:79) 2024-07-18T07:27:46.559775200Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559777500Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559779700Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559781900Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559784900Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559787200Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559789900Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559792100Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559794200Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559796300Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559798600Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559800900Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559802900Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559806600Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559809100Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559811400Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559813800Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559816100Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) 2024-07-18T07:27:46.559818500Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) 2024-07-18T07:27:46.559821000Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559823500Z	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121) 2024-07-18T07:27:46.559825800Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559828200Z	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onError(FluxPeekFuseable.java:553) 2024-07-18T07:27:46.559830500Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559833000Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559835100Z	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121) 2024-07-18T07:27:46.559837800Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559840400Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559842700Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559845000Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559847200Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559849900Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559852000Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559854500Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559856800Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559859100Z	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onError(Operators.java:2236) 2024-07-18T07:27:46.559861900Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280) 2024-07-18T07:27:46.559865800Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559868100Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559870500Z	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121) 2024-07-18T07:27:46.559873400Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559876200Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559878700Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) 2024-07-18T07:27:46.559881200Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559883600Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559885800Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559888000Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559890600Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559893100Z	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onError(Operators.java:2236) 2024-07-18T07:27:46.559895400Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280) 2024-07-18T07:27:46.559898100Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:544) 2024-07-18T07:27:46.559900500Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559903000Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) 2024-07-18T07:27:46.559905800Z	at reactor.core.publisher.Operators.error(Operators.java:198) 2024-07-18T07:27:46.559910200Z	at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) 2024-07-18T07:27:46.559912300Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4568) 2024-07-18T07:27:46.559914300Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) 2024-07-18T07:27:46.559916700Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) 2024-07-18T07:27:46.559919000Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) 2024-07-18T07:27:46.559921400Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) 2024-07-18T07:27:46.559923800Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) 2024-07-18T07:27:46.559926200Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) 2024-07-18T07:27:46.559928600Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280) 2024-07-18T07:27:46.559935100Z	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121) 2024-07-18T07:27:46.559937400Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280) 2024-07-18T07:27:46.559940100Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) 2024-07-18T07:27:46.559942400Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) 2024-07-18T07:27:46.559944900Z	at reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:52) 2024-07-18T07:27:46.559947300Z	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) 2024-07-18T07:27:46.559949500Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) 2024-07-18T07:27:46.559951900Z	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) 2024-07-18T07:27:46.559954300Z	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1865) 2024-07-18T07:27:46.559956500Z	at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:151) 2024-07-18T07:27:46.559958700Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4552) 2024-07-18T07:27:46.559961700Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) 2024-07-18T07:27:46.559964100Z	at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) 2024-07-18T07:27:46.559966400Z	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) 2024-07-18T07:27:46.559968900Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:241) 2024-07-18T07:27:46.559971200Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) 2024-07-18T07:27:46.559973800Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) 2024-07-18T07:27:46.559976300Z	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1866) 2024-07-18T07:27:46.559978600Z	at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:151) 2024-07-18T07:27:46.559980900Z	at reactor.core.publisher.Mono.subscribe(Mono.java:4552) 2024-07-18T07:27:46.559983200Z	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) 2024-07-18T07:27:46.559985600Z	at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) 2024-07-18T07:27:46.559988000Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) 2024-07-18T07:27:46.559990500Z	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) 2024-07-18T07:27:46.559993000Z	at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) 2024-07-18T07:27:46.559995600Z	at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) 2024-07-18T07:27:46.560000500Z	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) 2024-07-18T07:27:46.560002900Z	at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:865) 2024-07-18T07:27:46.560019600Z	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) 2024-07-18T07:27:46.560024900Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) 2024-07-18T07:27:46.560027600Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) 2024-07-18T07:27:46.560030100Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) 2024-07-18T07:27:46.560032600Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) 2024-07-18T07:27:46.560035100Z	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) 2024-07-18T07:27:46.560038500Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) 2024-07-18T07:27:46.560040700Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) 2024-07-18T07:27:46.560043100Z	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) 2024-07-18T07:27:46.560045600Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) 2024-07-18T07:27:46.560047900Z	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) 2024-07-18T07:27:46.560050300Z	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) 2024-07-18T07:27:46.560052500Z	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) 2024-07-18T07:27:46.560054700Z	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) 2024-07-18T07:27:46.560057200Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) 2024-07-18T07:27:46.560059800Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) 2024-07-18T07:27:46.560062300Z	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) 2024-07-18T07:27:46.560065000Z	at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:194) 2024-07-18T07:27:46.560067500Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) 2024-07-18T07:27:46.560070200Z	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) 2024-07-18T07:27:46.560073000Z	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) 2024-07-18T07:27:46.560075400Z	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) 2024-07-18T07:27:46.560077900Z	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158) 2024-07-18T07:27:46.560083000Z	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) 2024-07-18T07:27:46.560085600Z	at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) 2024-07-18T07:27:46.560088000Z	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337) 2024-07-18T07:27:46.560090700Z	at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097) 2024-07-18T07:27:46.560093200Z	at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145) 2024-07-18T07:27:46.560096100Z	at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) 2024-07-18T07:27:46.560098400Z	at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) 2024-07-18T07:27:46.560100600Z	at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) 2024-07-18T07:27:46.560103000Z	at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415) 2024-07-18T07:27:46.560105300Z	at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:446) 2024-07-18T07:27:46.560107700Z	at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:500) 2024-07-18T07:27:46.560109900Z	at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:793) 2024-07-18T07:27:46.560112100Z	at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) 2024-07-18T07:27:46.560114400Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) 2024-07-18T07:27:46.560116600Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 2024-07-18T07:27:46.560119000Z	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) 2024-07-18T07:27:46.560121500Z	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) 2024-07-18T07:27:46.560123900Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) 2024-07-18T07:27:46.560126700Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 2024-07-18T07:27:46.560129400Z	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) 2024-07-18T07:27:46.560131900Z	at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) 2024-07-18T07:27:46.560134600Z	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) 2024-07-18T07:27:46.560137100Z	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) 2024-07-18T07:27:46.560139400Z	at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) 2024-07-18T07:27:46.560144200Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) 2024-07-18T07:27:46.560146900Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 2024-07-18T07:27:46.560150000Z	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) 2024-07-18T07:27:46.560153400Z	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407) 2024-07-18T07:27:46.560155900Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) 2024-07-18T07:27:46.560158300Z	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 2024-07-18T07:27:46.560160600Z	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) 2024-07-18T07:27:46.560162900Z	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) 2024-07-18T07:27:46.560165200Z	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) 2024-07-18T07:27:46.560167500Z	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) 2024-07-18T07:27:46.560169700Z	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) 2024-07-18T07:27:46.560171900Z	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 2024-07-18T07:27:46.560174000Z	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 2024-07-18T07:27:46.560176400Z	at java.base@17.0.11/java.lang.Thread.run(Thread.java:840) 2024-07-18T07:27:46.560178900Z	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:915) 2024-07-18T07:27:46.560181300Z	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:890) 

Expected behavior

Application runs as native image without any problems.

Sample

https://github.com/it-at-m/refarch/tree/main/refarch-gateway
Spring and spring-session version: 3.3.1
Hazlecast-spring version: 5.4.0
Custom spring session config: https://github.com/it-at-m/refarch/blob/main/refarch-gateway/src/main/java/de.muenchen.oss.refarch.gateway/configuration/WebSessionConfiguration.java

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions