Skip to content
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

src: don't call uv_run() after 'exit' event #12344

Closed
wants to merge 1 commit into from

Conversation

bnoordhuis
Copy link
Member

This breaks parallel/test-async-wrap-throw-from-callback.

Suggestions on how to keep the changes from #9753 working welcome.

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. debugger labels Apr 11, 2017
@mscdex mscdex added the wip Issues and PRs that are still a work in progress. label Apr 11, 2017
@trevnorris
Copy link
Contributor

Note: The test parallel/test-async-wrap-throw-from-callback has been deleted in my PR #11883 and this change doesn't affect any other tests.

It makes timers and other libuv handles fire intermittently after the
'exit' event, contrary to what the documentation states.

This change breaks parallel/test-async-wrap-throw-from-callback which I
pragmatically resolved by removing the test.  In all seriousness, it is
scheduled for removal anyway in the upcoming async_wrap revamp so there
isn't much point in sinking a lot of time in it.
@bnoordhuis bnoordhuis changed the title src: don't call uv_run() after 'exit' event [DO NOT LAND] src: don't call uv_run() after 'exit' event Apr 13, 2017
@bnoordhuis
Copy link
Member Author

Fixed (what's in a name?) by removing the test. New CI: https://ci.nodejs.org/job/node-test-pull-request/7374/

@bnoordhuis bnoordhuis closed this Apr 19, 2017
bnoordhuis added a commit to bnoordhuis/io.js that referenced this pull request Apr 19, 2017
It makes timers and other libuv handles fire intermittently after the
'exit' event, contrary to what the documentation states.

Regression introduced in commit aac79df ("src: use stack-allocated
Environment instances") from June last year that made the
`while (handle_cleanup_waiting_ != 0) uv_run(event_loop(), UV_RUN_ONCE)`
loop run unconditionally on exit because it merged CleanupHandles() into
the Environment destructor.

This change breaks parallel/test-async-wrap-throw-from-callback because
the async_wrap idle handle is no longer cleaned up, which I resolved
pragmatically by removing the test.

In all seriousness, it is being removed in the upcoming async_wrap
revamp - it doesn't make sense to sink a lot of time in it now.

Fixes: nodejs#12322
PR-URL: nodejs#12344
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@bnoordhuis bnoordhuis mentioned this pull request Apr 27, 2017
2 tasks
danbev pushed a commit to danbev/node that referenced this pull request May 2, 2017
It makes timers and other libuv handles fire intermittently after the
'exit' event, contrary to what the documentation states.

Regression introduced in commit aac79df ("src: use stack-allocated
Environment instances") from June last year that made the
`while (handle_cleanup_waiting_ != 0) uv_run(event_loop(), UV_RUN_ONCE)`
loop run unconditionally on exit because it merged CleanupHandles() into
the Environment destructor.

This change breaks parallel/test-async-wrap-throw-from-callback because
the async_wrap idle handle is no longer cleaned up, which I resolved
pragmatically by removing the test.

In all seriousness, it is being removed in the upcoming async_wrap
revamp - it doesn't make sense to sink a lot of time in it now.

Fixes: nodejs#12322
PR-URL: nodejs#12344
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@jasnell jasnell mentioned this pull request May 11, 2017
@gibfahn gibfahn mentioned this pull request Jun 15, 2017
3 tasks
@gibfahn
Copy link
Member

gibfahn commented Jun 18, 2017

@bnoordhuis looks like this was landed in 5ef6000

@gibfahn gibfahn added dont-land-on-v4.x and removed wip Issues and PRs that are still a work in progress. labels Jun 18, 2017
@gibfahn
Copy link
Member

gibfahn commented Jun 18, 2017

I'm assuming/guessing this doesn't need to land on v6.x. Please raise a backport PR if that's not correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Issues and PRs that require attention from people who are familiar with C++.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants