-
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
ServletInputStream::isReady results in IllegalArgumentException #10315
Labels
Comments
@poutsma took me half day to download the internet to build Spring 😅 but I can reproduce the issue, investigating. |
sbordet
added a commit
that referenced
this issue
Aug 18, 2023
…Exception. Made sure that when HttpServletRequest.isReady() returns false, it is possible to call it again without getting an exception. Signed-off-by: Simone Bordet <[email protected]>
@poutsma we found the problem and fixed it, will be in 12.0.1 that we plan to release end of month. I verified that the tests you reported now pass cleanly with the Jetty fix. |
lorban
added a commit
that referenced
this issue
Aug 18, 2023
…SomeRequestContentThenFailure by flipping the input state to IDLE before unblocking a blocking read Signed-off-by: Ludovic Orban <[email protected]>
sbordet
added a commit
that referenced
this issue
Aug 21, 2023
#10343) Made sure that when HttpServletRequest.isReady() returns false, it is possible to call it again without getting an exception. Fix ProxyServletTest.testExpect100ContinueRespond100ContinueSomeRequestContentThenFailure by flipping the input state to IDLE before unblocking a blocking read. Signed-off-by: Simone Bordet <[email protected]> Signed-off-by: Ludovic Orban <[email protected]> Co-authored-by: Ludovic Orban <[email protected]>
Fixed by #10343. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Jetty version(s)
Jetty 12.0.0
Jetty Environment
ee10
Java version/vendor
(use: java -version)
openjdk version "17.0.7" 2023-04-18 LTS
OS type/version
MacOS 13.5
Description
The Spring Framework is upgrading to 12.0 as part of its 6.1 release.
Using 12.0.0 GA, we run into one particular issue that occurs in an asynchronous servlet, where when we check
ServletInputStream::isReady
it results in aIllegalArgumentException
. This is the stack trace:The line in Spring Framework that causes this is here.
The line in Jetty that throws the exception is here.
This same code worked in previous version of Jetty (9.1+), so this looks like some sort of regression, as I don't think
ServletInputStream::isReady
is allowed to throw anIllegalArgumentException
. If it is, and we are doing something wrong on our end, please inform us.How to reproduce?
I've tried my best to create a small minimal sample that reproduces this problem, but have been unable to in a reasonable timespan.
The best luck to reproduce the issue is when running the build of my Spring Framework Jetty 12 upgrade branch that you can find here. Two tests occasionally, not predictably, show the behavior, specifically:
org.springframework.web.reactive.function.MultipartRouterFunctionIntegrationTests
, andorg.springframework.web.reactive.result.method.annotation.RequestMappingMessageConversionIntegrationTests
The text was updated successfully, but these errors were encountered: