github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
Geth MoarVM: 5ba30ed83d | (Nicholas Clark)++ | src/core/fixedsizealloc.c
`MVM_fixed_size_destroy` needs to free the safepoint overflow list.

Otherwise anything oversize that has been queued to free at a safepoint can leak on --full-cleanup.
05:28
MasterDuke arch just got gcc 11, now to test out the improved static analyzer... 07:28
moon-child oh nice 07:30
nwc10 "have the appropriate amount of fun" 07:36
Geth MoarVM/free_loaded_libs_during_full_cleanup: c4d6868a46 | (Nicholas Clark)++ | 2 files
Add `MVM_fixkey_hash_foreach`, which calls a function for each hash entry.

This is simpler than providing the full iterator API, as we only need to
  "call this on everything" once, and don't (yet) need to pass iterator state
between functions or store it in data structures.
08:14
MoarVM/free_loaded_libs_during_full_cleanup: 6464a7b037 | (Nicholas Clark)++ | src/moar.c
In `MVM_vm_destroy_instance` call MVM_nativecall_free_lib` for each DLL.

Based on a commit by Daniel Green [email@hidden.address]
nwc10 MasterDuke: I don't actually know what the PR for that should be 08:15
MasterDuke ?
nwc10 it solves whatever problem that your branch free_loaded_libs_during_full_cleanup tries to solve 08:17
but I don't actually know what the problem was
MasterDuke it was valgrind reporting the 'still reachable' stuff 08:19
`valgrind --leak-check=full --show-leak-kinds=all raku --full-cleanup -e ''`
MasterDuke nwc10++ i now get a completely clean report from valgrind 08:49
nwc10 oh wow
I need to rebuild not-with-ASAN to see what is going on
so I fixed my typo and started it 08:50
MasterDuke (aside from it now pitching a fit about `WARNING: Serious error when reading debug info. When reading debug info from /home/dan/Source/perl6/install/lib/libmoar.so: parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4`, but that's not related to your change)
(it also complains about /usr/lib/libgcc_s.so.1) 08:54
(i think i just need to reboot) 08:55
Geth MoarVM/free_loaded_libs_during_full_cleanup: 2d966f6140 | (Nicholas Clark)++ | 2 files
Add `MVM_fixkey_hash_foreach`, which calls a function for each hash entry.

This is simpler than providing the full iterator API, as we only need to
  "call this on everything" once, and don't (yet) need to pass iterator state
between functions or store it in data structures.
09:03
MoarVM/free_loaded_libs_during_full_cleanup: 8817c498cb | (Nicholas Clark)++ | src/moar.c
In `MVM_vm_destroy_instance` call MVM_nativecall_free_lib` for each DLL.

Based on a commit by Daniel Green [email@hidden.address]
MasterDuke you should PR that 09:04
nwc10 Aha. I had `MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 MVM_SPESH_CHECK_DU=1` and that *does* still leave things unfreed
and I have the page open
Geth MoarVM: nwc10++ created pull request #1494:
Free loaded libs during full cleanup
09:08
MasterDuke yeah, it would be nice to get those options clean also
ha, getting the report completely clean changes the output enough to break my tiny script/regex 09:17
nwc10 Win! 09:25
jnthn moarning o/ 09:50
nwc10 \o 09:52
Geth MoarVM/free_loaded_libs_during_full_cleanup: f71d571d37 | MasterDuke17++ (committed using GitHub Web editor) | azure-pipelines.yml
Fix leak check CI step now we're fully leak free
09:54
MasterDuke arg. there must be some yaml problem in ^^^, but i have no way of knowing what the error is 09:57
nine MasterDuke: I'd guess it's about quoting. I'd just use - script: | even for a single line 09:58
MasterDuke hm 09:59
Geth MoarVM/free_loaded_libs_during_full_cleanup: 19e29dc9e8 | MasterDuke17++ (committed using GitHub Web editor) | azure-pipelines.yml
Fix probable quoting error in leak check step
10:05
MasterDuke nine++
ugh, i'm stomping all over nwc10++'s PR... 10:33
nwc10 I don't think that ASCII expresses my arm waving correctly. "whatever" - it's my implementation of your suggested fix for a bug you found/figured out. 10:35
if you want to "take over" the branch and rebase it/clean it up, that's just fine
Geth MoarVM/free_loaded_libs_during_full_cleanup: 0e86877c2a | MasterDuke17++ (committed using GitHub Web editor) | azure-pipelines.yml
Show valgrind output if there was a leak
10:38
MasterDuke heh. i might just do that so my errors aren't immortalized in the git log... 10:39
nwc10 I found that YAML thing hard enough to understand already - I think that it would better to make it "revisionist history" with clean error-free commits (or just one) so that it's less confusing to everyone in the future. 10:48
"just one" - I didn't actually look (yet) at what you were doing, other than figuring that it was "Trying to make it work" 10:49
nine So... history is not just rewritten by winners, rewriting history may actually be necessary for winning ;)
Geth MoarVM/free_loaded_libs_during_full_cleanup: dab5e7333d | MasterDuke17++ (committed using GitHub Web editor) | azure-pipelines.yml
Just need stderr from valgrind
10:52
MasterDuke apparently so for me... 10:53
MasterDuke hm. so the current ubuntu 16/18 fails are correct. i.e., there are reachable blocks when there shouldn't be, and aren't on the newer OSes 11:13
we could make the test more relaxed (no reachable blocks, or if there are any of those, at least no explicit leaks)? only run the test on the new OSes? someone spin up an ubuntu 16/18 vm and try to debug why the cleanup is failing on them? 11:15
nwc10 I think that it's useful to keep the strict "nothing" test for something current 11:16
I don't know if it's useful to test the older versions, if trying to test them adds complexity 11:17
I think that the important one not to regress on is the "nothing" one
MasterDuke i can add a 'CHECK_LEAKS' variable to the CI pipeline and only set that for some of the jobs 11:23
Geth MoarVM: 87cd6f5d05 | MasterDuke17++ (committed using GitHub Web editor) | azure-pipelines.yml
Only check for leaks on Ubuntu >=20.04
12:15
MasterDuke whoops, that was supposed to be on the branch 12:16
that's what i get for too much multi-tasking
nwc10 aha, but if it works on master, you can rebase the branch onto it, and drop most of "figuring stuff out" commits? 12:17
and pretend that that was the plan all along :-)
MasterDuke exactly 12:18
Geth MoarVM/free_loaded_libs_during_full_cleanup: 961a198512 | (Nicholas Clark)++ (committed by Daniel Green) | 2 files
Add `MVM_fixkey_hash_foreach`, which calls a function for each hash entry.

This is simpler than providing the full iterator API, as we only need to
  "call this on everything" once, and don't (yet) need to pass iterator state
between functions or store it in data structures.
12:29
MoarVM/free_loaded_libs_during_full_cleanup: 00eb44c7e1 | (Nicholas Clark)++ (committed by Daniel Green) | src/moar.c
In `MVM_vm_destroy_instance` call MVM_nativecall_free_lib` for each DLL.

Based on a commit by Daniel Green [email@hidden.address]
MoarVM/free_loaded_libs_during_full_cleanup: c37ad91bb4 | MasterDuke17++ (committed by Daniel Green) | azure-pipelines.yml
Fix leak check CI step now we're fully leak free
MasterDuke schleiss.io/plotting-source-code-t...e-projects inspiration to keep up my attempt at TODO removing 13:06
Geth MoarVM/master: 4 commits pushed by (Nicholas Clark)++, MasterDuke17++ 14:02
lizmat a good moment to bump again? 14:15
MasterDuke sure 14:18
lizmat bumped 14:44
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2021/05/17/2021-...nodelayed/ 16:57