Closed Bug 1266630 Opened 4 years ago Closed 4 years ago

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

Categories

(Core :: XPConnect, defect, critical)

x86
Windows NT
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
firefox47 --- wontfix
firefox48 --- fixed

People

(Reporter: njn, Assigned: njn)

References

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

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().
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+
https://hg.mozilla.org/integration/mozilla-inbound/rev/e1b99e5251cb9ba6620599a2c1f7e54d00fc413c
Bug 1266630 - Make fallible the orphan node table used during memory reporting. r=mccr8.
https://hg.mozilla.org/mozilla-central/rev/e1b99e5251cb
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
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?
Blocks: 1275129
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.