-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Make memory roots actually meaningful #2705
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
Conversation
Note that this exposes information about other users, which is why we currently don't include pids in the memory roots. |
Oh, that's a feature then. We could stil enable this when nix runs as root (no deamon). It's a huge pain when something sticks in the store for no understandable reason. |
Here is a new version with
Mingled into this is also a change that prints the rooted path because it is not obvious why a Showtime
The best part being that this does not change at all the remote store protocol. |
Not a proof of concept anymore, but not yet ready to merge... |
This new structure makes more sense as there may be many sources rooting the same store path. Many profiles can reference the same path but this is even more true with /proc/<pid>/maps where distinct pids can and often do map the same store path. This implementation is also more efficient as the `Roots` map contains only one entry per rooted store path.
This fixes warnings about "structured binding declaration" requiring "-std=c++1z".
f894716
to
115e2c8
Compare
This looks finished to me. I am open to comments now ;-). @edolstra do you think this is valuable enough to merge at some point in time ? |
Thanks, merged! |
\o/ Thanks ! |
Compare
which can be eanigfully processed to find the culprits like this
with the former
where the numbers look like pid's but are really just random numbers.