PHttpChannelChild::Send__delete__ called late in shutdown

NEW
Unassigned

Status

()

Core
Networking
P3
normal
4 years ago
9 months ago

People

(Reporter: mccr8, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [necko-backlog])

(Reporter)

Description

4 years ago
In debug Linux e10s M5, we sometimes destroy an nsHTMLDocument during shutdown cycle collection, which ends up calling HttpChannelChild::Release, which ends up calling PHttpChannelChild::Send__delete__() when it is too late to actually send anything, so we exit the child process.  This prevents us from getting leak logs for the child process.

Comment 1

4 years ago
I wonder if we could just make the IPDL machinery know when it's too late to be able to send anything and silently ignore such requests? It seems like the only other solution is playing whack-a-mole with the ContentChild::IsAlive hammer.
(Reporter)

Comment 2

4 years ago
That sounds fine to me, but I think Ben wants it like this.  Is that right, Ben?  We have a few of these on file already, and I need to file some more.
Flags: needinfo?(bent.mozilla)

Comment 3

4 years ago
Also, this case is more complicated because the IPDL destructor will release the channel, thus preventing a leak. If we guard the Send__delete__ call, we don't run the release code and therefore leak the channel.
(Reporter)

Updated

4 years ago
Blocks: 1083897
No longer blocks: 1051230
(Reporter)

Comment 4

4 years ago
This is also happening sometimes in e10s debug M1.
(Reporter)

Updated

4 years ago
Blocks: 1067633
(Reporter)

Updated

4 years ago
No longer blocks: 1083897
We talked about this in some other bug, right?
Flags: needinfo?(bent.mozilla)
(Reporter)

Comment 6

4 years ago
Yeah, sorry, I should have cancelled the needinfo.
Whiteboard: [necko-backlog]
You need to log in before you can comment on or make changes to this bug.