Skip to content

NPE in a simple project Spring Boot (Servlet) + RSocket + Sleuth #1789

@SimSonic

Description

@SimSonic

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions