Repository navigation
V8: Hang/failure when running v8 tests from Node tree #5263
Description
Activity
- addedv8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.testIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.
on Feb 16, 2016 test passes on a 16GB Ubuntu VM running on a 32GB host.
The tests only seems to be doing file related os calls so really does not look like memory should be related.
Running the test by itself completes quitckly on my machine
mhdawson@duv-aurora:
/pulls/land/testarg2/node$ sh runtest.sh/pulls/land/testarg2/node$ cat runtest.sh
ls: cannot access /tmp/d8-os-test-directory-799558713: No such file or directory
ls: cannot access /tmp/d8-os-test-directory-799558713/dir/bar: No such file or directory
mhdawson@duv-aurora:
ROOT=/home/mhdawson/pulls/land/testarg2/node
$ROOT/deps/v8/out/x64.release/d8 --test --random-seed=-1736515209 --nohard-abort --nodead-code-elimination --nofold-constants $ROOT/deps/v8/test/mjsunit/mjsunit.js $ROOT/deps/v8/test/mjsunit/d8-os.jsRuns quickly on community benchmark machine which is one of the ones it was hanging on.
Full test suite runs/passes on same benchmark machine when run by hand !
Its these two lines that are causing the hang
if (have_sleep) {
assertThrows("os.system('sleep', ['2000'], 20);", "sleep 1");// Check we time out with total time. assertThrows("os.system('sleep', ['2000'], -1, 20);", "sleep 2");Still don't know why these pass when run from the shell on the machine but hang when run from jenkins. It is that difference though as I can run the exact same test locally and from the jenkins script console and it only hangs from the script console
See this in the v8 code (src/d8-posix.cc) so maybe something jenkins is doing is messing up signals ?
if (accumulator->IsUndefined()) {
kill(pid, SIGINT); // On timeout, kill the subprocess.
args.GetReturnValue().Set(accumulator);
return;
}Added some printfs and it does look like the kill is getting sent in both cases, its just that when run under jenkins the child which is sleeping does not seem to terminate when it gets the signal
- changed the title
[-]V8: Hang/failure when running v8 tests from Node tree on machines with 8G[/-][+]V8: Hang/failure when running v8 tests from Node tree[/+]on Mar 1, 2016 Since this looks like a jenkins/environment issue as opposed to a functional issue and the tests run ok when run from the command line I'm going to remove the specific test as part of the configuration of the jenkins job.
Closing this as I don't think investigating further adds value. Please re-open if anybody disagrees.
https://ci.nodejs.org/job/node-test-commit-v8-linux-mdawson/nodes=iojs-softlayer-benchmark/14/
=== mjsunit/d8-os ===
ls: cannot access /tmp/d8-os-test-directory-848725514: No such file or directory
ls: cannot access /tmp/d8-os-test-directory-848725514/dir/bar: No such file or directory
Command: /home/iojs/workspace/node-test-commit-v8-linux-mdawson/nodes/iojs-softlayer-benchmark/deps/v8/out/x64.release/d8 --test --random-seed=1220343637 --nohard-abort --nodead-code-elimination --nofold-constants /home/iojs/workspace/node-test-commit-v8-linux-mdawson/nodes/iojs-softlayer-benchmark/deps/v8/test/mjsunit/mjsunit.js /home/iojs/workspace/node-test-commit-v8-linux-mdawson/nodes/iojs-softlayer-benchmark/deps/v8/test/mjsunit/d8-os.js
--- TIMEOUT ---
make: *** [test-v8] Error 1
Build step 'Execute shell' marked build as failure
Recording test results
Notifying upstream projects of job completion
Finished: FAILURE
This test seems to pass on machines with a smaller amount of memory (4G and 2G) so its likely a test issue either related to memory or possibly related to ubuntu