-
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
HttpInput.blockForContent() makes CPU high #5435
Comments
It looks like that thread got stuck in a weird state: the channel is marked as ISHUT, the parser is CLOSED but the HttpChannelState is IDLE for some reason and the HttpInput is in STREAM mode, has seen 0 byte consumed and has an empty content queue. It looks like the input stream was remotely shut down which should have resulted in the server reading EOF but somehow that message got lost and the thread is busy asking to be awoken when new data arrives and being awoken to notify it that the input stream is shut down. Unfortunately, the log snippet you included doesn't contain enough details to figure out what could have caused this invalid state. Thanks! |
@kissLife any more info? Perhaps try the just released 9.4.33 (which includes an important security fix anyway) |
This issue has been automatically marked as stale because it has been a |
This issue has been closed due to it having no activity. |
Jetty version
9.4.28.v20200408
Java version
1.8
OS type/version
CentOS
Description
I set up a jetty server to process multipart request. The multipart request contains two parts:
I use Apache Commons FileUpload to parse the request. Sometimes it blocked when read the audio data. even though the client has closed the connection. The thread does not exist after a long time consuming high CPU. The thread stack trace is here:
The VisualVM shows the thread is active also:
I turn on the DEBUG level of jetty log. It shows the code is loop itself even though the client has CLOSED the connection as below:
Do you have any idea what could be the reason?
Thanks.
The text was updated successfully, but these errors were encountered: