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

correctly track element pointer in heap snapshot #51592

Merged
merged 1 commit into from
Oct 5, 2023
Merged

Conversation

d-netto
Copy link
Member

@d-netto d-netto commented Oct 4, 2023

Fixes #51576 on a simple snapshot I collected on my machine.

@NHDaly could you verify this as well?

Copy link
Member

@NHDaly NHDaly left a comment

Choose a reason for hiding this comment

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

💡 ❤️
Aha! Thanks Diogo, this makes a lot of sense, and it's a clear fix. 👍

Thanks for having a look at this! 👍 👍
:/ I really wish we had unit tests for the heap snapshotter, but i'm not super sure how to do that very easily... 🤔
Maybe after RelationalAI#66 that might be easier, since we can parse the snapshot in julia? Anyway, we'll just have to live without it for this PR.

Thanks! 👍

@NHDaly
Copy link
Member

NHDaly commented Oct 4, 2023

💡 Oh wait! This might also fix some of the broken links we were seeing in the heap snapshot, where things weren't connecting up to the roots, since any time they were the child of an array, the array is pointing to a different address than the object, so the link would be broken! 💡

Very excited for the fix. Thanks!

@d-netto d-netto added GC Garbage collector backport 1.10 Change should be backported to the 1.10 release labels Oct 4, 2023
@d-netto d-netto merged commit 5bdc1b3 into master Oct 5, 2023
3 checks passed
@d-netto d-netto deleted the dcn-snapshot-fix branch October 5, 2023 14:04
d-netto added a commit to RelationalAI/julia that referenced this pull request Oct 5, 2023
d-netto added a commit to RelationalAI/julia that referenced this pull request Oct 5, 2023
KristofferC pushed a commit that referenced this pull request Oct 9, 2023
Fixes #51576 on a simple
snapshot I collected on my machine.

(cherry picked from commit 5bdc1b3)
@KristofferC KristofferC mentioned this pull request Oct 9, 2023
31 tasks
kpamnany pushed a commit to RelationalAI/julia that referenced this pull request Oct 19, 2023
kpamnany pushed a commit to RelationalAI/julia that referenced this pull request Oct 19, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Oct 20, 2023
kpamnany pushed a commit to RelationalAI/julia that referenced this pull request Oct 21, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Oct 23, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Nov 1, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Nov 2, 2023
KristofferC added a commit that referenced this pull request Nov 2, 2023
Backported PRs:
- [x] #50932 <!-- types: fix hash values of Vararg -->
- [x] #50975 <!-- Use rr-safe `nopl; rdtsc` sequence -->
- [x] #50989 <!-- fix incorrect results in `expm1(::Union{Float16,
Float32})` -->
- [x] #51284 <!-- Avoid infinite loop when doing SIGTRAP in arm64-apple
-->
- [x] #51332 <!-- Add s4 field to Xoshiro -->
- [x] #51397 <!-- call Pkg precompile hook in latest world -->
- [x] #51405 <!-- Remove fallback that assigns a module to inlined
frames. -->
- [x] #51491 <!-- Throw clearer ArgumentError for strip with two string
args -->
- [x] #51531 <!-- fix `_tryonce_download_from_cache` (busybox.exe
download error) -->
- [x] #51541 <!-- Fix string index error in tab completion code -->
- [x] #51530 <!-- Don't mark nonlocal symbols as hidden -->
- [x] #51557 <!-- Fix last startup & shutdown precompiles -->
- [x] #51512 <!-- avoid limiting Type{Any} to Type -->
- [x] #51595 <!-- reset `maxprobe` on `empty!` -->
- [x] #51582 <!-- Aggressive constprop in LinearAlgebra.wrap -->
- [x] #51592 <!-- correctly track element pointer in heap snapshot -->
- [x] #51326 <!-- complete false & true more generally as vals -->
- [x] #51376 <!-- make `hash(::Xoshiro)` compatible with `==` -->
- [x] #51557 <!-- Fix last startup & shutdown precompiles -->
- [x] #51845 
- [x] #51840 
- [x] #50663 <!-- Fix Expr(:loopinfo) codegen -->
- [x] #51863 <!-- LLVM 15.0.7-9 -->

Contains multiple commits, manual intervention needed:

- [ ] #51035 <!-- refactor GC scanning code to reflect jl_binding_t are
now first class -->
- [ ] #51092 <!-- inference: fix bad effects for recursion -->

Non-merged PRs with backport label:
- [ ] #51479 <!-- prevent code loading from lookin in the versioned
environment when building Julia -->
- [ ] #51414 <!-- improvements on GC scheduler shutdown -->
- [ ] #51366 <!-- Handle infix operators in REPL completion -->
- [ ] #50919 <!-- Code loading: do the "skipping mtime check for stdlib"
check regardless of the value of `ispath(f)` -->
- [ ] #50824 <!-- Add some aliasing warnings to docstrings for mutating
functions in Base -->
- [ ] #49805 <!-- Limit TimeType subtraction to AbstractDateTime -->
@KristofferC KristofferC removed the backport 1.10 Change should be backported to the 1.10 release label Nov 2, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Nov 7, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Nov 10, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Nov 14, 2023
DelveCI pushed a commit to RelationalAI/julia that referenced this pull request Nov 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GC Garbage collector
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Heap Snapshot has messed up array edge indexes
4 participants