-
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
[v6.x backport] node internals' postmortem metadata (#14901, #18530, #18653) #19323
Conversation
Before these changes, only V8 added postmortem metadata to Node's binary, limiting the possibilities for debugger's developers to add some features that rely on investigating Node's internal structures. These changes are first steps towards empowering debug tools to navigate Node's internal structures. One example of what can be achieved with this is shown at nodejs/llnode#122 (a command which prints information about handles and requests on the queue for a core dump file). Node postmortem metadata are prefixed with nodedbg_. This also adds tests to validate if all postmortem metadata are calculated correctly, plus some documentation on what is postmortem metadata and a few care to be taken to avoid breaking it. Ref: nodejs/llnode#122 Ref: nodejs/post-mortem#46 PR-URL: nodejs#14901 Refs: nodejs/post-mortem#46 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: nodejs#18530 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Redefining private breaks any private inheritance in the included files. We can simply declare GenDebugSymbols() as friends in related classes to gain the access that we need. PR-URL: nodejs#18653 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Failures are related. I'll take a look at it later. |
I aborted a |
If we wanted to land this it should come as semver-minor. unsure if we want to do another minor before v6.x goes into maintenance mode /cc @nodejs/lts |
@MylesBorins My opinion would be yes, it's worth it. This helps diagnose various kinds of bugs in v6.x should there be any when it's in maintenance mode. |
I agree with @joyeecheung. Regarding the failing tests: Alternatively, we could remove tests for this or write simpler ones in v6.x: TEST_F(DebugSymbolsTest, BaseObjectPersistentHandle) {
EXPECT_EQ(nodedbg_offset_BaseObject__persistent_handle___v8_Persistent_v8_Object,
OffsetOf(&BaseObject::persistent_handle_));
} FWIW the metadata is working on nodejs/llnode#122 (Demo: https://asciinema.org/a/qgfHneUACrD0iGXwmFc37rXC4) |
If we're going to consider this we should look at all the possible minors and make a decision based on that. We did a minor quite recently (Feb 13th), and we don't want to do a minor after we go into maintenance if we can avoid it, so we'd need to make the decision quite quickly. I'm thinking an issue in nodejs/Release, and a Release meeting in the next week or two would be good. |
Let’s get a meeting together for next week. If we are going to do it we will need to make the next v6.x release a minor
… On Mar 22, 2018, at 4:15 PM, Gibson Fahnestock ***@***.***> wrote:
If we wanted to land this it should come as semver-minor. unsure if we want to do another minor before v6.x goes into maintenance mode
If we're going to consider this we should look at all the possible minors and make a decision based on that. We did a minor quite recently (Feb 13th), and we don't want to do a minor after we go into maintenance if we can avoid it, so we'd need to make the decision quite quickly.
I'm thinking an issue in nodejs/Release, and a Release meeting in the next week or two would be good.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#19323 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAecV3Z4tKBsIT3E9Atw0CvmQVQWR0x-ks5tg849gaJpZM4So_a8>.
|
0a4c79b
to
988cca8
Compare
It is not looking like we are going to be doing another feature related minor on 6.x. Should we close this? |
No problem, I'll close this then. |
Backport of #14901, #18530 and #18653 to v6.x.
I had some problems to backporting the tests, and I'm not sure if the current changes on
test/cctest/node_test_fixture.h
are the best approach for v6.x. If someone could review the changes in this file I'd really appreciate.Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes