Skip to content
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

fix npe when onCompleteFailure happens after reset #12199

Conversation

lorban
Copy link
Contributor

@lorban lorban commented Aug 26, 2024

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
sbordet
sbordet previously approved these changes Aug 26, 2024
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
@lorban lorban requested a review from sbordet August 27, 2024 09:06
@lorban lorban marked this pull request as ready for review August 27, 2024 12:35
@lorban lorban self-assigned this Aug 27, 2024
@lorban lorban added the Bug For general bugs on Jetty side label Aug 27, 2024
@garydgregory
Copy link
Contributor

Hello @lorban,

Thank you for working on this!
Could the TLS failures be false positives?

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
@sbordet sbordet self-requested a review August 27, 2024 15:47
sbordet
sbordet previously approved these changes Aug 27, 2024
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
@lorban
Copy link
Contributor Author

lorban commented Aug 28, 2024

@garydgregory unfortunately, they're not. As we cannot reproduce the NPE you reported, this is progressing very slowly as we have to be super careful while working on assumptions.

@garydgregory
Copy link
Contributor

@garydgregory unfortunately, they're not. As we cannot reproduce the NPE you reported, this is progressing very slowly as we have to be super careful while working on assumptions.

@lorban
TY for the update, I wish I had a better reproducer for you than my initial report in #11891! It seems "random".

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
@lorban lorban merged commit ed1cadc into jetty-12.0.x Aug 28, 2024
10 checks passed
@lorban lorban deleted the experiment/jetty-12.0.x/11841-npe-in-HttpSender-ContentSender-onCompleteFailure branch August 28, 2024 17:43
@garydgregory
Copy link
Contributor

TY @lorban !

I'll pull, build, and start using it locally.

@garydgregory
Copy link
Contributor

garydgregory commented Aug 28, 2024

Hello @lorban

Using git commit ed1cadc449bfd711e7fb5d4d409e4eb57be9321b (HEAD -> jetty-12.0.x, origin/jetty-12.0.x, origin/HEAD), I just saw:

Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "org.eclipse.jetty.client.transport.HttpExchange.getRequest()" because "exchange" is null
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
	at org.eclipse.jetty.client.transport.HttpRequest.send(HttpRequest.java:707)
	at <our code, redacted>
	... 18 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.jetty.client.transport.HttpExchange.getRequest()" because "exchange" is null
	at org.eclipse.jetty.client.transport.HttpSender$ContentSender.process(HttpSender.java:511)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:262)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:243)
	at org.eclipse.jetty.client.transport.HttpSender.send(HttpSender.java:85)
	at org.eclipse.jetty.client.transport.internal.HttpChannelOverHTTP.send(HttpChannelOverHTTP.java:86)
	at org.eclipse.jetty.client.transport.HttpChannel.send(HttpChannel.java:142)
	at org.eclipse.jetty.client.transport.HttpConnection.send(HttpConnection.java:112)
	at org.eclipse.jetty.client.transport.internal.HttpConnectionOverHTTP$Delegate.send(HttpConnectionOverHTTP.java:379)
	at org.eclipse.jetty.client.transport.internal.HttpConnectionOverHTTP.send(HttpConnectionOverHTTP.java:168)
	at org.eclipse.jetty.client.transport.HttpDestination.send(HttpDestination.java:444)
	at org.eclipse.jetty.client.transport.HttpDestination.process(HttpDestination.java:420)
	at org.eclipse.jetty.client.transport.HttpDestination.process(HttpDestination.java:375)
	at org.eclipse.jetty.client.transport.HttpDestination.send(HttpDestination.java:358)
	at org.eclipse.jetty.client.transport.HttpDestination.send(HttpDestination.java:352)
	at org.eclipse.jetty.client.transport.HttpDestination.send(HttpDestination.java:329)
	at org.eclipse.jetty.client.transport.HttpDestination.send(HttpDestination.java:308)
	at org.eclipse.jetty.client.transport.HttpRequest.sendAsync(HttpRequest.java:751)
	at org.eclipse.jetty.client.transport.HttpDestination.send(HttpDestination.java:303)
	at org.eclipse.jetty.client.transport.HttpRequest.send(HttpRequest.java:744)
	at org.eclipse.jetty.client.CompletableResponseListener.send(CompletableResponseListener.java:79)
	... 20 more

@lorban
Copy link
Contributor Author

lorban commented Aug 29, 2024

@garydgregory could we please follow up this conversation on #12210?

@garydgregory
Copy link
Contributor

@garydgregory could we please follow up this conversation on #12210?

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For general bugs on Jetty side
Projects
No open projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

3 participants