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

Processing of further requests over a single connection hangs in certain situations. #57

Open
zygfryd opened this issue Mar 7, 2011 · 0 comments

Comments

@zygfryd
Copy link
Contributor

zygfryd commented Mar 7, 2011

I've noticed that sometimes refreshing my manos-served pages resulted in browsers waiting for the server to respond until timing out. As far as my testing revealed, it happens randomly on keep-alive connections when using non-chunked responses with SendFile, and consistently on the first connection of a newly started manos app after any non-chunked response is returned (even empty). It happens only when connecting locally, remote connections seem to be unaffected.
Tested on mono 2.8.2 and 2.10 on gentoo/amd64, with manos a3d19af.

Testcase:
Get ("/foo", ctx => { ctx.Response.Stream.Chunked = false; ctx.Response.End(); });

curl -s -v -H'Connection: keep-alive' http://127.0.0.1:8080/foo -o /dev/null http://127.0.0.1:8080/foo -o /dev/null http://127.0.0.1:8080/foo -o /dev/null

Output:
* About to connect() to 127.0.0.1 port 8080 (#0)
* Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET /foo HTTP/1.1
> User-Agent: curl/7.21.2 (x86_64-pc-linux-gnu) libcurl/7.21.2 GnuTLS/2.6.5 zlib/1.2.3
> Host: 127.0.0.1:8080
> Accept: /
> Connection: keep-alive
>
< HTTP/1.1 200 OK
< Content-Length: 0
<
{ [data not shown]
* Connection #0 to host 127.0.0.1 left intact
* Re-using existing connection! (#0) with host 127.0.0.1
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET /foo HTTP/1.1
> User-Agent: curl/7.21.2 (x86_64-pc-linux-gnu) libcurl/7.21.2 GnuTLS/2.6.5 zlib/1.2.3
> Host: 127.0.0.1:8080
> Accept: /
> Connection: keep-alive
>
[hangs here] * Connection died, retrying a fresh connect

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

No branches or pull requests

1 participant