Closed Bug 1513266 Opened 5 years ago Closed 5 years ago

Crash with ReadableStream and oomTest

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: jorendorff, Assigned: jorendorff)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

// |jit-test| --no-ion; --no-baseline

function test() {
  let controller;
  let stream = new ReadableStream({
    start(c) {}
  });
  stream.getReader();  // <-- if we oom at a certain point in here,
  drainJobQueue();     // <-- we'll crash in here trying to fire start()
}

// Force lazy parsing to happen before oomTest starts.
//
// By design, oomTest expects the testing-function to follow the same code path
// each time it is called, right up to the point where OOM occurs. If on
// iteration 70 we finish and cache a unit of work that saves 65 allocations
// the next time we run, then the subsequent 65 allocation points go untested.
// (In this test, that means the entire part of the test we care about.)
//
// Things in this category include lazy parsing and basline compilation;
// we avoid the first by calling the test function once first, and the second
// by disabling the jits with a mode line.
test();

oomTest(test, {verbose: true, keepFailing: false});
Assignee: nobody → jorendorff
Pushed by jorendorff@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f0431c25de7f
Part 1: Trivial fixes for oomTest. r=jwalden
https://hg.mozilla.org/integration/autoland/rev/06ca846a54c0
Part 2: Fix OOM crash in ReadableStream. r=jwalden
https://hg.mozilla.org/mozilla-central/rev/f0431c25de7f
https://hg.mozilla.org/mozilla-central/rev/06ca846a54c0
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: