-
Notifications
You must be signed in to change notification settings - Fork 5.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
8315462: [REDO] runtime/NMT/SummarySanityCheck.java failed with "Total committed (MMMMMM) did not match the summarized committed (NNNNNN)" #16262
Conversation
…l committed (MMMMMM) did not match the summarized committed (NNNNNN)"
👋 Welcome back azafari! A progress list of the required criteria for merging this PR into |
@afshin-zafari The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
void MallocMemorySnapshot::copy_to(MallocMemorySnapshot* s) { | ||
// Need to make sure that mtChunks don't get deallocated while the | ||
// copy is going on, because their size is adjusted using this | ||
// buffer in make_adjustment(). |
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.
Since you are moving this, could you change the comment a bit to make clear it only refers to the ThreadCritical, not the rest of the function? E.g. "Need to lock to make sure...."
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.
Done.
inline size_t thread_count() const { | ||
MallocMemorySnapshot* s = const_cast<MallocMemorySnapshot*>(this); | ||
return s->by_type(mtThreadStack)->malloc_count(); | ||
} |
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.
Why is this needed?
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.
It came after merge, added in JDK-8315362.
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.
Yes, JDK-8315362 threw this out. IIRC we removed the awkward mechanism of counting threads by number of thread stacks. Hence my question, why the re-introduction? Merge glitch?
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.
It's a merge glitch.
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.
Looks nice and clean!
(still need to remove the merge introduced code as Thomas pointed out though)
Thank you for fixing this!
|
@tstuefe, any more comments on this? |
@@ -55,6 +55,8 @@ class MemoryCounter { | |||
public: | |||
MemoryCounter() : _count(0), _size(0), _peak_count(0), _peak_size(0) {} | |||
|
|||
inline void set_size_and_count(size_t size, size_t count) { _size = size; _count = count; } |
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.
It occurred to me that this invalidates the peak counter. You need to update that too, e.g.
void set_size_and_count(size_t size, size_t count) {
_size = size;
_count = count;
update_peak(size, count);
}
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.
Okay
@afshin-zafari This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 6 new commits pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the ➡️ To integrate this PR with the above commit message to the |
Thanks for your review @tstuefe and @gerard-ziemski. /integrate |
Going to push as commit 66aeb89.
Your commit was automatically rebased without conflicts. |
@afshin-zafari Pushed as commit 66aeb89. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
/sponsor |
@afshin-zafari The command |
This is a PR for the original PR.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/16262/head:pull/16262
$ git checkout pull/16262
Update a local copy of the PR:
$ git checkout pull/16262
$ git pull https://git.openjdk.org/jdk.git pull/16262/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 16262
View PR using the GUI difftool:
$ git pr show -t 16262
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/16262.diff
Webrev
Link to Webrev Comment