Transactions could be dropped when HappyEyeballsConnectionAttempt::Abandon is called
Categories
(Core :: Networking: HTTP, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox153 | --- | fixed |
People
(Reporter: kershaw, Assigned: kershaw)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(4 files)
When two concurrent requests each enter a Happy Eyeballs 0-RTT race, ZeroRttHandle::Do0RTT removes both real transactions from the connection manager’s pending queue via LockInRealTxnFromPendingQueue. If one race wins and calls MakeAllDontReuseExcept() → CloseAllConnectionAttempts(), the other HappyEyeballsConnectionAttempt’s Abandon() is triggered. At that point, the transaction is neither in the pending queue nor attached to any connection, and Abandon() neither closes nor re-queues it. As a result, the channel waits indefinitely and eventually times out with NS_BINDING_ABORTED.
| Assignee | ||
Comment 1•9 days ago
|
||
| Assignee | ||
Comment 2•9 days ago
|
||
Depends on D301058
| Assignee | ||
Comment 3•9 days ago
|
||
| Assignee | ||
Comment 4•9 days ago
|
||
Depends on D301104
Comment 6•7 days ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/272735c31817
https://hg.mozilla.org/mozilla-central/rev/07a7081f123d
https://hg.mozilla.org/mozilla-central/rev/6aa8326b08e6
https://hg.mozilla.org/mozilla-central/rev/5c4a6a558418
Description
•