-
Notifications
You must be signed in to change notification settings - Fork 783
Closed
Labels
Milestone
Description
Describe the bug
There is a NPE in a simple application based on Spring Boot 2.3.5.RELEASE or 2.3.6.RELEASE with RSocket and Sleuth in dependencies.
The problem arises when trying to execute request-response from client to the server.
Caused by: java.lang.NullPointerException: null
at io.rsocket.core.RequestOperator.currentContext(RequestOperator.java:89) ~[rsocket-core-1.0.3.jar:na]
at reactor.core.publisher.Operators.reportThrowInSubscribe(Operators.java:230) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:71) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at io.rsocket.core.RequestOperator.<init>(RequestOperator.java:42) ~[rsocket-core-1.0.3.jar:na]
at io.rsocket.core.RSocketRequester$1.<init>(RSocketRequester.java:271) ~[rsocket-core-1.0.3.jar:na]
at io.rsocket.core.RSocketRequester.handleRequestResponse(RSocketRequester.java:271) ~[rsocket-core-1.0.3.jar:na]
at io.rsocket.core.RSocketRequester.requestResponse(RSocketRequester.java:164) ~[rsocket-core-1.0.3.jar:na]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:118) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:96) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:96) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:213) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:247) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:329) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:61) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:4213) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:128) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:4213) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at reactor.core.publisher.Mono.block(Mono.java:1679) ~[reactor-core-3.3.11.RELEASE.jar:3.3.11.RELEASE]
at example.ClientMain.run(ClientMain.java:32) ~[classes/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:795) ~[spring-boot-2.3.6.RELEASE.jar:2.3.6.RELEASE]
... 3 common frames omitted
Sample
spring-boot-235-rsocket-npe-example.zip
Attached zip containes Maven multi-module .pom with both server and client. To reproduce the bug just start server and then client.
Other info
Switching Spring Cloud down from Hoxton.SR9 to Hoxton.SR8 doesn't solve the issue.
Switching to Spring Boot 2.3.4.RELEASE fixes the issue. Upgrade to Spring Boot 2.4.0 also fixes it.