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

Discovered a bug with KeepAlives #179

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nmosafi
Copy link
Contributor

@nmosafi nmosafi commented Jun 9, 2019

I am hosting in IIS using owin.host.systemweb
I have a single client repeatedly GETing and POSTing some resources
I get the error "The server committed a protocol violation. Section=ResponseStatusLine" eventually

Here is a small test app to demonstrate it. A WebApp which just hosts a single resource, and a Console app which continually GETs and POSTs to the the WebApp. After running this, an error is shown very quickly

@nmosafi
Copy link
Contributor Author

nmosafi commented Jun 10, 2019

Note I wouldn't expect this to be merged, it's just to demonstrate an issue

I am hosting in IIS using owin.host.systemweb
I have a single client repeatedly GETing and POSTing some resources
I get the error "The server committed a protocol violation. Section=ResponseStatusLine" eventually

Here is a small test app to demonstrate it.  A WebApp which just hosts a single resource, and a Console app which continually GETs and POSTs to the the WebApp.  After running this, an error is shown very quickly
@serialseb
Copy link
Member

serialseb commented Oct 28, 2019

Copied over from slack:

thinking out loud but could it be that somehow the returned result is incorrectly returned and eventually the server throws because of that?
i noticed that the newtonsoft codec always writes without bom but reads with the BOM-eanbled UTF8
but you write the request with a BOM and no content-length
so a few silly ideas here to see if it has any effect:

  1. is the request stream flushed when it’s disposed?
  2. Is writing with a new UTF8Encoding(false) instead chaanging the behaviour?
  3. Is using the UTF8Encoding(false) in the NewtonsoftJsonCodec reader changing any of the behaviour?
  4. Is adding a content-length in the request solving the problem?
  5. is the request or the response going out as chunked or is that configured to always buffer in systemweb? I got litterally 0 experience on runnign that
    and finally, is doing the same test with HttpClient resulting in any different behaviour?

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

Successfully merging this pull request may close these issues.

2 participants