| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
@addaleax build started: https://ci.nodejs.org/blue/organizations/jenkins/node-test-pull-request-lite-pipeline/detail/node-test-pull-request-lite-pipeline/2597/pipeline |
Sorry, something went wrong.
This provides coverage for the `InspectorTimer` instances created as part of heap allocation tracking.
Sorry, something went wrong.
| // TODO(addaleax): Using `{ reportProgress: true }` crashes the process | ||
| // because the progress indication event would mean calling into JS while | ||
| // a heap snapshot is being taken, which is forbidden. | ||
| // What can we do about that? |
There was a problem hiding this comment.
Btw, @eugeneo @nodejs/v8 any ideas for what to do about this?
Sorry, something went wrong.
|
I’ll try to look into the Windows failures (unless they are the same as what @joyeecheung saw in #26006 and she already has something figured out?) Edit: Possible diff for addressing this:diff --git a/src/inspector/main_thread_interface.cc b/src/inspector/main_thread_interface.cc
index 1bcf65134f..25b6270e41 100644
--- a/src/inspector/main_thread_interface.cc
+++ b/src/inspector/main_thread_interface.cc
@@ -224,11 +224,6 @@ MainThreadInterface::MainThreadInterface(Agent* agent, uv_loop_t* loop,
v8::Platform* platform)
: agent_(agent), isolate_(isolate),
platform_(platform) {
- main_thread_request_.reset(new AsyncAndInterface(uv_async_t(), this));
- CHECK_EQ(0, uv_async_init(loop, &main_thread_request_->first,
- DispatchMessagesAsyncCallback));
- // Inspector uv_async_t should not prevent main loop shutdown.
- uv_unref(reinterpret_cast<uv_handle_t*>(&main_thread_request_->first));
}
MainThreadInterface::~MainThreadInterface() {
@@ -253,7 +248,6 @@ void MainThreadInterface::Post(std::unique_ptr<Request> request) {
bool needs_notify = requests_.empty();
requests_.push_back(std::move(request));
if (needs_notify) {
- CHECK_EQ(0, uv_async_send(&main_thread_request_->first));
if (isolate_ != nullptr && platform_ != nullptr) {
std::shared_ptr<v8::TaskRunner> taskrunner =
platform_->GetForegroundTaskRunner(isolate_);
diff --git a/src/inspector/main_thread_interface.h b/src/inspector/main_thread_interface.h
index a7d9f8a3c9..1c644144cc 100644
--- a/src/inspector/main_thread_interface.h
+++ b/src/inspector/main_thread_interface.h
@@ -105,7 +105,6 @@ class MainThreadInterface {
Agent* const agent_;
v8::Isolate* const isolate_;
v8::Platform* const platform_;
- DeleteFnPtr<AsyncAndInterface, CloseAsync> main_thread_request_;
std::shared_ptr<MainThreadHandle> handle_;
std::unordered_map<int, std::unique_ptr<Deletable>> managed_objects_;
};
diff --git a/src/node_worker.cc b/src/node_worker.cc
index f38b187c18..feda1d7210 100644
--- a/src/node_worker.cc
+++ b/src/node_worker.cc
@@ -150,7 +150,8 @@ class WorkerThreadData {
isolate->Dispose();
- // Need to run the loop one more time to close the platform's uv_async_t
+ // Need to run the loop twice to close the platform's uv_async_t
+ uv_run(&loop_, UV_RUN_ONCE);
uv_run(&loop_, UV_RUN_ONCE);
CheckedUvLoopClose(&loop_); |
Sorry, something went wrong.
This is redundant to the platform notification mechanism, and the handle may not be cleaned up util we attempt to close the loop. Refs: nodejs#26089 Refs: nodejs#26006
On Windows, the Platform’s `uv_async_t` may need two iterations before closing when it was previously in use. Refs: nodejs#26089 Refs: nodejs#26006
Sorry, something went wrong.
Sorry, something went wrong.
This provides coverage for the `InspectorTimer` instances created as part of heap allocation tracking. PR-URL: #26089 Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This provides coverage for the `InspectorTimer` instances created as part of heap allocation tracking. PR-URL: #26089 Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This provides coverage for the `InspectorTimer` instances created as part of heap allocation tracking. PR-URL: #26089 Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: James M Snell <jasnell@gmail.com>
| Back | FazBrowse Home | New Git URL |
This provides coverage for the InspectorTimer instances
created as part of heap allocation tracking.
Checklist