Perma (tier2) /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
Categories
(Core :: JavaScript Engine, defect, P5)
Tracking
()
People
(Reporter: intermittent-bug-filer, Unassigned)
References
(Regression)
Details
(Keywords: intermittent-failure, regression)
Attachments
(2 files)
Filed by: nerli [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=259522143&repo=mozilla-central
Full log: https://queue.taskcluster.net/v1/task/RbfvTp5TSRWrFs7l6vrOZQ/runs/0/artifacts/public/logs/live_backing.log
[task 2019-08-02T05:12:55.098Z] 05:12:55 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "--blinterp-eager") [0.6 s]
[task 2019-08-02T05:12:55.106Z] 05:12:55 INFO - object name: f1
[task 2019-08-02T05:12:55.107Z] 05:12:55 INFO - [CodeCoverage] Setting handlers for process 878.
[task 2019-08-02T05:12:55.107Z] 05:12:55 INFO - /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
[task 2019-08-02T05:12:55.108Z] 05:12:55 INFO - Stack:
[task 2019-08-02T05:12:55.108Z] 05:12:55 INFO - test@/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13
[task 2019-08-02T05:12:55.110Z] 05:12:55 INFO - @/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:18:5
[task 2019-08-02T05:12:55.111Z] 05:12:55 INFO - Exit code: 3
[task 2019-08-02T05:12:55.112Z] 05:12:55 INFO - FAIL - debug/Script-startColumn.js
[task 2019-08-02T05:12:55.114Z] 05:12:55 WARNING - TEST-UNEXPECTED-FAIL | tests/jit-test/jit-test/tests/debug/Script-startColumn.js | [CodeCoverage] Setting handlers for process 878. (code 3, args "") [0.5 s]
[task 2019-08-02T05:12:55.115Z] 05:12:55 INFO - INFO exit-status : 3
[task 2019-08-02T05:12:55.116Z] 05:12:55 INFO - INFO timed-out : False
[task 2019-08-02T05:12:55.117Z] 05:12:55 INFO - INFO stdout > object name: f1
[task 2019-08-02T05:12:55.119Z] 05:12:55 INFO - INFO stderr 2> [CodeCoverage] Setting handlers for process 878.
[task 2019-08-02T05:12:55.120Z] 05:12:55 INFO - INFO stderr 2> /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
[task 2019-08-02T05:12:55.122Z] 05:12:55 INFO - INFO stderr 2> Stack:
[task 2019-08-02T05:12:55.123Z] 05:12:55 INFO - INFO stderr 2> test@/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13
[task 2019-08-02T05:12:55.124Z] 05:12:55 INFO - INFO stderr 2> @/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:18:5
[task 2019-08-02T05:12:55.488Z] 05:12:55 INFO - object name: f1
[task 2019-08-02T05:12:55.489Z] 05:12:55 INFO - [CodeCoverage] Setting handlers for process 884.
[task 2019-08-02T05:12:55.489Z] 05:12:55 INFO - /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
[task 2019-08-02T05:12:55.489Z] 05:12:55 INFO - Stack:
[task 2019-08-02T05:12:55.489Z] 05:12:55 INFO - test@/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13
[task 2019-08-02T05:12:55.490Z] 05:12:55 INFO - @/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:18:5
[task 2019-08-02T05:12:55.490Z] 05:12:55 INFO - Exit code: 3
[task 2019-08-02T05:12:55.490Z] 05:12:55 INFO - FAIL - debug/Script-startColumn.js
[task 2019-08-02T05:12:55.491Z] 05:12:55 WARNING - TEST-UNEXPECTED-FAIL | tests/jit-test/jit-test/tests/debug/Script-startColumn.js | [CodeCoverage] Setting handlers for process 884. (code 3, args "--ion-eager --ion-offthread-compile=off --more-compartments") [0.7 s]
[task 2019-08-02T05:12:55.491Z] 05:12:55 INFO - INFO exit-status : 3
[task 2019-08-02T05:12:55.491Z] 05:12:55 INFO - INFO timed-out : False
[task 2019-08-02T05:12:55.491Z] 05:12:55 INFO - INFO stdout > object name: f1
[task 2019-08-02T05:12:55.492Z] 05:12:55 INFO - INFO stderr 2> [CodeCoverage] Setting handlers for process 884.
Comment 1•5 years ago
|
||
This started to perma fail on central since https://bugzilla.mozilla.org/show_bug.cgi?id=901138 landed.
https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&searchStr=debug-jittest-1proc-3%2C%28jit3%29&selectedJob=259528015
:mattheww could you please take a look at this?
Comment hidden (Intermittent Failures Robot) |
I'm taking a look, I'm sorry about this.
Locally (win64, revision 37229c, debug assertions) the test still seems to be passing.
Column 9 corresponds to the start of the function name rather than the opening parenthesis. Could something about my settings or how I'm running it affect parsing in that way? (It could also be a coincidence and the offset is from something else.)
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 5•5 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/07052ce569c3 is the only revision that touched Script-startColumn.js
Comment hidden (Intermittent Failures Robot) |
Comment 7•5 years ago
|
||
Status update: I downloaded the shell built from one of the failing jobs, and ran the test on my machine; it passes. I'm trying a try push of that single job now, based on changeset 4748c006ae7b, to see if that also fails.
It's very odd that only the coverage test fails. It suggests that the patch might be hitting some undefined behavior, which is bad.
Comment hidden (Intermittent Failures Robot) |
Comment 9•5 years ago
|
||
This bug failed 60 times in the last 7 days. Occurs on Ccov platforms on debug build types.
Recent log:
https://treeherder.mozilla.org/logviewer.html#?job_id=262195656&repo=mozilla-central
Comment 10•5 years ago
|
||
I'm still not sure why this is happening, and I support backing out the startColumn patch.
I believe the property getter is working correctly, and is reading a bogus value that was written to the script. In the failing test, the script's value is copied from the LazyScript here and asserted equal to it here. If the LazyScript's position were wrong, other tests would fail, so it must be going wrong after the assertion. I'd like to add more assertions and see the output of the other tests, but I don't think it would narrow it down enough to matter.
Is it possible to access the binaries that are failing, or get an exact copy of the build environment? I haven't been able to reproduce the failure locally. The try server wiki article suggests you can download their build output, but all the files on the linked FTP site are from 2018.
Comment hidden (Intermittent Failures Robot) |
Comment 12•5 years ago
|
||
Joel what are your thoughts, should we backout startColumn patch from Bug 901138?
Comment 13•5 years ago
|
||
MatthewW- it is possible to download the build/test/binaries. Keep in mind this is on linux (ubuntu 16.04), probably not a requirement to use our docker image.
As for running the test, you can look at a raw log [1] and see:
[task 2019-08-04T10:56:26.220Z] 10:56:26 INFO - Downloading and extracting to /builds/worker/workspace/build/tests these dirs * from https://queue.taskcluster.net/v1/task/H2BnddiMQ9GmGz8rqyHSRA/artifacts/public/build/target.common.tests.tar.gz
[task 2019-08-04T10:57:08.562Z] 10:57:08 INFO - Downloading and extracting to /builds/worker/workspace/build/tests/bin these dirs * from https://queue.taskcluster.net/v1/task/H2BnddiMQ9GmGz8rqyHSRA/artifacts/public/build/target.jsshell.zip
[task 2019-08-04T10:57:39.728Z] 10:57:39 INFO - Downloading https://queue.taskcluster.net/v1/task/H2BnddiMQ9GmGz8rqyHSRA/artifacts/public/build/target.tar.bz2 to /builds/worker/workspace/build/installer.tar.bz2
and then the command:
[task 2019-08-04T11:01:37.434Z] 11:01:37 INFO - Copy/paste: /builds/worker/workspace/build/venv/bin/python -u /builds/worker/workspace/build/tests/jit-test/jit-test/jit_test.py --total-chunks 6 --this-chunk 3 tests/bin/js --no-slow --no-progress --format=automation --jitflags=all --timeout=970
This can also be tweaked and tested on try.
As for backing out, I agree this is a good path forward while MatthewW reproduces/fixes this.
[1] https://taskcluster-artifacts.net/HpWWvcmESnW_8_nNZHxVdw/0/public/logs/live_backing.log
Updated•5 years ago
|
Comment 14•5 years ago
|
||
Thank you for pointing that out! I thought the artifact links in treeherder were all that were available.
I still can't recreate the bug, using the linked binaries and that command, in ubuntu 18.04 or the docker image. I don't know how it can be so consistent and so elusive. I need to read up on docker so I can run it properly.
Comment 15•5 years ago
|
||
I found it, and there was never any undefined behavior. One of the places setting startColumn was simply wrong and my tests never reached it normally.
FunctionBox and LazyScript consistently use their function's opening parenthesis for their position. All of my tests used lazily parsed functions and in non-ccov tests those positions were always used. However, BytecodeEmitter::emitFunction() instead uses the FunctionNode's position, which is usually the "function" keyword or the function's name.
Having the environment variable JS_CODE_COVERAGE_OUTPUT_DIR
set causes the functions in the test to be parsed non-lazily, which leads to them calling emitFunction() and seeing its incorrect (?) output.
Comment 16•5 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•5 years ago
|
Comment 19•5 years ago
|
||
There are 65 total failures in the last 7 days: https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2019-08-27&endday=2019-09-03&tree=trunk&bug=1570881
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=264709943&repo=mozilla-central&lineNumber=7403
Comment 20•5 years ago
|
||
(In reply to mattheww from comment #15)
Having the environment variable
JS_CODE_COVERAGE_OUTPUT_DIR
set causes the functions in the test to be parsed non-lazily, which leads to them calling emitFunction() and seeing its incorrect (?) output.
Holy cow, that's a smoking gun that I never expected.
Comment 21•5 years ago
|
||
Hi mattheww , are there updates here?
There are 70 total failures in the last 7 days on linux64-ccov, windows10-64-ccov both debug
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=265245153&repo=mozilla-central&lineNumber=7485
[task 2019-09-05T23:22:11.229Z] 23:22:11 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "") [0.6 s]
[task 2019-09-05T23:22:11.573Z] 23:22:11 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "--ion-eager --ion-offthread-compile=off --more-compartments") [0.7 s]
[task 2019-09-05T23:22:11.595Z] 23:22:11 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --ion-extra-checks --no-sse3 --no-threads") [0.6 s]
[task 2019-09-05T23:22:11.772Z] 23:22:11 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "--baseline-eager") [0.6 s]
[task 2019-09-05T23:22:11.817Z] 23:22:11 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "--no-blinterp --no-baseline --no-ion --more-compartments") [0.6 s]
[task 2019-09-05T23:22:12.148Z] 23:22:12 INFO - TEST-PASS | tests/jit-test/jit-test/tests/debug/Script-sourceStart-04.js | Success (code 0, args "--blinterp-eager") [0.6 s]
[task 2019-09-05T23:22:12.164Z] 23:22:12 INFO - object name: f1
[task 2019-09-05T23:22:12.164Z] 23:22:12 INFO - [CodeCoverage] Setting handlers for process 867.
[task 2019-09-05T23:22:12.166Z] 23:22:12 INFO - /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
[task 2019-09-05T23:22:12.167Z] 23:22:12 INFO - Stack:
[task 2019-09-05T23:22:12.167Z] 23:22:12 INFO - test@/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13
[task 2019-09-05T23:22:12.168Z] 23:22:12 INFO - @/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:18:5
[task 2019-09-05T23:22:12.169Z] 23:22:12 INFO - Exit code: 3
[task 2019-09-05T23:22:12.171Z] 23:22:12 INFO - FAIL - debug/Script-startColumn.js
[task 2019-09-05T23:22:12.171Z] 23:22:12 WARNING - TEST-UNEXPECTED-FAIL | tests/jit-test/jit-test/tests/debug/Script-startColumn.js | [CodeCoverage] Setting handlers for process 867. (code 3, args "") [0.6 s]
[task 2019-09-05T23:22:12.172Z] 23:22:12 INFO - INFO exit-status : 3
[task 2019-09-05T23:22:12.173Z] 23:22:12 INFO - INFO timed-out : False
[task 2019-09-05T23:22:12.174Z] 23:22:12 INFO - INFO stdout > object name: f1
[task 2019-09-05T23:22:12.175Z] 23:22:12 INFO - INFO stderr 2> [CodeCoverage] Setting handlers for process 867.
[task 2019-09-05T23:22:12.175Z] 23:22:12 INFO - INFO stderr 2> /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
[task 2019-09-05T23:22:12.176Z] 23:22:12 INFO - INFO stderr 2> Stack:
[task 2019-09-05T23:22:12.177Z] 23:22:12 INFO - INFO stderr 2> test@/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13
[task 2019-09-05T23:22:12.178Z] 23:22:12 INFO - INFO stderr 2> @/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:18:5
[task 2019-09-05T23:22:12.489Z] 23:22:12 INFO - object name: f1
[task 2019-09-05T23:22:12.489Z] 23:22:12 INFO - [CodeCoverage] Setting handlers for process 877.
[task 2019-09-05T23:22:12.490Z] 23:22:12 INFO - /builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13 Error: Assertion failed: got 9, expected 11
[task 2019-09-05T23:22:12.492Z] 23:22:12 INFO - Stack:
[task 2019-09-05T23:22:12.494Z] 23:22:12 INFO - test@/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:11:13
[task 2019-09-05T23:22:12.496Z] 23:22:12 INFO - @/builds/worker/workspace/build/tests/jit-test/jit-test/tests/debug/Script-startColumn.js:18:5
[task 2019-09-05T23:22:12.497Z] 23:22:12 INFO - Exit code: 3
[task 2019-09-05T23:22:12.499Z] 23:22:12 INFO - FAIL - debug/Script-startColumn.js
Comment 22•5 years ago
|
||
I'm hammering out a fix right now. I hope to have it done by next week, but I'm okay with whatever has to be done to stop it failing.
Comment 23•5 years ago
•
|
||
Thank you.
There are 267 total failures in the last 30 days, Geoff, can this be disabled?
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 25•5 years ago
|
||
(In reply to Andreea Pavel [:apavel] from comment #23)
Thank you.
There are 267 total failures in the last 30 days, Geoff, can this be disabled?
Yes. I think you can skip on ccov by adding this test to:
Comment 26•5 years ago
|
||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 27•5 years ago
|
||
Pushed by apavel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9f48d7135ec3 disable Script-startColumn.js for frequent failures r=gbrown
Comment 28•5 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 31•5 years ago
|
||
Pushed by jblandy@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7edc6f28197b Update remaining BytecodeEmitter constructor to use FunctionBox line/column r=jimb
Comment 32•5 years ago
|
||
bugherder |
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•2 years ago
|
Description
•