* gchristensen
's thinking about how to garbage collect the cache
<gchristensen>
niksnut: if it would let us publish debug symbols by default, I have some paid time to work on garbage collecting the cache. if we find a way to GC, would that let us do symbols?
<ikwildrpepper>
gchristensen: how are the two connected?
<ikwildrpepper>
or do you mean cost-wise?
<aminechikhaoui>
what would like to GC exactly ? would that break builds that still use old nixpkgs version ?
<gchristensen>
aminechikhaoui: an important question :P
<gchristensen>
ikwildrpepper: cost wise, enabling debug symbols would be like a 10x increase in writes
<ikwildrpepper>
gchristensen: seems that would not really be scalable
<gchristensen>
there is nothing I can say to that :P can you reply and be more specific?
<ikwildrpepper>
i mean, I like the idea of having debug symbol available
<ikwildrpepper>
hehe, sorry, more specific, even if we GC a significant part (e.g. 60% of the cache), we would still use 4x more storage and costs would go up 4x
<ikwildrpepper>
right?
<aminechikhaoui>
if it's just a matter of removing disk caches (binary-cache-vx.sqlite` files) then it's probably not that intrusive but if it triggers odd build issues then it's gonna be a pain to handle for people using old nixpkgs versions (asking for a friend :D)
<niksnut>
I don't think we can aford to enable debug symbols for everything
<ikwildrpepper>
aminechikhaoui: haha
<niksnut>
maybe for a couple of core libraries
<gchristensen>
debug symbols is a pretty nasty problem. you can't get them unless you've crystal-ball'd your way to knowing which programs will crash
<ikwildrpepper>
gchristensen: maybe we start a crowdfunding for 200k / year for getting deubg symbols for all :)
<garbas>
could we upload debug symbols somewhere cheaper (but slower)?
<gchristensen>
we need real data tbh
<niksnut>
it's not just storage costs
<niksnut>
it also slows down hydra, user's local builds, ...
<gchristensen>
write speed?
<ikwildrpepper>
aminechikhaoui: btw, your friend should have a private binary cache, right? or are you asking for different friend than I thought? ;)
<gchristensen>
how is it that other distros are able to do this by default?
<niksnut>
because they have money
<aminechikhaoui>
ikwildrpepper right but I imagine many deps are provided by cache.nixos.org and my friend is scared of many people asking him to fix their odd builds :P
<ikwildrpepper>
:)
<gchristensen>
niksnut: fair :P when you say slows down hydra -- which parts are you thinking?
<niksnut>
copying debug symbols from the builders, uploading them to S3
<aminechikhaoui>
and maybe compression of possibly huge files with xz
<gchristensen>
alternative idea
<gchristensen>
would it be possible to create debug symbols after-the-fact and trick GDB in to looking at them?
<niksnut>
in theory, yes
<niksnut>
if you have a reproducible build
<niksnut>
the build IDs should be the same
<niksnut>
but it would be pretty impractical
<niksnut>
because given an ELF library in a store path, you would have to figure out what derivation it was built from
<gchristensen>
right
<gchristensen>
damn
<gchristensen>
just to start at the beginning, we agree no debug symbols is pretty annoying and it'd be nice to have a way to have them, right?
<niksnut>
sure, but it would be a benefit to a pretty small number of people while imposing a significant cost on everybody else
<gchristensen>
I'm looking for practical ways to run tests for the nixops repo which include actual `nixops deploy`s
<gchristensen>
any ideas on how to do this? I have one idea, but I don't like it very much. my idea right now is to set up one of my buildkite agents to do it
<gchristensen>
I'd really like to do this with all the "top plugins" like nixops, nixops-aws, nixops-hetzner (if possible?) nixops-packet (my favorite) so there'd need to be some credentials and there'd be some risk there to take on, but I think it'd be worth it