Intermittent PROCESS-CRASH | Main app process exited normally | application crashed [@ js::AutoEnterOOMUnsafeRegion::crash(char const *)] after Assertion failure: [unhandlable oom] Can't append to delayed gray checks list

RESOLVED FIXED in Firefox 66

Status

()

defect
P5
critical
RESOLVED FIXED
5 months ago
5 months ago

People

(Reporter: intermittent-bug-filer, Assigned: jonco)

Tracking

({assertion, crash, intermittent-failure})

unspecified
mozilla66
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox64 unaffected, firefox65 unaffected, firefox66 fixed)

Details

(crash signature)

Attachments

(1 attachment)

Reporter

Description

5 months ago
treeherder
Filed by: nerli [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=217490799&repo=autoland

https://queue.taskcluster.net/v1/task/BbmSJFADTs2zvWK9HnLR5g/runs/0/artifacts/public/logs/live_backing.log

18:34:05     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:05     INFO - GECKO(3284) | ++DOMWINDOW == 181 (0EB3B400) [pid = 4488] [serial = 1749] [outer = 0B740200]
18:34:05     INFO - GECKO(3284) | Initializing context 1299E000 surface 11805790 on display 011915B0
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:06     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:07     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/dom/base/nsContentUtils.cpp, line 8205
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, *this) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 472
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, mStatus) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 623
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8007000E: file z:/build/build/src/dom/base/nsImageLoadingContent.cpp, line 865
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, *this) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 472
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, mStatus) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 623
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, *this) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 472
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, mStatus) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 623
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8007000E: file z:/build/build/src/dom/base/nsImageLoadingContent.cpp, line 865
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, *this) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 472
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, mStatus) failed with result 0x8007000E: file z:/build/build/src/obj-firefox/dist/include\nsIURIMutator.h, line 623
18:34:08     INFO - GECKO(3284) | [Child 4488, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8007000E: file z:/build/build/src/dom/base/nsImageLoadingContent.cpp, line 865
18:34:08     INFO - GECKO(3284) | MEMORY STAT | vsize 1957MB | vsizeMaxContiguous 2MB | residentFast 1307MB | heapAllocated 1050MB
18:34:08     INFO - TEST-OK | dom/canvas/test/webgl-conf/generated/test_2_conformance__ogles__GL__swizzlers__swizzlers_057_to_064.html | took 2936ms
18:34:08     INFO - GECKO(3284) | Assertion failure: [unhandlable oom] Can't append to delayed gray checks list, at z:/build/build/src/js/src/vm/JSContext.cpp:1486
18:34:08     INFO - GECKO(3284) | Hit MOZ_CRASH() at z:/build/build/src/js/src/vm/JSContext.cpp:1487

18:34:25     INFO - CPU: x86
18:34:25     INFO -      GenuineIntel family 6 model 45 stepping 7
18:34:25     INFO -      8 CPUs
18:34:25     INFO - 
18:34:25     INFO - GPU: UNKNOWN
18:34:25     INFO - 
18:34:25     INFO - Crash reason:  EXCEPTION_BREAKPOINT
18:34:25     INFO - Crash address: 0x59039571
18:34:25     INFO - Assertion: Unknown assertion type 0x00000000
18:34:25     INFO - Process uptime: 455 seconds
18:34:25     INFO - 
18:34:25     INFO - Thread 0 (crashed)
18:34:25     INFO -  0  xul.dll!js::AutoEnterOOMUnsafeRegion::crash(char const *) [JSContext.cpp:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 1487 + 0x0]
18:34:25     INFO -     eip = 0x59039571   esp = 0x0041d3e8   ebp = 0x0041d7f0   ebx = 0x0f4dd0a0
18:34:25     INFO -     esi = 0x0041d3e8   edi = 0x5b2f4fc1   eax = 0x6cb1d6a4   ecx = 0x000005cf
18:34:25     INFO -     edx = 0x6c81e340   efl = 0x00000206
18:34:25     INFO -     Found by: given as instruction pointer in context
18:34:25     INFO -  1  xul.dll!js::gc::detail::AssertCellIsNotGray(js::gc::Cell const *) [GC.cpp:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 8953 + 0xd]
18:34:25     INFO -     eip = 0x593604d5   esp = 0x0041d7f8   ebp = 0x0041d80c
18:34:25     INFO -     Found by: previous frame's frame pointer
18:34:25     INFO -  2  xul.dll!js::NativeObject::create(JSContext *,js::gc::AllocKind,js::gc::InitialHeap,JS::Handle<js::Shape *>,JS::Handle<js::ObjectGroup *>) [NativeObject-inl.h:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 531 + 0x15]
18:34:25     INFO -     eip = 0x58f0b8ac   esp = 0x0041d814   ebp = 0x0041d840
18:34:25     INFO -     Found by: previous frame's frame pointer
18:34:25     INFO -  3  xul.dll!static class JSObject * NewObject(struct JSContext *, class JS::Handle<js::ObjectGroup *>, js::gc::AllocKind, js::NewObjectKind, unsigned int) [JSObject.cpp:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 799 + 0x19]
18:34:25     INFO -     eip = 0x590625bd   esp = 0x0041d848   ebp = 0x0041d898
18:34:25     INFO -     Found by: previous frame's frame pointer
18:34:25     INFO -  4  xul.dll!js::NewObjectWithGivenTaggedProto(JSContext *,js::Class const *,JS::Handle<js::TaggedProto>,js::gc::AllocKind,js::NewObjectKind,unsigned int) [JSObject.cpp:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 864 + 0x17]
18:34:25     INFO -     eip = 0x5906213f   esp = 0x0041d8a0   ebp = 0x0041d8e0
18:34:25     INFO -     Found by: previous frame's frame pointer
18:34:25     INFO -  5  xul.dll!JS_NewObjectWithGivenProto(JSContext *,JSClass const *,JS::Handle<JSObject *>) [jsapi.cpp:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 1741 + 0x3d]
18:34:25     INFO -     eip = 0x592b250f   esp = 0x0041d8e8   ebp = 0x0041d914
18:34:25     INFO -     Found by: previous frame's frame pointer
18:34:25     INFO -  6  xul.dll!mozilla::dom::BindingJSObjectCreator<mozilla::dom::PageTransitionEvent>::CreateObject(JSContext *,JSClass const *,JS::Handle<JSObject *>,mozilla::dom::PageTransitionEvent *,JS::MutableHandle<JSObject *>) [BindingUtils.h:d6da87f6c253ac0fc3a19fbcd496d53a91dc1c1f : 2489 + 0x8]
18:34:25     INFO -     eip = 0x55c7b8ae   esp = 0x0041d91c   ebp = 0x0041d944
18:34:25     INFO -     Found by: previous frame's frame pointer
18:34:25     INFO -  7  xul.dll!mozilla::dom::PageTransitionEvent_Binding::Wrap(JSContext *,mozilla::dom::PageTransitionEvent *,nsWrapperCache *,JS::Handle<JSObject *>,JS::MutableHandle<JSObject *>) [PageTransitionEventBinding.cpp: : 683 + 0x14]
18:34:25     INFO -     eip = 0x55c7b33a   esp = 0x0041d94c   ebp = 0x0041d9c0
18:34:25     INFO -     Found by: previous frame's frame pointer
Assignee

Updated

5 months ago
Component: JavaScript Engine → JavaScript: GC
Comment hidden (Intermittent Failures Robot)
Comment hidden (Intermittent Failures Robot)
Assignee

Updated

5 months ago
Assignee: nobody → jcoppeard
Assignee

Comment 3

5 months ago
Most of the time (well, all the time in my experiments) when we call this assertion function during marking, the cell is actually marked black and so can't become gray no matter what happens.  In this case we can skip adding it to the list.  This should reduce the memory usage here.
Attachment #9033969 - Flags: review?(sphink)
Comment on attachment 9033969 [details] [diff] [review]
bug1514850-delayed-gray-checks

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

Skip allocations, where we can't even handle an oom? I'm sold!
Attachment #9033969 - Flags: review?(sphink) → review+

Comment 5

5 months ago
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/38f962460f28
Don't delay checking of cells that are already marked black r=sfink

Comment 6

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/38f962460f28
Status: NEW → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.