Closed Bug 970427 Opened 10 years ago Closed 10 years ago

Assertion failure: !"Background finalization in progress, but it should not be.", at jsgc.cpp:5454

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla30
Tracking Status
firefox29 --- unaffected
firefox30 --- fixed
firefox-esr24 --- unaffected

People

(Reporter: decoder, Assigned: shu)

References

Details

(Keywords: assertion, regression, testcase)

Attachments

(2 files)

The following testcase asserts on mozilla-central revision ecf20a2484b6 (threadsafe build, run with --fuzzing-safe):


function f(a, b) {
    var o = a;
    gczeal(2);
}
f(3, 4);
var len = 5000;
var iters = 100;
for (var i = 0; i < iters; i++) {
    var par = Array.buildPar(len, fill);
}
function fill(i) { return 10/i; }
autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   http://hg.mozilla.org/mozilla-central/rev/ad7777f1c0f5
user:        Shu-yu Guo
date:        Fri Feb 07 14:40:29 2014 -0800
summary:     Bug 958370 - Unify chunks and slices; self-host the scheduler's slice processing loop. (r=nmatsakis)

Shu-yu, is bug 958370 a likely regressor?
Blocks: 958370
Flags: needinfo?(shu)
Keywords: regression
I called the bounds function in the wrong place; it should be called before
ForkJoinActivation, since we need to ensure no more sequential JS is called
after the activation, which takes care of joining background finalization.
Attachment #8375302 - Flags: review?(nmatsakis)
Assignee: nobody → shu
Status: NEW → ASSIGNED
Flags: needinfo?(shu)
Comment on attachment 8375302 [details] [diff] [review]
Push ForkJoinActivation after calling the bounds function.

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

Makes sense.

::: js/src/jit-test/tests/parallel/bug970427.patch
@@ +1,1 @@
> +// XXXshu: I tried wrapping the entire test in an |if (pjs)|, but the timing

Did you mean to name this file `.js`?

Also, remove the XXXshu...?
Attachment #8375302 - Flags: review?(nmatsakis) → review+
(In reply to Niko Matsakis [:nmatsakis] from comment #4)
> Comment on attachment 8375302 [details] [diff] [review]
> Push ForkJoinActivation after calling the bounds function.
> 
> Review of attachment 8375302 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Makes sense.
> 
> ::: js/src/jit-test/tests/parallel/bug970427.patch
> @@ +1,1 @@
> > +// XXXshu: I tried wrapping the entire test in an |if (pjs)|, but the timing
> 
> Did you mean to name this file `.js`?
> 

Oops, yes.

> Also, remove the XXXshu...?

I intentionally left it to warn against refactoring the test in the future, since it's very timing sensitive.
https://hg.mozilla.org/mozilla-central/rev/817d71fa6cc2
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
Status: RESOLVED → VERIFIED
JSBugMon: This bug has been automatically verified fixed.
Group: core-security
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: