-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 NPEs in HttpSender.ContentSender
#12210
Fix NPEs in HttpSender.ContentSender
#12210
Conversation
@garydgregory I've prepared a patchset in this branch that contains a tentative fix for that other NPE, as well as some info logging that should tell us more about the state of things where you currently see a NPE. I'd be glad if you could try out this branch, collect all info logs starting with Thanks for your help! |
Hello @lorban Thank you for the update. Using git 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 Jetty is part of a complex stack and I do not have a better test than what I provided in |
I will pull this branch and test locally...
Using:
|
Hi @lorban, Any thoughts on the build failures on the GitHub CI (or the one listed)? I'm comfortable testing a branch here when it fails a build. TY for your thoughts and your work here. With git at:
I current see:
Using:
|
Small update: Looking at our test logs, it sure seems like the NPE is a lot more likely to occur when the client sends an |
79e16f8
to
7810ea0
Compare
@garydgregory We've recently identified #12268 which can explains most (all?) of the failures you recently reported. I've just submitted a preliminary fix in this PR, so again your feedback would be welcome. Thanks! |
7810ea0
to
fee4d7c
Compare
@garydgregory Please build the branch of this PR. I've rebased it on top of the latest 12.0.x branch, and it includes the fix for the |
@lorban |
Hopefully not related, running 'mvn clean install' at
I'll add Using:
|
|
So far so good, I've been running a test for a few hours without failures! I'll run our full build and check results in the morning. |
My local tests are green! |
@garydgregory the fix for the |
@lorban |
…ring(), add troubleshooting info Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
70eb2f2
to
f0ae7c3
Compare
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
f0ae7c3
to
72f9d13
Compare
@garydgregory The latest 12.0.14-SNAPSHOT containing the fix got successfully deployed to the snapshot repo: https://jenkins.webtide.net/job/nightlies/job/jetty-12.0.x-snapshots-deploy/745/ |
TY! I will kick off another build here to double check. |
OK, awesome, green builds here 😄 Would you please set expectations for the timing of the 12.0.14 release? |
@garydgregory 12.0.14 is scheduled by around end of month. |
@sbordet |
Remove contentSender.exchange variable, add null checks, improve toString(), add troubleshooting info
Trying to fix the following exception reported here:
Note: this is an experimental PR; trying to figure out what's going on, not meant to be merged in.