Skip to content

Conversation

@addaleax
Copy link
Member

Have clearer ownership relations between the Http2Ping,
Http2Settings and Http2Session objects.

Ping and Settings objects are now owned by the Http2Session
instance, and deleted along with it, so neither type of object
refers to the session after it is gone.
In the case of Http2Pings, that deletion is slightly delayed,
so we explicitly reset its session_ property.

Fixes: #28088

@nodejs/http2

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines

Have clearer ownership relations between the `Http2Ping`, `Http2Settings` and `Http2Session` objects. Ping and Settings objects are now owned by the `Http2Session` instance, and deleted along with it, so neither type of object refers to the session after it is gone. In the case of `Http2Ping`s, that deletion is slightly delayed, so we explicitly reset its `session_` property. Fixes: nodejs#28088
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Jun 10, 2019

@nodejs-github-botnodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. labels Jun 10, 2019
@addaleaxaddaleax added http2 Issues or PRs related to the http2 subsystem. and removed lib / src Issues and PRs related to general changes in the lib or src directory. labels Jun 10, 2019
@nodejs-github-bot
Copy link
Collaborator

Copy link
Member

@mcollinamcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@addaleaxaddaleax added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Jun 10, 2019
@nodejs-github-bot

This comment has been minimized.

@Trott

This comment has been minimized.

@Trott
Copy link
Member

consthttp2=require('http2');
constv8=require('v8');

// Regression test for https://github.com/nodejs/node/issues/28088:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the last : is redundant here.

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it makes sense, given that a short explanation of the issue follows?

Copy link
Member

@gengjiawengengjiawenJun 17, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a space. I think the link is necessary too. but : will make IDEs link the wrong url (Include github code review).

@Trott
Copy link
Member

CI: https://ci.nodejs.org/job/node-test-pull-request/23860/

(Failure was one of the test-cpu-prof* tests. Second one I've seen in the last 10 minutes. I'm still on Team Move-CPU-Profiling-Tests-To-Sequential!)

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@Trott
Copy link
Member

Landed in 2a9f1ad

@TrottTrott closed this Jun 17, 2019
Trott pushed a commit to Trott/io.js that referenced this pull request Jun 17, 2019
Have clearer ownership relations between the `Http2Ping`, `Http2Settings` and `Http2Session` objects. Ping and Settings objects are now owned by the `Http2Session` instance, and deleted along with it, so neither type of object refers to the session after it is gone. In the case of `Http2Ping`s, that deletion is slightly delayed, so we explicitly reset its `session_` property. Fixes: nodejs#28088 PR-URL: nodejs#28150 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ujjwal Sharma <[email protected]> Reviewed-By: Rich Trott <[email protected]>
targos pushed a commit that referenced this pull request Jul 2, 2019
Have clearer ownership relations between the `Http2Ping`, `Http2Settings` and `Http2Session` objects. Ping and Settings objects are now owned by the `Http2Session` instance, and deleted along with it, so neither type of object refers to the session after it is gone. In the case of `Http2Ping`s, that deletion is slightly delayed, so we explicitly reset its `session_` property. Fixes: #28088 PR-URL: #28150 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ujjwal Sharma <[email protected]> Reviewed-By: Rich Trott <[email protected]>
@targostargos mentioned this pull request Jul 2, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.c++Issues and PRs that require attention from people who are familiar with C++.http2Issues or PRs related to the http2 subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

core dumped when takeHeapSnapshot for http2 server and memory leak

7 participants

@addaleax@nodejs-github-bot@Trott@mcollina@jasnell@gengjiawen@ryzokuken