Skip to content

NPE thrown by AbstractSingleProcessor #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sdeleuze opened this issue Mar 30, 2018 · 6 comments
Closed

NPE thrown by AbstractSingleProcessor #3

sdeleuze opened this issue Mar 30, 2018 · 6 comments

Comments

@sdeleuze
Copy link

When running JettyWebClientIntegrationTests#shouldSendLargeTextFile test from this repro project, a NullPointerException is thrown. The same test is green with Reactor Netty and the new JDK HTTP client (and Reactor is validated against Reactive Streams TCK).

java.lang.NullPointerException
	at org.eclipse.jetty.reactive.client.internal.AbstractSingleProcessor.cancel(AbstractSingleProcessor.java:38)
	at reactor.core.publisher.MonoNext$NextSubscriber.cancel(MonoNext.java:108)
	at reactor.core.publisher.Operators.terminate(Operators.java:642)
	at reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.cancel(MonoIgnoreThen.java:312)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.cancel(MonoIgnoreThen.java:180)
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.cancel(FluxPeekFuseable.java:153)
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.cancel(FluxPeekFuseable.java:153)
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.cancel(FluxPeekFuseable.java:153)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.cancel(FluxMapFuseable.java:161)
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.drainLoop(Operators.java:1497)
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.drain(Operators.java:1466)
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.cancel(Operators.java:1278)
	at reactor.core.publisher.Operators.terminate(Operators.java:642)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.cancel(MonoFlatMap.java:180)
	at reactor.core.publisher.BlockingSingleSubscriber.dispose(BlockingSingleSubscriber.java:63)
	at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:109)
	at reactor.core.publisher.Mono.block(Mono.java:1199)
	at org.springframework.web.reactive.function.client.JettyWebClientIntegrationTests.shouldSendLargeTextFile(JettyWebClientIntegrationTests.java:345)

Could you please check if there is something to fix on Jetty side, and maybe plan TCK validation of the RS infrastructure provided with this project when you will have some free cycle?

@sbordet sbordet closed this as completed in d4661aa Apr 3, 2018
@sbordet
Copy link
Member

sbordet commented Apr 3, 2018

@sdeleuze the test times out before completing, and it cancels the subscription, which causes the NPE.

I was never able to fail your test locally, as 5 seconds were more than enough to upload the large file, but reducing the timeout to 50 milliseconds reproduced the NPE.

I have fixed a couple of bugs and added a guard for the NPE.

Can you try the latest code (0.9.2-SNAPSHOT) ?

@sdeleuze
Copy link
Author

sdeleuze commented Apr 3, 2018

Sure, but where can I find snapshots? I can't find a jetty directory in https://oss.sonatype.org/content/repositories/snapshots/org/eclipse/.

@sbordet
Copy link
Member

sbordet commented Apr 3, 2018

@sdeleuze good point :)
Give me a while to deploy them, and I will paste the link here.

@sbordet
Copy link
Member

sbordet commented Apr 3, 2018

@sdeleuze you can find the snapshot at this repository:
https://oss.sonatype.org/content/repositories/jetty-snapshots

@sdeleuze
Copy link
Author

sdeleuze commented Apr 3, 2018

I confirm that 0.9.2-SNAPSHOT fixes this issue thanks!

@sbordet
Copy link
Member

sbordet commented Apr 3, 2018

@sdeleuze I released 0.9.2 in Maven Central.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants