Closed Bug 1556987 Opened 3 months ago Closed 3 months ago

Invalid assertion in nsHttpChannel::OnPush

Categories

(Core :: Networking: HTTP, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: michal, Assigned: michal)

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

Assertion at https://searchfox.org/mozilla-central/rev/9eb2f739c165b4e294929f7b99fbb4d90f8a396b/netwerk/protocol/http/nsHttpChannel.cpp#9278 is wrong. In nsHttpChannel::SetupTransaction we check whether notification callbacks implement nsIHttpPushListener and set NS_HTTP_ONPUSH_LISTENER capability if yes. But nsHttpChannel::OnPush event is initiated on socket thread in Http2PushedStream::TryOnPush and the channel can be closed and listeners released before nsHttpChannel::OnPush is called on the main thread.

NS_HTTP_ONPUSH_LISTENER capability is set in nsHttpChannel::SetupTransaction when notification callbacks implement nsIHttpPushListener, but nsHttpChannel::OnPush event is initiated on socket thread in Http2PushedStream::TryOnPush and the channel can be closed and listeners released before nsHttpChannel::OnPush is called on the main thread.

Pushed by mnovotny@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5469953bfe6f
Invalid assertion in nsHttpChannel::OnPush, r=dragana
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in before you can comment on or make changes to this bug.