-
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
test: cctest MultipleEnvironmentsPerIsolate & AtExitWithArgument are flaky (no-snapshot) #14206
Comments
Quoting #13861 (comment):
I think all we need is somebody who has the time to dig into the valgrind logs to figure this out. |
Still happening, of course: https://ci.nodejs.org/job/node-test-commit-plinux/10186/nodes=ppcbe-ubuntu1404/console Is anyone on this? Anyone especially sensible to loop in on it? |
I'll try on Windows, but !@#$@%#$%^ MMMV (it might not even be a problem here 🤷♂️ ) |
We can try to call @indutny to the flag (it's partly his fault, JK nothing but ❤️ ) |
Created this issue to request access to the BE machine were it recreates most easily for @jBarz : nodejs/build#795 He's tried to reproduce locally with no luck. |
I can reproduce on build machine. However, it is intermittent (about once in 5 tries) |
I wondering if we should exclude this test until we can figure out what is going on. It seems to happen quire regularly for PPC and alpine. |
Continuing to investigate. So far I have found it to hang at the following location in api.cc from v8 when initializing the isolate. Isolate::Scope isolate_scope(v8_isolate);
if (params.entry_hook || !i::Snapshot::Initialize(isolate)) {
isolate->Init(NULL); // <--- Hangs here
} |
If we have a way to make sure it doesn't get neglected, I'm +1 |
Any objects to excluding the test ? If I don't see anybody and nobody beats me too it I'll look at a PR for excluding on Monday. |
We have Code + Learn in Shanghai in about 30 hours. Hard to say how things will or won't work (lots of variables at play here that we haven't dealt with before), but I would expect at least 25 and probably closer to 50 PRs to result from it. A green CI would be terribly useful. So I'm going to go ahead and remove the affected hosts from CI before Code + Learn if no one objects. /cc @nodejs/build |
It seems like it hangs on trying to acquire the mutex to dispatch a job to the CompilerDispatcher class.
Also, I cannot reproduce the error when I run the test in isolation:
But I can reproduce it when I also run the test prior to it:
|
@jBarz The side effects leaking between tests is probably what @addaleax describes in #14206 (comment), yes? |
I agree that there is a side effect from the preceding test case. However, not sure if the source of the leak is libuv or v8 itself. |
@jBarz any news? |
This seems to creep up and actually segfaults
https://ci.nodejs.org/job/node-test-commit-linux/11359/nodes=ubuntu1604-32/ |
Hi @refack , I was on vacation for a week. I am going to look at this either today/tomorrow and give an update asap. |
@refack was just looking at the issue to see where we were, thanks for keeping an eye on it. |
hey @refack Last week was extremely busy with other things. |
The `Environment::destroy_ids_timer_handle` should be cleaned up by `Environment::CleanupHandles()`. Fix that by adding it to the list. This partially fixes a cctest. Ref: nodejs#14206
The `IsolateData` instance is created before the `Environment` instance, so free in reverse order. Fixes: nodejs#14206
This reverts commit 75bf8a9. Ref: nodejs#14206 Ref: nodejs#14317
This reverts commit 95ab966. Ref: nodejs#14206 Ref: nodejs#14246
Fix is in #14749 |
The `Environment::destroy_ids_timer_handle` should be cleaned up by `Environment::CleanupHandles()`. Fix that by adding it to the list. This partially fixes a cctest. Ref: #14206 PR-URL: #14749 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
The `Environment::destroy_ids_timer_handle` should be cleaned up by `Environment::CleanupHandles()`. Fix that by adding it to the list. This partially fixes a cctest. Ref: #14206 PR-URL: #14749 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
The `IsolateData` instance is created before the `Environment` instance, so free in reverse order. Fixes: #14206 PR-URL: #14749 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
master
Moving nodejs/build#789 to core
The test has intermitently failed on:
https://ci.nodejs.org/job/node-test-commit-plinux/10137/nodes=ppcbe-ubuntu1404/console
https://ci.nodejs.org/job/node-test-commit-plinux/10138/nodes=ppcbe-ubuntu1404/console
https://ci.nodejs.org/job/node-test-commit-plinux/10139/nodes=ppcbe-ubuntu1404/console
https://ci.nodejs.org/job/node-test-commit-plinux/10156/nodes=ppcbe-ubuntu1404/
https://ci.nodejs.org/job/node-test-commit-arm/10826/nodes=armv7-wheezy/console
https://ci.nodejs.org/job/node-test-commit-plinux/10165/nodes=ppcbe-ubuntu1404/console
https://ci.nodejs.org/job/node-test-commit-plinux/10166/nodes=ppcbe-ubuntu1404/console
https://ci.nodejs.org/job/node-test-commit-linux/11117/nodes=centos5-64
https://ci.nodejs.org/job/node-test-commit-plinux/10172/nodes=ppcbe-ubuntu1404/console
https://ci.nodejs.org/job/node-test-commit-linux/11130/nodes=ubuntu1604_docker_alpine34-64/console
One of the more interesting outputs (from docker_alpine34-64):
The more common output:
This is the test code
From
test/cctest/test_environment.cc
The text was updated successfully, but these errors were encountered: