Closed Bug 941672 Opened 6 years ago Closed 6 years ago
Fix jit-tests on linux ec2 test machines
The jit-test suite currently runs successfully on Fedora test machines but fails on ec2 test slaves. Since the plan is to decomission the Fedora machines in January, we need to get things working on ec2. Since things work on Fedora, I'm guessing this is a packaging and/or test machine environment problem.
Looking at a recent log  it appears many of the failures are compile related, e.g. INFO - INFO exit-status : 3 17:32:47 INFO - INFO timed-out : False 17:32:47 INFO - INFO stdout > 17:32:47 INFO - INFO stderr 2> /builds/slave/test/build/tests/jit-test/jit-test/tests/basic/offThreadCompileScript.js:11:0 Error: cannot compile code on worker thread 17:32:47 INFO - INFO stderr 2> 17:35:44 WARNING - TEST-UNEXPECTED-FAIL | tests/jit-test/jit-test/tests/parallel/Array-filterPar-truthy.js | 17:35:44 INFO - INFO exit-status : -11 17:35:44 INFO - INFO timed-out : False 17:35:44 INFO - INFO stdout > Attempting compile # 0 17:35:44 INFO - INFO stdout > 17:35:44 INFO - INFO stderr 2> 17:35:44 INFO - TEST-PASS | tests/jit-test/jit-test/tests/parallel/Array-filterPar-very-few.js | 17:35:44 INFO - TEST-PASS | tests/jit-test/jit-test/tests/parallel/Array-mapPar-add-from-upvar-field.js | 17:35:44 INFO - FAIL - parallel/Array-mapPar-assign-to-def-prop.js Many of the other tests return -11, but with nothing in stdout or stderr. I'll request an ec2 loaner machine from releng, but if in the meantime anyone has any ideas as to what the problem could be, please let me know.  https://tbpl.mozilla.org/php/getParsedLog.php?id=30863158&tree=Cedar&full=1
It turns out the ec2 machines only have a single CPU. Based upon the code at , this causes no helper threads to be available, but when the code is compiled with JS_WORKER_THREADS the assumption seems to be at least one helper thread will be available. I looked at the basic/offThreadCompileScript.js test, and it explains the failure there. I would guess something similar is going on for the other failures (a lot of them are in the parallel suite).  http://mxr.mozilla.org/mozilla-central/source/js/src/vm/Runtime.h#1705
We need to make JS_THREADSAFE and JS_WORKER_THREADS identical and rip out the JS_ION interdependence. This falls right into the trivial-but-fiddly anti-fun peak, so we'll probably need to make a specific call to action. These are mostly parallel tests. Choosing a name at random from my "parallelization hackers" hat: Niko, could you take this or find someone better to work on it?
Terrence -- I will do one of those 2 things. Sorry for delayed response, just lagging the last few weeks.
Patch A on Bug 941649 may also address this bug. Is there an easy way for us to test that hypothesis? (On my machine locally, when I hacked GetNumCPUCount() to return 1, I saw jit-test failures before applying patch A, and the failures went away after applying patch A.)
Two options: - You can request an ec2 loaner from releng as I did in bug 941677. They usually turn around these requests in a few hours. - You can test the patch on Cedar. The tests run on both Fedora and ec2 machines there. The ec2 results are hidden by default, so you'll need to add &showall=1 to see the results. I have jit-tests enabled on try, but they only seem to run on Fedora machines there. Just so you are aware, I recently pushed a patch in bug 943411 which sets the --tbpl option and seems to have introduced new failures.
I think this bug is now addressed by the patches that shu has already pushed for Bug 941649
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in before you can comment on or make changes to this bug.