crash in OOM | large | NS_ABORT_OOM | PLDHashTable::Add | xpc::OrphanReporter::sizeOfIncludingThis

RESOLVED FIXED in Firefox 48

Status

()

Core
XPConnect
--
critical
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: njn, Assigned: njn)

Tracking

({crash})

Trunk
mozilla48
x86
Windows NT
crash
Points:
---

Firefox Tracking Flags

(firefox47 wontfix, firefox48 fixed)

Details

(crash signature)

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
This bug was filed from the Socorro interface and is 
report bp-607d8675-2220-4cc7-8fb9-501652160415.
=============================================================

60+ occurrences of this crash in the past week. Should be a simple fix -- just use fallible PutEntry().
(Assignee)

Comment 1

2 years ago
Created attachment 8744150 [details] [diff] [review]
Make fallible the orphan node table used during memory reporting

This fixes some OOM crashes.
Attachment #8744150 - Flags: review?(continuation)
Comment on attachment 8744150 [details] [diff] [review]
Make fallible the orphan node table used during memory reporting

Review of attachment 8744150 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/xpconnect/src/XPCJSRuntime.cpp
@@ +2740,5 @@
>              // sub-tree that this node belongs to, measure the sub-tree's size
>              // and then record its root so we don't measure it again.
>              nsCOMPtr<nsINode> orphanTree = node->SubtreeRoot();
>              if (!mAlreadyMeasuredOrphanTrees.Contains(orphanTree)) {
>                  n += SizeOfTreeIncludingThis(orphanTree);

Not a big deal, but you could also undercount instead of overcount by not doing it until you see if the PutEntry succeeds.
Attachment #8744150 - Flags: review?(continuation) → review+
(Assignee)

Comment 3

2 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/e1b99e5251cb9ba6620599a2c1f7e54d00fc413c
Bug 1266630 - Make fallible the orphan node table used during memory reporting. r=mccr8.

Comment 4

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/e1b99e5251cb
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox48: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
(Assignee)

Comment 5

2 years ago
Comment on attachment 8744150 [details] [diff] [review]
Make fallible the orphan node table used during memory reporting

Approval Request Comment
[Feature/regressing bug #]: memory reporting.

[User impact if declined]: posible OOM crashes when measuring in about:memory. Also, makes backporting bug 1275129 harder.

[Describe test coverage new/current, TreeHerder]:

[Risks and why]: low. Trivial patch -- changes an infallible hash table insertion to a falliable one.

[String/UUID change made/needed]:
Attachment #8744150 - Flags: approval-mozilla-beta?
(Assignee)

Updated

2 years ago
Blocks: 1275129

Updated

2 years ago
status-firefox47: --- → wontfix

Comment 6

2 years ago
Comment on attachment 8744150 [details] [diff] [review]
Make fallible the orphan node table used during memory reporting

I don't see enough instances of this on Beta47, it is a very low volume crash. I'd prefer to let this one ride the Aurora48 to Beta48 train.
Attachment #8744150 - Flags: approval-mozilla-beta? → approval-mozilla-beta-
You need to log in before you can comment on or make changes to this bug.