Closed Bug 913224 Opened 11 years ago Closed 11 years ago

GenerationalGC: Assertion failure: isTenured(), at gc/Heap.h

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla27

People

(Reporter: gkw, Assigned: jonco)

References

Details

(Keywords: assertion, testcase)

Attachments

(3 files, 1 obsolete file)

Attached file stack (deleted) —
function f(x) { [1].some(x) } for each(let b in this) { try { f(b) } catch (e) {} } asserts js debug shell (tested with a threadsafe deterministic 32-bit debug build) on m-i changeset 4dceda951fba without any CLI arguments at Assertion failure: isTenured(), at gc/Heap.h My configure options are: LD=ld CROSS_COMPILE=1 CXX="clang++ -Qunused-arguments -arch i386" RANLIB=ranlib CC="clang -Qunused-arguments -arch i386" AS=$CC AR=ar STRIP="strip -x -S" HOST_CC="clang -Qunused-arguments" HOST_CXX="clang++ -Qunused-arguments" sh ./configure --target=i386-apple-darwin9.2.0 --enable-macos-target=10.5 --enable-optimize --enable-debug --enable-profiling --enable-gczeal --enable-debug-symbols --enable-methodjit --enable-type-inference --disable-tests --enable-more-deterministic --enable-exact-rooting --enable-gcgenerational --with-ccache --enable-threadsafe <other NSPR options>
Flags: needinfo?(terrence)
(In reply to Gary Kwong [:gkw] [:nth10sd] (PTO Sep 24 - 27) from comment #0) This test case is kind of evil! Let's hope none of our global functions do anything destructive when you call them.
Assignee: general → jcoppeard
Status: NEW → ASSIGNED
Attached patch fix-dump-heap (obsolete) (deleted) — Splinter Review
Patch to take account of things in the nursery, which are shown with the letter 'N'.
Attachment #809981 - Flags: review?(wmccloskey)
Comment on attachment 809981 [details] [diff] [review] fix-dump-heap Review of attachment 809981 [details] [diff] [review]: ----------------------------------------------------------------- Ooh, I like!
DumpHeapComplete doesn't deal with nursery stuff correctly anyway because there's no way to iterate over all the objects in the nursery. We will occasionally hit some nursery things from MarkRuntime though, which I think is why the assert happens. I think we have the choice of two behaviors: 1. Do a nursery collection at the top of DumpHeapComplete. Then you'll at least see all the live objects. The downside is that the heap is modified, which people probably don't expect. 2. Ignore the nursery entirely and don't modify the heap. I can imagine people wanting both of these. Why don't we force them to pass an enum in with two clear values? CollectNurseryBeforeDump IgnoreNurseryObjects I think that existing calls to DumpHeapComplete probably want to pass in CollectNurseryBeforeDump. IgnoreNurseryObjects would mostly be useful while debugging leaks and stuff. Additionally, we should change DumpHeapVisitRoot to ignore nursery objects. Does that sound reasonable? CCing Andrew since he uses DumpHeapComplete more than anyone.
Attached patch fix-dump-heap v2 (deleted) — Splinter Review
That sounds good. Here's an updated patch that works as described. Also, this doesn't fclose(stdout) in the dumpHeapComplete() shell function.
Attachment #809981 - Attachment is obsolete: true
Attachment #809981 - Flags: review?(wmccloskey)
Attachment #810578 - Flags: review?(wmccloskey)
Comment on attachment 810578 [details] [diff] [review] fix-dump-heap v2 Review of attachment 810578 [details] [diff] [review]: ----------------------------------------------------------------- Thanks.
Attachment #810578 - Flags: review?(wmccloskey) → review+
Attached patch update-call-to-dump-heap (deleted) — Splinter Review
I forgot to update the call to js::DumpHeapComplete().
Attachment #811065 - Flags: review?(continuation)
Attachment #811065 - Flags: review?(continuation) → review+
Flags: needinfo?(terrence)
Bah, was reading the wrong log, this is infra afaict, will reland
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
No longer depends on: 922091
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: