| 10 Aug 2022 |
Amanda (she/her) | So I can just nuke the directory without worrying about dangling references | 19:03:14 |
Amanda (she/her) | ( I assume ) | 19:03:20 |
Amanda (she/her) | Unless there's another way to prune it, last I heard there's no such tools for that publically | 19:03:50 |
ajs124 | I think I saw one in a gist somewhere, for s3 caches | 19:07:45 |
ajs124 | https://gist.github.com/DarkKirb/533e9e8b9b6dd1badf9b103b4285dc4e | 19:08:06 |
Amanda (she/her) | interesting | 19:09:48 |
ajs124 | I also hacked one up, but it's very dumb and just works on a directory of narinfo and nar files by basically doing LRU.
Doesn't even try to parse any dependencies or anything rn. | 19:10:50 |
| kenji joined the room. | 19:47:30 |
| 14 Aug 2022 |
| @rimuru:gentoo.chat changed their profile picture. | 09:36:44 |
@linus:schreibt.jetzt | I wrote https://github.com/lheckemann/cache-gc which operates on a flat-file binary cache and removes things based on mtime (and keeps dependencies of "live" things even if they're older) | 10:56:57 |
@linus:schreibt.jetzt | ajs124: how do you get LRU info? | 10:57:16 |
@linus:schreibt.jetzt | access logs? | 10:59:44 |
das_j | In reply to @linus:schreibt.jetzt ajs124: how do you get LRU info? Atime iirc | 11:00:28 |
@linus:schreibt.jetzt | aah ok | 11:00:38 |
@linus:schreibt.jetzt | I disable that everywhere 😅 | 11:00:52 |
@linus:schreibt.jetzt | you could use mine with a one-byte change to preserve the dependency invariant :p | 11:02:12 |
das_j | Yeah we explicitly enabled it on that Filesystem | 11:02:16 |
das_j | Probably the only ones with atime in our setup | 11:02:27 |
@linus:schreibt.jetzt | unrelated, I'm trying to set up a new project in my hydra and getting this from the evaluator:
hydra-eval-jobs returned exit code 1:
Collecting from unknown thread
child process (251757) killed by signal=6
error: unexpected EOF reading a line
| 11:03:12 |
@linus:schreibt.jetzt | what's the most helpful way to get more useful info about what's going wrong? | 11:03:26 |
@linus:schreibt.jetzt | (I'm 90% sure this is a nix bug and not my fault, but...) | 11:03:37 |
das_j | You can maybe check coredumpctl? | 11:05:02 |
das_j | Or strace the evaluator (good luck with that) | 11:05:15 |
@linus:schreibt.jetzt | oh joy
#0 0x0000ffffa8a4f8d8 in __pthread_kill_implementation () from /nix/store/6afvzgx3himw7584k9zmfxmqd86b1z7j-glibc-2.34-210/lib/libc.so.6
#1 0x0000ffffa8a0d2b4 in raise () from /nix/store/6afvzgx3himw7584k9zmfxmqd86b1z7j-glibc-2.34-210/lib/libc.so.6
#2 0x0000ffffa89fafd8 in abort () from /nix/store/6afvzgx3himw7584k9zmfxmqd86b1z7j-glibc-2.34-210/lib/libc.so.6
#3 0x0000ffffa937af70 in GC_push_all_stacks () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#4 0x0000ffffa93766b4 in GC_mark_some () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#5 0x0000ffffa9376858 in GC_stopped_mark () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#6 0x0000ffffa9377e2c in GC_try_to_collect_inner () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#7 0x0000ffffa9378234 in GC_collect_or_expand () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#8 0x0000ffffa937866c in GC_allocobj () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#9 0x0000ffffa9378a48 in GC_generic_malloc_inner () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#10 0x0000ffffa937c658 in GC_generic_malloc () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#11 0x0000ffffa937ca20 in GC_malloc_kind_global () from /nix/store/lih56k3nphxb5jvrwfp29fzazlvpy1bl-boehm-gc-8.0.6/lib/libgc.so.1
#12 0x0000ffffa969b520 in nix::EvalState::callFunction(nix::Value&, unsigned long, nix::Value**, nix::Value&, nix::Pos const&) () from /nix/store/zzg3ml3vshm9vl7cshdqry5jandavhf8-nix-2.8.1/lib/libnixexpr.so
#13 0x0000ffffa969c3fc in nix::ExprCall::eval(nix::EvalState&, nix::Env&, nix::Value&) () from /nix/store/zzg3ml3vshm9vl7cshdqry5jandavhf8-nix-2.8.1/lib/libnixexpr.so
#14 0x0000ffffa96a0398 in nix::ExprVar::eval(nix::EvalState&, nix::Env&, nix::Value&) () from /nix/store/zzg3ml3vshm9vl7cshdqry5jandavhf8-nix-2.8.1/lib/libnixexpr.so
#15 0x0000ffffa969f4c4 in nix::ExprSelect::eval(nix::EvalState&, nix::Env&, nix::Value&) () from /nix/store/zzg3ml3vshm9vl7cshdqry5jandavhf8-nix-2.8.1/lib/libnixexpr.so
#16 0x0000ffffa96a0398 in nix::ExprVar::eval(nix::EvalState&, nix::Env&, nix::Value&) () from /nix/store/zzg3ml3vshm9vl7cshdqry5jandavhf8-nix-2.8.1/lib/libnixexpr.so
#17 0x0000ffffa969e06c in nix::ExprAssert::eval(nix::EvalState&, nix::Env&, nix::Value&) () from /nix/store/zzg3ml3vshm9vl7cshdqry5jandavhf8-nix-2.8.1/lib/libnixexpr.so
#18 0x000000000043b0c4 in nix::EvalState::forceValue<nix::EvalState::forceValue(nix::Value&, nix::Pos const&)::{lambda()#1}>(nix::Value&, nix::EvalState::forceValue(nix::Value&, nix::Pos const&)::{lambda()#1}) (this=<optimized out>, v=..., getPos=...)
[... many more stack frames omitted ...]
| 11:05:45 |
@linus:schreibt.jetzt | Is that more likely to be memory corruption or OOM? | 11:06:21 |
@linus:schreibt.jetzt | Probably not OOM. Not much pressure, no swap getting used. | 11:06:55 |
@linus:schreibt.jetzt | Rick (Mindavi): did you look at alternative UUID implementations when you were fixing UUID4-Tiny for aarch64? I seem to remember an alternative being mentioned somewhere, but don't remember what it was... | 13:17:21 |
Mic92 | How do I need to specify remote builders? https://github.com/nix-community/infra/commit/75415763e156af5460cf41a4e72f0af4a6ed9864#diff-2404a9483fea5d1ff23e25a108e54c5a2a9d5df3bed79a506b0738659c95e08bR77 | 14:23:31 |
Mic92 | Hydra does not like the format that I am using: https://hydra.nix-community.org/build/17198636 | 14:24:03 |
hexa | without ssh://? | 15:17:26 |