Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-04-12

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary