05:49 tomboy64 joined
nwc10 jnthn: ASAN! Spesh! GC! paste.scsys.co.uk/558389 05:55
06:14 domidumont joined 06:19 domidumont joined 07:00 brrt joined
jnthn nwc10: Wonder if that is the one timotimo had a branch with a suggested patch for... 08:36
nwc10 I don't know. I tested the branch for a few iterations 08:37
but then went back to master
this stuff is rare, so one can't use testing to figure out if a patch is a fix
08:37 stmuk_ joined 08:41 stmuk joined
brrt \o jnthn, nwc10 08:41
samcv good * 08:57
09:15 ilmari[m] joined
timotimo nwc10: you didn't apply my patch to try if it fixes things? :< 10:21
oh 10:22
nwc10 timotimo: as I said, I can't tell you if it fixes things, because the crash only happens about once a month
timotimo well, my branch should prevent coming to the gc from fix_wval
nwc10 this one's going to take code review to fix, not testing :-) 10:23
timotimo i guess that's fair 10:26
samcv good night everyone 10:33
timotimo nite samcv 10:37
it might help to put a litle flag in somewhere "currently in spesh" for the TC, and when it hits a gc safepoint and that flag is set it could abort 10:48
jnthn timotimo: I think that's already there wehen GC_DEBUG is turned on. 11:46
timotimo ah, ok, nwc didn't have that enabled, it seems 11:49
i had expected every single flag to be enabled without going over the actual patch in the paste :) 11:50
a neat debugging trick: if you want to place a breakpoint to be effective only after your program has reached a certain point, just stick a break point in CStruct.c:497 (it's the bind_attribute reprfunc) and then stick "class A is repr("CStruct") { has int32 $.a }; A.new(:10a);" into your user program 11:51
jnthn: while it's a bad, bad hack, i could get the number of calls to mergesubstates and mergesubrule to go down drastically by using the grammar once at the end of YAMLish.pm6 11:55
from 3184 and 3127 calls for mergesubstates and mergesubrule respectively 11:56
to 664 and 658
should i investigate further at all in this direction? if i craft the yaml document well, i can surely get it down even further 11:58
oh, now it's gone completely 12:01
12:27 dogbert17_ joined
dogbert17_ added some gdb output to github.com/MoarVM/MoarVM/issues/572 12:28
12:50 domidumont joined 12:55 domidumont joined 12:57 domidumont joined 13:01 TimToady joined
Zoffix "Out of range: attempted to read 0 bytes from filehandle" surely that's the most in-range number of bytes to read :/ 13:04
nwc10 except that for a read of 0, would a return of 0 be success or end of file? 13:05
(not that it likely matters to the caller at that point)
Zoffix It returns a Buf 13:06
nwc10 ah
in which case, ignore me :-)
Zoffix Oh, I'm in the wrong channel :D
geekosaur POSIX says read of length 0 may do error checks, and otherwise returns 0 not meaning EOF 13:07
Zoffix Ah
MasterDuke a read of 0 is allowed? 13:09
*should be 13:10
because moar doesn't: github.com/MoarVM/MoarVM/blob/mast...#L179-L180 13:11
Zoffix: ^^^ 13:12
geekosaur that is precisely what started this... 13:16
I was responding to nwc10's observation, in any case; what perl 6 does is for someone else to decide 13:17
Zoffix I just popped `|| 1` to my read size calculation, so I'm good.
Hmmm.. 13:20
"Out of range: attempted to read 600000000 bytes from filehandle"
So there's some sort of max size too?
geekosaur github.com/MoarVM/MoarVM/commit/c9ab59c6ba 13:21
not any more; bump moarvm
Zoffix wtf 13:22
What a coincidence
jnthn++ presciently fixing MoarVM
MasterDuke Zoffix: the bump you did yesterday to make that test i added to roast pass includes jnthn's commit. had you not updated since then? 13:26
Zoffix No, I was using my system perl6 to run my bench...
...which is about... slurping... a file... in binary mode. Exactly what the MoarVM fixes :S 13:27
MasterDuke \o/ 13:28
timotimo spooky :) 13:31
dogbert17_ so jnthn++ is sneaking in MoarVM fixes when nobody is looking :) 13:49
geekosaur I was looking, that's how I recognized Zoffix's issue :) 13:50
(also Geth was looking :)
dogbert17_ nwc10: out of interest, which test caused the ASAN barfage you posted earlier?
geekosaur++, Geth++ 13:51
nwc10 dogbert17_: running the spectest with harness6 13:52
(or wahtever it's called)
dogbert17_ ah, so it's not obvious which individual test file was the culprit
dogbert17_ guess it could have been the harness6 script itself, there are still some bugs in there 13:53
nwc10 no, it's the harness itself that is the culprit
dogbert17_ cool, jnthn will have plenty to do then time permitting :) 13:54
14:48 domidumont joined
jnthn I actually ran into the large slurp bug yesterday when I tried to SCP a large file 14:50
Using SSH::LibSSH
Zoffix Ah :) 14:51
jnthn I also did a thinko in the library that made it dead slow
After fixing that we can SCP an 100MB file using the library just as fast as the scp command line program :)
Zoffix \o/
jnthn If only everything else in my $dayjob project was so fast :P 14:52
dogbert17_ Write your $dayjob stuff in Perl6 :)
jnthn I largely am :P 14:54
14:57 domidumont joined 15:21 brrt joined 15:58 brrt joined 16:16 geekosaur joined 17:07 domidumont joined 19:25 AlexDaniel joined
samcv so now i can slurp my hard drive? sudo perl6 -e 'slurp "/dev/sda"' 21:23
it's only binary mode that's affected right? 21:24
Zoffix You could slurp it before too. Only nqp::readfh() is affected 21:25
Or at least is is.. not sure what else uses those limits from MoarVM 21:26
And large perl6 slurps use several nqp::readfh calls
samcv ah 21:34
is that changing to going to be only one or no
Zoffix nope 21:36
Ah
I guess IO::Path.slurp was indeed affected. 21:37
It's IO::Handle.slurp that reads in chunks (and still does)
jnthn Yeah, it's IO::Path.slurp that I discovered this on 21:40