Tabs take a long time to load after restarting
Categories
(Core :: Networking, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox151 | --- | unaffected |
| firefox152 | --- | disabled |
| firefox153 | + | affected |
People
(Reporter: alice0775, Assigned: leggert, NeedInfo)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: nightly-community, perf, regression, Whiteboard: [necko-triaged])
Attachments
(8 files)
|
39.97 KB,
text/plain
|
Details | |
|
1.45 KB,
application/x-sh
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
1.11 KB,
application/x-sh
|
Details | |
|
139.67 KB,
application/octet-stream
|
Details | |
|
26.16 KB,
application/octet-stream
|
Details | |
|
376.00 KB,
application/octet-stream
|
Details | |
|
165.05 KB,
application/octet-stream
|
Details |
Steps to reproduce:
- Enable
Open previous windows and tabsfrom about:preferences#general - Load https://kakuyomu.jp/works/16817330661959774004/episodes/16817330664784275099 for example.
- Restart browser
- Repeat step 3 if needed
Actual results:
Tabs take a long time to load after restarting.
The status display indicates Performing a TLS handshake to Kakuyomu.jp....
Expected results:
It should take no more than a second or two.
| Reporter | ||
Comment 1•25 days ago
•
|
||
| Reporter | ||
Comment 2•25 days ago
|
||
| Reporter | ||
Comment 3•25 days ago
•
|
||
I'm not 100% sure, but
Regression window:
https://hg-edge.mozilla.org/integration/autoland/pushloghtml?fromchange=979b7f56a32800054ef3377cb380a968b34a244b&tochange=4ae507d926ab67ae08b5ad7c09f29795e0b7151f
Comment 4•25 days ago
|
||
:leggert, since you are the author of the regressor, bug 2035453, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
| Assignee | ||
Updated•25 days ago
|
| Reporter | ||
Comment 5•25 days ago
•
|
||
network.ssl_tokens_cache_persistence=false does NOT help.
However, the following workaround helps 100%.
A truly IDIOTIC workaround (to prevent create any ssl_tokens_cache file at shutdown of browser):
- Delete
ssl_tokens_cache.binandssl_tokens_cache.tmp(if any) from profile folder - And create folder named
ssl_tokens_cache.binandssl_tokens_cache.tmpin the profile folder
| Reporter | ||
Updated•25 days ago
|
| Assignee | ||
Comment 6•25 days ago
|
||
This seems to be a server-side issue with AWS Cloudfront, where a server at IP address A only rejects a PSK issued by a server at IP address B after 10-30s. (Reusing PSK token with server at same address works, but due to DNS round-robin is not deterministic.) Needless to say, the RFC says "rejection should be fast..."
The fix would probably be a fallback timer of sorts.
| Assignee | ||
Comment 7•25 days ago
|
||
| Assignee | ||
Comment 8•25 days ago
•
|
||
:alice, you can also disable network.ssl_tokens_cache_persistence, but then obviously no caching benefits. (After removing the token file).
| Reporter | ||
Comment 9•25 days ago
|
||
(In reply to Lars Eggert [:lars] from comment #8)
:alice, you can also disable
network.ssl_tokens_cache_persistence, but then obviously no caching benefits. (After removing the token file).
Even if setting network.ssl_tokens_cache_persistence to false and deleting the ssl_tokens_cache.bin file before launching the browser, the problem will occur again when the browser is restarted.
The ssl_tokens_cache.bin file is automatically created even if setting network.ssl_tokens_cache_persistence to false.
| Assignee | ||
Comment 10•25 days ago
|
||
Some CDN edges take 10β30s to reject a TLS 1.3 session ticket they
cannot decrypt (observed on AWS CloudFront after a browser restart
connects to a different edge than the one that issued the ticket).
Add network.http.psk_fallback_timeout (default 3s): if a TLS handshake
using a PSK without early data does not complete in time, close with
NS_ERROR_NET_RESET so the existing resumption-error path evicts the
stale token and retries with a fresh handshake.
Updated•25 days ago
|
Updated•25 days ago
|
Updated•24 days ago
|
| Assignee | ||
Comment 11•24 days ago
|
||
| Assignee | ||
Comment 12•24 days ago
•
|
||
Best I can tell this is an issue with AWS Cloudfront, I am in contact with them. If I run test_psk_stall_fast.sh a bunch of times, I see timeouts pretty regularly.
# /tmp/test_psk_stall_fast.sh kakuyomu.jp
IPs: 13.249.8.95 13.249.8.36 13.249.8.112 13.249.8.111 sleep=2
Getting ticket from 13.249.8.95...
Connecting to 13.249.8.95
depth=2 C=US, O=Amazon, CN=Amazon Root CA 1
verify return:1
depth=1 C=US, O=Amazon, CN=Amazon RSA 2048 M04
verify return:1
depth=0 CN=kakuyomu.jp
verify return:1
DONE
ticket: 2461 bytes
2 13.249.8.111 118ms resumed
3 13.249.8.111 119ms resumed
4 13.249.8.112 121ms resumed
1 13.249.8.36 10068ms TIMEOUT
That script uses openssl, no Gecko involved.
| Assignee | ||
Comment 13•23 days ago
|
||
| Assignee | ||
Comment 14•23 days ago
|
||
| Assignee | ||
Comment 15•23 days ago
|
||
Here's a pcap and key log file. There are two repeated connections to kakuyomu.jp taken with a fresh browser profile. The first loads fine. The second presents the token obtained during the first handshake, stalls, and is then closed after some 20s after some TLS Alerts.
Comment 16•22 days ago
|
||
The bug is marked as tracked for firefox152 (beta) and tracked for firefox153 (nightly). However, the bug still has low severity.
:ghess, could you please increase the severity for this tracked bug? If you disagree with the tracking decision, please talk with the release managers.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 17•18 days ago
•
|
||
New pcap and key log file. Packet 545 is our ClientHello at ~120sec, packet 550 is the AWS TLS Alert at ~136sec.
| Assignee | ||
Comment 18•18 days ago
|
||
| Assignee | ||
Comment 19•18 days ago
|
||
| Reporter | ||
Updated•10 days ago
|
Description
•