Closed Bug 1655203 Opened 2 years ago Closed 2 years ago

Add tests for AutoStableStringChars and deduplication

Categories

(Core :: JavaScript: GC, task, P3)

task

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: sfink, Assigned: sfink)

Details

Attachments

(1 file)

It really bothered me that I didn't have a simple test for the bug where AutoStableStringChars hangs onto a string whose characters are deduplicated out from under it (via its base or base's base.)

With enough stepping through with a debugger, and the discovery that JSON.parse has a long critical section where the problem can be observed, I finally came up with one.

Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d2de3e4125b3
Add tests for AutoStableStringChars and deduplication r=jonco

Backed out changeset d2de3e4125b3 (bug 1655203) for dedupe-02.js failures

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&selectedTaskRun=Wr1pVb0oTp6gB6BPo0Zmsg.0&fromchange=0d918902af47e02efbe37253d32a0e0292338c2e&tochange=3c95d3e585f33f60a2b4de9ef5d68e990ec08074&searchStr=sm

Backout link: https://hg.mozilla.org/integration/autoland/rev/3c95d3e585f33f60a2b4de9ef5d68e990ec08074

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=311233850&repo=autoland&lineNumber=29995

...
[task 2020-07-28T04:59:17.678Z] TEST-PASS | js/src/jit-test/tests/gc/bug888463.js | Success (code 0, args "--baseline-eager") [0.2 s]
[task 2020-07-28T04:59:17.709Z] /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.709Z] Stack:
[task 2020-07-28T04:59:17.709Z]   @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.710Z] Exit code: 3
[task 2020-07-28T04:59:17.710Z] FAIL - gc/dedupe-02.js
[task 2020-07-28T04:59:17.710Z] TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/gc/dedupe-02.js | /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined (code 3, args "") [0.2 s]
[task 2020-07-28T04:59:17.710Z] INFO exit-status     : 3
[task 2020-07-28T04:59:17.710Z] INFO timed-out       : False
[task 2020-07-28T04:59:17.710Z] INFO stderr         2> /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.710Z] INFO stderr         2> Stack:
[task 2020-07-28T04:59:17.710Z] INFO stderr         2> @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.725Z] TEST-PASS | js/src/jit-test/tests/gc/bug888463.js | Success (code 0, args "--blinterp-eager") [0.2 s]
[task 2020-07-28T04:59:17.731Z] TEST-PASS | js/src/jit-test/tests/gc/bug888463.js | Success (code 0, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --ion-extra-checks --no-sse3 --no-threads") [0.3 s]
[task 2020-07-28T04:59:17.750Z] /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.751Z] Stack:
[task 2020-07-28T04:59:17.751Z]   @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.751Z] Exit code: 3
[task 2020-07-28T04:59:17.751Z] FAIL - gc/dedupe-02.js
[task 2020-07-28T04:59:17.751Z] TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/gc/dedupe-02.js | /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined (code 3, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --ion-extra-checks --no-sse3 --no-threads") [0.2 s]
[task 2020-07-28T04:59:17.751Z] INFO exit-status     : 3
[task 2020-07-28T04:59:17.751Z] INFO timed-out       : False
[task 2020-07-28T04:59:17.751Z] INFO stderr         2> /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.751Z] INFO stderr         2> Stack:
[task 2020-07-28T04:59:17.751Z] INFO stderr         2> @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.765Z] TEST-PASS | js/src/jit-test/tests/gc/bug888463.js | Success (code 0, args "--no-blinterp --no-baseline --no-ion --more-compartments") [0.3 s]
[task 2020-07-28T04:59:17.791Z] /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.791Z] Stack:
[task 2020-07-28T04:59:17.791Z]   @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.791Z] Exit code: 3
[task 2020-07-28T04:59:17.791Z] FAIL - gc/dedupe-02.js
[task 2020-07-28T04:59:17.791Z] TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/gc/dedupe-02.js | /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined (code 3, args "--ion-eager --ion-offthread-compile=off --more-compartments") [0.2 s]
[task 2020-07-28T04:59:17.791Z] INFO exit-status     : 3
[task 2020-07-28T04:59:17.791Z] INFO timed-out       : False
[task 2020-07-28T04:59:17.791Z] INFO stderr         2> /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.791Z] INFO stderr         2> Stack:
[task 2020-07-28T04:59:17.791Z] INFO stderr         2> @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.799Z] /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined
[task 2020-07-28T04:59:17.799Z] Stack:
[task 2020-07-28T04:59:17.799Z]   @/builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1
[task 2020-07-28T04:59:17.799Z] Exit code: 3
[task 2020-07-28T04:59:17.800Z] FAIL - gc/dedupe-02.js
[task 2020-07-28T04:59:17.800Z] TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/gc/dedupe-02.js | /builds/worker/checkouts/gecko/js/src/jit-test/tests/gc/dedupe-02.js:23:1 ReferenceError: dumpStringRepresentation is not defined (code 3, args "--baseline-eager") [0.2 s]
[task 2020-07-28T04:59:17.800Z] INFO exit-status     : 3
...
Flags: needinfo?(sphink)

Ugh, right. dumpStringRepresentation is not available in opt builds.

Flags: needinfo?(sphink)
Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6574edec0d54
Add tests for AutoStableStringChars and deduplication r=jonco
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
You need to log in before you can comment on or make changes to this bug.