Closed Bug 1137610 Opened 9 years ago Closed 9 years ago

Differential Testing: Different output message involving startgc

Categories

(Core :: JavaScript: GC, defect)

x86_64
macOS
defect
Not set
major

Tracking

()

RESOLVED INVALID
Tracking Status
firefox39 --- affected

People

(Reporter: gkw, Unassigned)

References

Details

(Keywords: regression, testcase)

try {
    (function() {
        x.valueOf = (function() {});
    })()
} catch (e) {}
try {
    startgc();
    print("FOO");
} catch (e) {}


$ ./js-dbg-64-dm-nsprBuild-darwin-0a8b3b67715a --fuzzing-safe --no-threads --ion-eager testcase.js
FOO

$ ./js-dbg-64-dm-nsprBuild-darwin-0a8b3b67715a --fuzzing-safe --no-threads --ion-eager --gc-zeal=8 testcase.js
$

Tested this on m-c rev 0a8b3b67715a.

My configure flags are:

CC="clang -Qunused-arguments" CXX="clang++ -Qunused-arguments" AR=ar AUTOCONF=/usr/local/Cellar/autoconf213/2.13/bin/autoconf213 sh ~/trees/mozilla-central/js/src/configure --target=x86_64-apple-darwin12.5.0 --enable-debug --enable-nspr-build --enable-more-deterministic --with-ccache --enable-gczeal --enable-debug-symbols --disable-tests

python -u ~/fuzzing/js/compileShell.py -b "--enable-debug --enable-more-deterministic --enable-nspr-build -R ~/trees/mozilla-central" -r 0a8b3b67715a

autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   https://hg.mozilla.org/mozilla-central/rev/2c46028281dd
user:        Jon Coppeard
date:        Mon Jan 12 10:29:38 2015 +0000
summary:     Bug 1119759 - Add gcstart() test function to start an incremental GC r=terrence

Jon, is bug 1119759 a likely regressor?
Flags: needinfo?(jcoppeard)
Not a SM issue, rather, an issue with the fuzzer. -> INVALID
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(jcoppeard)
Resolution: --- → INVALID
I fixed the problem in the fuzzer.

Well, I hope I did. I said the same thing last time, and I was wrong.

changeset:   160d7f36a1d5
user:        Jesse Ruderman <jruderman@gmail.com>
date:        Sat Feb 28 12:27:58 2015 -0800
summary:     Bug 1137610 - Fix another differential-testing issue with eval. Turns out that when something throws, eval returns the value of the previous expression-statement.
The problem is that startgc() will fail if a GC is already running, and running with GC zeal will cause that to happen.  So yes I'd say this expected behaviour.
You need to log in before you can comment on or make changes to this bug.