github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:17 tbrowder left 00:49 tbrowder joined
MasterDuke it seems LD_PRELOADing libasan got things to work. however, running the same code i ran under valgrind last night only shows memory leaks in asan 01:14
even -e '' shows a memory leak 01:15
are container_specs ever freed? 01:16
gist.github.com/MasterDuke17/de7c6...a2a1cb0235 01:19
06:45 domidumont joined 07:11 sivoais_ joined, sivoais left 07:47 purcell joined 07:49 purcell left 08:43 sivoais_ left, sivoais joined 09:10 brrt joined 09:51 brrt left 10:53 brrt joined 11:43 MasterDuke left 11:52 brrt left
jnthn .tell MasterDuke Put ASAN_DETECT_LEAKS=0 into the environment. Container specs are process lifetime, and - like anything we're holding on to at process termination - we simply leave them to the OS to free, which is rather faster at it. :) 11:56
yoleaux jnthn: I'll pass your message to MasterDuke.
12:03 MasterDuke joined, MasterDuke left, MasterDuke joined
MasterDuke . 12:04
yoleaux 11:56Z <jnthn> MasterDuke: Put ASAN_DETECT_LEAKS=0 into the environment. Container specs are process lifetime, and - like anything we're holding on to at process termination - we simply leave them to the OS to free, which is rather faster at it. :)
MasterDuke jnthn: are they freed when --full-cleanup is used? 12:05
jnthn MasterDuke: Maybe 12:12
(In principle, they should be, but --full-cleanup has only received so much attention :)
MasterDuke jnthn: gist.github.com/MasterDuke17/d481c...47759eb0b6 12:17
jnthn huh, that'd imply spesh_slots is NULL but num_spesh_slots is non-zero...how could that ever happen... 12:21
MasterDuke it isn't happening every time 12:23
timotimo you know, you can use rr to find out when that happens :) 12:26
MasterDuke fwiw, here is the script and input gist.github.com/MasterDuke17/074d0...57745dd191 12:27
timotimo: if i create an rr file can you explore it on your system?
timotimo hm, not entirely sure; it might actually put everything that gets mmapped (like binaries and libraries) in there too 12:28
but it's probably better if i do it locally so the debug info lines up with my source code locations?!
MasterDuke good thing i made the relevant files available then 12:29
timotimo aye
jnthn MasterDuke: Please create a MoarVM issue, so it doesn't get forgotten 12:30
timotimo my $proc = Proc::Async.new: '/home/dan/p6/install/bin/perl6-m', '-e', $oneliner; 12:31
well this surely won't work here :D
MasterDuke github.com/MoarVM/MoarVM/issues/1093 for a start 12:32
timotimo so is it the 9.p6 script that dies that way? 12:33
or one of the one-liners?
MasterDuke yeah
9.p6
timotimo how long does it usually take?
there it is 12:34
MasterDuke nice 12:35
nine jnthn: any ideas where to start looking greatly appreciated: github.com/rakudo/rakudo/issues/2838 12:36
My original guess was that it's ye olde "we copy pretty much all available symbols just to make sure into a BEGIN block" issue. But with the env hash not even getting assigned to a variable but subscripted directly instead I'm not so sure. 12:38
MasterDuke .tell samcv i get a warning about non-vectorized code in clang 8.0.0 gist.github.com/MasterDuke17/46224...4c2a71677e 13:09
yoleaux MasterDuke: I'll pass your message to samcv.
jnthn nine: Yeah, it's odd; I'd expect it's happening out of closure serialization but I don't immediately see how 13:18
nine: Does it take all of the lines to be commented out or just some of them? 13:19
And would $dist contain such paths?
nine jnthn: it's enough to replace nqp::getenvhash<RAKUDO_LOG_PRECOMP> with 0 14:24
lizmat actually, I think it's enough to change the binding to an assignment :-) 14:31
I can't find my own environment in installed core libraries anymore after that 14:32
nine Confirmed! What the? 14:36
lizmat sometimes the simplest solutions... :-) 14:40
what I did:
nuke the install/share/perl6/precomp dir
make install
check a file in there for the string /Users : there are many of them in there, related to uppercase strings
nuke the install/share/perl6/precomp dir 14:41
change the code to use " instead of :=
make install
check a file in there for the string /Users : there is only one of them left, not related to uppercase strings
nine Would still be nice to find out why it broke that way and how to get rid of the underlying issue 14:42
lizmat well, when you bind, you essentially don't copy
nine But your fix is definitely tremendous help
But the code only bound the single string? Not the whole env hash
lizmat well, I guess it created a Scalar container ? not sure what getenvhash does for keys it can't find ? 14:43
anyways, that was my theory, which seems to work out 14:44
dogbert17 the file with oneliners posted by MasterDuke contains lots of nasty stuff 15:07
if a process gets killed, because 20s has passed, things sometimes goes horribly wrong 15:10
gist.github.com/dogbert17/f902f4a8...c227eeaa17 15:12
hmm, I get the impression that the barfage occurs when the line 'whenever Promise.in(20)' is triggered 15:16
16:38 zakharyas joined 16:48 masak left, jpf1 left 17:06 masak joined, jpf1 joined, masak is now known as Guest47580 17:29 Kaiepi left 17:40 lucasb joined 17:54 zakharyas left, brrt joined 18:22 brrt left 19:06 domidumont left 21:31 Guest47580 is now known as masak 22:05 squashable6 left 22:10 squashable6 joined
Geth MoarVM/more-pea: 4579a30a1d | (Jonathan Worthington)++ | src/spesh/pea.c
Handle some further object read ops in EA
22:29
22:35 MasterDuke left 23:12 MasterDuke joined, MasterDuke left, MasterDuke joined 23:39 lucasb left 23:57 Kaiepi joined 23:59 Kaiepi left, Kaiepi joined