-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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: handle missing TracingController everywhere #33815
Conversation
v8::TracingController* controller = | ||
node::tracing::TraceEventHelper::GetTracingController(); | ||
if (controller == nullptr) return 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
may be move this to the beginning of the function? here and in AddMetadataEventImpl
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gireeshpunathil How would I do that without introducing a potential memory leak?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@addaleax - I am sorry, but not following: we have a nullcheck and return (with no trace action) in the middle of a function, it can be moved to the start of the function, to save some cpu cycles in cases where the tracing controller is NULL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gireeshpunathil Yes, but the lines between the start of the function and here take ownership of memory, so moving this line would cause a memory leak?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you mean the std::unique_ptr<v8::ConvertableToTraceFormat>
objects? cant those be allocated only in the normal path? i.e., if TracingController
object is not null?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gireeshpunathil They are not being allocated here, though – this function only takes ownership of them.
CI: https://ci.nodejs.org/job/node-test-pull-request/31833/ (:yellow_heart:) |
Landed in dfdbbd1 |
Fixes: #33800
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes