Skip to content
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

add gc roots and gc finalist roots to fix unrooted nodes #125

Merged
merged 2 commits into from
Jan 4, 2024

Conversation

JianFangAtRai
Copy link

@JianFangAtRai JianFangAtRai commented Dec 21, 2023

PR Description

What does this PR do?

This PR is to fix the issue: JuliaLang#52432

  1. Fixed unrooted nodes from gc_mark_roots and added a GC root to them
  2. Fixed unrooted nodes from gc_mark_finlist and added a finlist root to them
  3. Added logic to check nodes without any incoming edges and print them out when serialize heap snapshot

The resulting output is as follows for snapshotting julia process

julia> using Profile

julia> Profile.take_heap_snapshot("jf-julia.heapsnapshot")
node count: 1384919
edge count: 4407344
orphan node count: 0
orphan nodes: []
"jf-julia.heapsnapshot"

The containment view on chrome DevTools:

julia-heapsnapshot-containment-view

Checklist

@JianFangAtRai JianFangAtRai self-assigned this Dec 21, 2023
@github-actions github-actions bot added port-to-v1.10 This change should apply to Julia v1.10 builds port-to-v1.12 This change should apply to Julia v1.12 builds port-to-v1.9 This change should apply to Julia v1.9 builds labels Dec 21, 2023
@d-netto
Copy link
Member

d-netto commented Jan 3, 2024

@JianFangAtRai, could you please tidy up the Checklist with requirements for merging?

@JianFangAtRai JianFangAtRai removed port-to-v1.10 This change should apply to Julia v1.10 builds port-to-v1.12 This change should apply to Julia v1.12 builds labels Jan 3, 2024
@JianFangAtRai
Copy link
Author

JianFangAtRai commented Jan 3, 2024

@JianFangAtRai, could you please tidy up the Checklist with requirements for merging?
Here is the check list:

Copy link
Member

@d-netto d-netto left a comment

Choose a reason for hiding this comment

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

👍

@d-netto d-netto merged commit 7b758dd into v1.9.2+RAI Jan 4, 2024
10 checks passed
@d-netto d-netto deleted the jf-heapsnapshot-unrooted-nodes-fix-dev branch January 4, 2024 10:11
@NHDaly NHDaly added port-to-v1.10 This change should apply to Julia v1.10 builds port-to-v1.12 This change should apply to Julia v1.12 builds and removed port-to-v1.9 This change should apply to Julia v1.9 builds labels Jan 16, 2024
@Drvi Drvi removed the port-to-v1.10 This change should apply to Julia v1.10 builds label Feb 2, 2024
@d-netto d-netto removed the port-to-v1.12 This change should apply to Julia v1.12 builds label Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants