Bug 22330
Summary: | SSL Connections w/Keepalive failure | ||
---|---|---|---|
Product: | WebKit | Reporter: | J. Nick Koston <nick> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | UNCONFIRMED | ||
Severity: | Major | CC: | mihnea, mrowe |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
J. Nick Koston
There appears to be a race condition that will cause safari/webkit to disconnect when it is trying to reuse a keep alive connection for an repeated xml http request.
To reproduce:
req 1) Fetch url using js xml http request to a server that supports keep alive.
wait 15 seconds
req 2) Fetch url using js xml http request to a server that supports keep alive.
If you are seeing the same thing:
The connection is left open
The second request happens
An encrypted tls alert is sent from the client
The server drops the connection on error
The client then opens a new connection and sends the request the request appears to be successful.
After this happens on win32 subsequent requests that will reuse the keep alive connection appear to randomly fail, on osx they still fail but safari/webkit reconnects and the user does not see the failure.
This *may* be a bug in openssl on the server end , however the behavior does not happen with MSIE 5.5, 6.0, or 7.0, and Firefox on win32 , Firefox on osx, Opera on osx.
This was tested with latest webkit nightly and safari 3.2 on win32
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
J. Nick Koston
After some wiresharking:
The TLS alert is a close notify from the client.
J. Nick Koston
Here is an live working example of the problem.
https://koston.org/bug22330/example.html
In firefox the connection stays open. In Safari the connection closes for each request, but only after its about to make the next request
Mark Rowe (bdash)
WebKit itself doesn't do any socket-level communications, so this is almost certainly a bug in the underlying network library that WebKit uses. On Mac and Windows this would be CFNetwork. Can you please file a bug report against CFNetwork at <http://bugreport.apple.com/>?