selfserv closes connections without draining
Categories
(NSS :: Test, defect, P3)
Tracking
(nss 3.130)
| Tracking | Status | |
|---|---|---|
| nss | --- | 3.130 |
People
(Reporter: jschanck, Assigned: jschanck)
Details
Attachments
(1 file)
Intermittent failure in Windows ARM64 runs of the SSL job: https://treeherder.mozilla.org/jobs?repo=nss-try&selectedTaskRun=Tc3Aq95QTF26QBRLIW2anw.0&revision=18f04588234ecbe10f7dcb9c7af344ca6cbacccc&searchStr=ssl
Claude's analysis:
handle_connection() ends at its cleanup: label with a bare PR_Close(). That does send TLS close_notify (ssl_SecureClose, lib/ssl/sslsecur.c), but it then closes the TCP socket immediately. Closing a Windows socket that still holds unread data in its receive queue sends RST rather than FIN, which can discard the queued close_notify and makes the peer's pending read fail instead of returning 0. A larger client flight makes leftover unread bytes at close more likely, which matches the size ordering above.
| Assignee | ||
Comment 1•17 days ago
|
||
Pushed by jschanck@mozilla.com:
https://hg.mozilla.org/projects/nss/rev/aaec49fb6fc2
selfserv: drain connections before closing. r=nss-reviewers,keeler
Updated•8 days ago
|
Description
•