Channel may not have local and remote addresses accessible during nsISocketTransport::STATUS_WAITING_FOR

NEW
Unassigned

Status

()

Core
Networking: HTTP
P5
normal
7 years ago
5 months ago

People

(Reporter: mayhemer, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [necko-would-take])

(Reporter)

Description

7 years ago
- first, we post an event to distributor observers from the network thread (in nsHttpTransaction::OnTransportStatus)
- second, we post an event to the channel (again, in nsHttpTransaction::OnTransportStatus)
- if we reuse a connection for that channel, there is no STATUS_CONNECTED_TO sent to the channel
- therefor the channel grabs addresses from the transport in STATUS_WAITING_FOR event first
- this event is delivered to distributor observers sooner then to the channel -> when observers call on the channel it doesn't have the address yet

I propose to reverse order of posts to distributor and to the channel (transport sink) from nsHttpTransaction::OnTransportStatus.
(Reporter)

Comment 1

6 years ago
Fixed as part of bug 648878.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 648878
Honza, are you sure this is a dupe of 648878?  That bug was 1) fixed 3 months before you reported this, and 2) seems to be not something that would fix your issue here (it's a local/remote address bug, but only for e10s, and this sounds like a main process issue).

On the plus side, you've made me realize that we never closed up the followup to bug 648878--bug 664163. Thanks! :)
(Reporter)

Comment 3

6 years ago
You are right, thanks.  I forgot the details of this bug.  The problem is elsewhere.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
(Reporter)

Updated

6 years ago
Status: REOPENED → NEW
Whiteboard: [necko-would-take]
You need to log in before you can comment on or make changes to this bug.