Closed Bug 2072042 Opened 17 days ago Closed 9 days ago

selfserv closes connections without draining

Categories

(NSS :: Test, defect, P3)

Tracking

(nss 3.130)

RESOLVED FIXED
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.

Pushed by jschanck@mozilla.com:
https://hg.mozilla.org/projects/nss/rev/aaec49fb6fc2
selfserv: drain connections before closing. r=nss-reviewers,keeler

Status: ASSIGNED → RESOLVED
Closed: 9 days ago
Resolution: --- → FIXED
status-nss: --- → 3.130
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: