-
Notifications
You must be signed in to change notification settings - Fork 30k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
flaky: sequential/test-cli-syntax-* #24403
Comments
Also failed on linux here: https://ci.nodejs.org/job/node-test-commit-linux-containered/8755/nodes=ubuntu1604_sharedlibs_openssl110_x64/consoleFull 21:14:55 not ok 192 parallel/test-cli-syntax
21:14:55 ---
21:14:55 duration_ms: 2.556
21:14:55 severity: fail
21:14:55 exitcode: 1
21:14:55 stack: |-
21:14:55 assert.js:753
21:14:55 throw newErr;
21:14:55 ^
21:14:55
21:14:55 AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Command failed: /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/node --check /home/iojs/build/workspace/node-test-commit-linux-containered/test/fixtures/syntax/illegal_if_not_wrapped.js
21:14:55 Segmentation fault (core dumped)
21:14:55
21:14:55 at ChildProcess.exithandler (child_process.js:294:12)
21:14:55 at ChildProcess.emit (events.js:189:13)
21:14:55 at maybeClose (internal/child_process.js:977:16)
21:14:55 at Socket.stream.socket.on (internal/child_process.js:395:11)
21:14:55 at Socket.emit (events.js:189:13)
21:14:55 at Pipe._handle.close (net.js:608:12)
21:14:55 ... Worker: https://ci.nodejs.org/computer/test-joyent-ubuntu1604_sharedlibs_container-x64-4/ |
@mhdawson Core dumped? Yikes! Hopefully build-related and not related to the test? @nodejs/build |
IIUC the core dump was for the tested spawned child process, not the testing process. node/test/parallel/test-cli-syntax.js Lines 35 to 40 in d45e303
|
To help debugging the flake with the log from the CI. PR-URL: nodejs#24720 Refs: nodejs#24403 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Managed to get a core dump locally; interesting parts of the thread stack traces: Thread 7 (Thread 0x7fd3e1708740 (LWP 32401)):
#0 _int_free (have_lock=0, p=0x557d4eedc500, av=0x7fd3e05a3c40 <main_arena>) at malloc.c:4167
#1 __GI___libc_free (mem=0x557d4eedc510) at malloc.c:3124
#2 0x0000557d4d144471 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) ()
#3 0x0000557d4d1445e8 in node::native_module::NativeModuleLoader::~NativeModuleLoader() ()
#4 0x00007fd3e01fb041 in __run_exit_handlers (status=0, listp=0x7fd3e05a3718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#5 0x00007fd3e01fb13a in __GI_exit (status=<optimized out>) at exit.c:139
#6 0x0000557d4d113131 in node::Environment::Exit(int) ()
#7 0x0000557d4d1388d1 in node::Exit(v8::FunctionCallbackInfo<v8::Value> const&) ()
#8 0x0000557d4d3b1237 in v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) ()
#9 0x0000557d4d3b2558 in v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) ()
#10 0x00001c51e784fb5d in ?? ()
#11 0x00001c51e7884b30 in ?? ()
#12 0x00001c51e784fac1 in ?? ()
#13 0x00007ffef03e0990 in ?? ()
#14 0x0000000000000006 in ?? ()
[...]
Thread 1 (Thread 0x7fd3df9b6700 (LWP 32404)):
#0 0x0000557d4ef3a400 in ?? ()
#1 0x0000557d4d6eb6dc in v8::internal::ArrayBufferCollector::FreeingTask::RunInternal() ()
#2 0x0000557d4d1cbc45 in node::(anonymous namespace)::PlatformWorkerThread(void*) ()
#3 0x00007fd3e05b06db in start_thread (arg=0x7fd3df9b6700) at pthread_create.c:463
#4 0x00007fd3e02d988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 I feel like I’ve been seeing a lot more issues based on race conditions with C++ destructors being run from /cc @joyeecheung |
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Fixes: nodejs#24403
About the specific stack trace, was the destructor being called when one of the strings on the native module loader was already destroyed? I think the std::strings on the loader should all be local to it, so it's kind of difficult to how would the order be reversed.. On the race condition in general, is the current expectation to destroy all the per-process globals only after all the threads are torn down? I wonder if using shared_ptr for these globals would help, but that probably doesn't actually solve the root cause.. |
Potential fix is in #24828 :) |
And no, I don’t think this is about the specific stack trace – it’s probably some destructor that was called earlier that destroyed some resource on which the V8 platform worker thread relied, or something similar, I would say. |
Another failure:
|
another failure
|
Interestingly, this only seems to happen with this specific test, it seems somehow |
This is happening so often that I guess there's not much to be gained in pointing out when it happens much anymore, but here's one anyway: https://ci.nodejs.org/job/node-test-commit-aix/19414/nodes=aix61-ppc64/consoleText not ok 286 parallel/test-cli-syntax
---
duration_ms: 24.538
severity: fail
exitcode: 1
stack: |-
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== 1
at common.mustCall (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/parallel/test-cli-syntax.js:97:14)
at /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/common/index.js:346:15
at ChildProcess.exithandler (child_process.js:301:5)
at ChildProcess.emit (events.js:189:13)
at maybeClose (internal/child_process.js:977:16)
at Socket.stream.socket.on (internal/child_process.js:395:11)
at Socket.emit (events.js:189:13)
at Pipe._handle.close (net.js:612:12)
... |
@Fishrock123 @MylesBorins @Trott Yes, there’s not much point in this output by itself. What might actually help is core dumps + the accompanying binaries. |
Because this test spawns so many subprocesses asynchronously, it's very easy to recreate this test failing both in the ways reported above and other ways. $ tools/test.py -j 32 --repeat 32 test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
out/Release/node[62754]: ../src/spawn_sync.cc:464:Maybe<bool> node::SyncProcessRunner::TryInitializeAndRunLoop(Local<v8::Value>): Assertion `(uv_loop_init(uv_loop_)) == (0)' failed.
1: 0x10005f18b node::Abort() [/Users/trott/io.js/out/Release/node]
2: 0x10005f0c8 node::PrintErrorString(char const*, ...) [/Users/trott/io.js/out/Release/node]
3: 0x1000d78a3 node::SyncProcessRunner::TryInitializeAndRunLoop(v8::Local<v8::Value>) [/Users/trott/io.js/out/Release/node]
4: 0x1000d7534 node::SyncProcessRunner::Run(v8::Local<v8::Value>) [/Users/trott/io.js/out/Release/node]
5: 0x1000d7429 node::SyncProcessRunner::Spawn(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/trott/io.js/out/Release/node]
6: 0x10022df6b v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [/Users/trott/io.js/out/Release/node]
7: 0x10022d48d v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/Users/trott/io.js/out/Release/node]
8: 0x10022cbdc v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/Users/trott/io.js/out/Release/node]
9: 0x100dea84e v8_Default_embedded_blob_ [/Users/trott/io.js/out/Release/node]
10: 0x12bdae20816e
11: 0x12bdae20816e
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
--- CRASHED (Signal: 6) ---
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
out/Release/node[62761]: ../src/spawn_sync.cc:464:Maybe<bool> node::SyncProcessRunner::TryInitializeAndRunLoop(Local<v8::Value>): Assertion `(uv_loop_init(uv_loop_)) == (0)' failed.
1: 0x10005f18b node::Abort() [/Users/trott/io.js/out/Release/node]
2: 0x10005f0c8 node::PrintErrorString(char const*, ...) [/Users/trott/io.js/out/Release/node]
3: 0x1000d78a3 node::SyncProcessRunner::TryInitializeAndRunLoop(v8::Local<v8::Value>) [/Users/trott/io.js/out/Release/node]
4: 0x1000d7534 node::SyncProcessRunner::Run(v8::Local<v8::Value>) [/Users/trott/io.js/out/Release/node]
5: 0x1000d7429 node::SyncProcessRunner::Spawn(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/trott/io.js/out/Release/node]
6: 0x10022df6b v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [/Users/trott/io.js/out/Release/node]
7: 0x10022d48d v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/Users/trott/io.js/out/Release/node]
8: 0x10022cbdc v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/Users/trott/io.js/out/Release/node]
9: 0x100dea84e v8_Default_embedded_blob_ [/Users/trott/io.js/out/Release/node]
10: 0x319db550816e
11: 0x319db550816e
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
--- CRASHED (Signal: 6) ---
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== 0
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:112:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== ''
at /Users/trott/io.js/test/parallel/test-cli-syntax.js:109:10
at Array.forEach (<anonymous>)
at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-cli-syntax.js:104:12)
at Module._compile (internal/modules/cjs/loader.js:723:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:776:12)
at executeUserCode (internal/bootstrap/node.js:341:15)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
-- stdout --
-- stderr --
assert.js:753
throw newErr;
^
AssertionError [ERR_ASSERTION]: ifError got unwanted exception: spawn /bin/sh ENFILE
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:43:14)
at /Users/trott/io.js/test/common/index.js:346:15
at exithandler (child_process.js:301:5)
at ChildProcess.errorhandler (child_process.js:313:5)
at ChildProcess.emit (events.js:189:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:252:12)
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:19)
at onErrorNT (internal/child_process.js:422:16)
at internalTickCallback (internal/process/next_tick.js:72:19)
at process._tickCallback (internal/process/next_tick.js:47:5)
at Function.Module.runMain (internal/modules/cjs/loader.js:779:11)
at executeUserCode (internal/bootstrap/node.js:341:15)
at startExecution (internal/bootstrap/node.js:275:3)
at startup (internal/bootstrap/node.js:226:3)
at internal/bootstrap/node.js:706:1
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
null !== 1
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:65:14)
at /Users/trott/io.js/test/common/index.js:346:15
at ChildProcess.exithandler (child_process.js:301:5)
at ChildProcess.emit (events.js:189:13)
at maybeClose (internal/child_process.js:978:16)
at Socket.stream.socket.on (internal/child_process.js:396:11)
at Socket.emit (events.js:189:13)
at Pipe._handle.close (net.js:612:12)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
'ENFILE' !== 1
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:65:14)
at /Users/trott/io.js/test/common/index.js:346:15
at exithandler (child_process.js:301:5)
at ChildProcess.errorhandler (child_process.js:313:5)
at ChildProcess.emit (events.js:189:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:252:12)
at onErrorNT (internal/child_process.js:422:16)
at internalTickCallback (internal/process/next_tick.js:72:19)
at process._tickCallback (internal/process/next_tick.js:47:5)
at Function.Module.runMain (internal/modules/cjs/loader.js:779:11)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:351
throw err;
^
AssertionError [ERR_ASSERTION]: /^SyntaxError: \b/m === fs.js:121
throw err;
^
Error: ENFILE: file table overflow, open '/Users/trott/io.js/test/fixtures/syntax/bad_syntax_shebang.js'
at Object.openSync (fs.js:450:3)
at Object.readFileSync (fs.js:350:35)
at executeUserCode (internal/bootstrap/node.js:332:25)
at startExecution (internal/bootstrap/node.js:275:3)
at startup (internal/bootstrap/node.js:226:3)
at internal/bootstrap/node.js:706:1
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:71:7)
at /Users/trott/io.js/test/common/index.js:346:15
at ChildProcess.exithandler (child_process.js:301:5)
at ChildProcess.emit (events.js:189:13)
at maybeClose (internal/child_process.js:978:16)
at Socket.stream.socket.on (internal/child_process.js:396:11)
at Socket.emit (events.js:189:13)
at Pipe._handle.close (net.js:612:12)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
-- stdout --
-- stderr --
assert.js:753
throw newErr;
^
AssertionError [ERR_ASSERTION]: ifError got unwanted exception: spawn /bin/sh EAGAIN
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:43:14)
at /Users/trott/io.js/test/common/index.js:346:15
at exithandler (child_process.js:301:5)
at ChildProcess.errorhandler (child_process.js:313:5)
at ChildProcess.emit (events.js:189:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:252:12)
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:19)
at onErrorNT (internal/child_process.js:422:16)
at internalTickCallback (internal/process/next_tick.js:72:19)
at process._tickCallback (internal/process/next_tick.js:47:5)
at Function.Module.runMain (internal/modules/cjs/loader.js:779:11)
at executeUserCode (internal/bootstrap/node.js:341:15)
at startExecution (internal/bootstrap/node.js:275:3)
at startup (internal/bootstrap/node.js:226:3)
at internal/bootstrap/node.js:706:1
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
assert.js:86
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
'EAGAIN' !== 1
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:65:14)
at /Users/trott/io.js/test/common/index.js:346:15
at exithandler (child_process.js:301:5)
at ChildProcess.errorhandler (child_process.js:313:5)
at ChildProcess.emit (events.js:189:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:252:12)
at onErrorNT (internal/child_process.js:422:16)
at internalTickCallback (internal/process/next_tick.js:72:19)
at process._tickCallback (internal/process/next_tick.js:47:5)
at Function.Module.runMain (internal/modules/cjs/loader.js:779:11)
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
=== release test-cli-syntax ===
Path: parallel/test-cli-syntax
-- stdout --
-- stderr --
assert.js:753
throw newErr;
^
AssertionError [ERR_ASSERTION]: ifError got unwanted exception: spawn /bin/sh EAGAIN
at common.mustCall (/Users/trott/io.js/test/parallel/test-cli-syntax.js:43:14)
at /Users/trott/io.js/test/common/index.js:346:15
at exithandler (child_process.js:301:5)
at ChildProcess.errorhandler (child_process.js:313:5)
at ChildProcess.emit (events.js:189:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:252:12)
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:19)
at onErrorNT (internal/child_process.js:422:16)
at internalTickCallback (internal/process/next_tick.js:72:19)
at process._tickCallback (internal/process/next_tick.js:47:5)
at Function.Module.runMain (internal/modules/cjs/loader.js:779:11)
at executeUserCode (internal/bootstrap/node.js:341:15)
at startExecution (internal/bootstrap/node.js:275:3)
at startup (internal/bootstrap/node.js:226:3)
at internal/bootstrap/node.js:706:1
Command: out/Release/node /Users/trott/io.js/test/parallel/test-cli-syntax.js
[00:18|% 100|+ 7|- 25]: Done
$ |
Some of these failing tests have been modified to try to produce more information, but alas, nothing useful in this case. All the error message stuff after https://ci.nodejs.org/job/node-test-commit-aix/19747/nodes=aix61-ppc64/console test-osuosl-aix61-ppc64_be-2 01:44:30 not ok 2391 sequential/test-cli-syntax-file-not-found # TODO : Fix flaky test
01:44:30 ---
01:44:30 duration_ms: 3.206
01:44:30 severity: flaky
01:44:30 exitcode: 1
01:44:30 stack: |-
01:44:30 assert.js:86
01:44:30 throw new AssertionError(obj);
01:44:30 ^
01:44:30
01:44:30 AssertionError [ERR_ASSERTION]: code null !== 1 for error:
01:44:30
01:44:30 Error: Command failed: /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/node -c /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/fixtures/syntax/file_not_found.js
01:44:30 internal/modules/cjs/loader.js:602
01:44:30 throw err;
01:44:30 ^
01:44:30
01:44:30 Error: Cannot find module '/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/fixtures/syntax/file_not_found.js'
01:44:30 at Function.Module._resolveFilename (internal/modules/cjs/loader.js:600:15)
01:44:30 at executeUserCode (internal/bootstrap/node.js:307:34)
01:44:30 at startExecution (internal/bootstrap/node.js:251:3)
01:44:30 at startup (internal/bootstrap/node.js:202:3)
01:44:30 at internal/bootstrap/node.js:692:1
01:44:30
01:44:30 at common.mustCall (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/sequential/test-cli-syntax-file-not-found.js:36:14)
01:44:30 at /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/common/index.js:335:15
01:44:30 at ChildProcess.exithandler (child_process.js:301:5)
01:44:30 at ChildProcess.emit (events.js:189:13)
01:44:30 at maybeClose (internal/child_process.js:978:16)
01:44:30 at Socket.stream.socket.on (internal/child_process.js:396:11)
01:44:30 at Socket.emit (events.js:189:13)
01:44:30 at Pipe._handle.close (net.js:612:12)
01:44:30 ... |
@Trott I don’t think we’ll find useful information on the JS side… maybe this is a good reason to figure out a way to make core dumps from CI available for download somehow? |
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: nodejs#24403 Refs: nodejs#25007
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: #24403 Refs: #25007 PR-URL: #25061 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
To help debugging the flake with the log from the CI. PR-URL: nodejs#24720 Refs: nodejs#24403 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
It is unreliable under load and the CI failures are getting a bit out of hand. Let's move it to sequential. Refs: nodejs#24403 PR-URL: nodejs#24907 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Refs: nodejs#24403 PR-URL: nodejs#24957 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: #24403 Refs: #25007 PR-URL: #25061 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: nodejs#24403 Refs: nodejs#25007 PR-URL: nodejs#25061 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Agreed: Not seeing it in ncu-ci data. Closing. Obviously, re-open if I'm wrong. |
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: #24403 Refs: #25007 Backport-PR-URL: #26048 PR-URL: #25061 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: nodejs#24403 Refs: nodejs#25007 PR-URL: nodejs#25061 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Calling `process.exit()` calls the C `exit()` function, which in turn calls the destructors of static C++ objects. This can lead to race conditions with other concurrently executing threads; disposing of all Worker threads and then the V8 platform instance helps with this (although it might not be a full solution for all problems of this kind). Refs: #24403 Refs: #25007 Backport-PR-URL: #26048 PR-URL: #25061 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
master
The text was updated successfully, but these errors were encountered: