NEW 215631
Webkit incorrectly reuses closed tcp connections: Failed to load resource: The network connection was lost.
https://bugs.webkit.org/show_bug.cgi?id=215631
Summary Webkit incorrectly reuses closed tcp connections: Failed to load resource: Th...
kevmun
Reported 2020-08-18 16:47:27 PDT
In our webapp using webkit, we see an issue with certain AJAX requests, "Failed to load resource: The network connection was lost." We have observed that using Fetch (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) we hit a timing issue where the browser tries to reuse a connection that was recently closed. With optimal network conditions, it’s about a 2% chance of this occurring. With high latency packets, we can reproduce %15 of the time. Steps to repro: Navigate at exactly 7 seconds (when our server terminates the connection, reproducing outside this environment will depend on the server timeouts). We've observed our TCP connections to be in TIME_WAIT at the time of failure; The docs here refer to webkit keeping connections open https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/CommonPitfalls/CommonPitfalls.html
Attachments
Radar WebKit Bug Importer
Comment 1 2020-08-19 00:50:06 PDT
Alexey Proskuryakov
Comment 2 2020-08-19 15:30:11 PDT
> Navigate at exactly 7 seconds (when our server terminates the connection, reproducing outside this environment will depend on the server timeouts). Can you share the server URL?
Alexey Proskuryakov
Comment 3 2020-08-31 13:36:47 PDT
As a workaround, can you use HTTP/2 instead instead of HTTP/1 or add `Keep-Alive: timeout=7` header?
Note You need to log in before you can comment on or make changes to this bug.