Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-10-21

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

All times shown according to UTC.

Time Nick Message
01:14 * AlexDaniel` woke up
01:17 Zoffix #woke
01:56 ilbot3 joined #moarvm
01:56 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
04:25 AlexDani` joined #moarvm
04:34 coverable6 joined #moarvm
04:34 bloatable6 joined #moarvm
04:34 nativecallable6 joined #moarvm
04:34 quotable6 joined #moarvm
04:34 bisectable6 joined #moarvm
04:34 committable6 joined #moarvm
04:34 evalable6 joined #moarvm
04:34 releasable6 joined #moarvm
04:34 greppable6 joined #moarvm
04:34 unicodable6 joined #moarvm
04:34 statisfiable6 joined #moarvm
04:34 benchable6 joined #moarvm
04:34 squashable6 joined #moarvm
04:38 evalable6 joined #moarvm
04:38 bisectable6 joined #moarvm
04:38 unicodable6 joined #moarvm
04:38 committable6 joined #moarvm
04:38 benchable6 joined #moarvm
04:38 squashable6 joined #moarvm
04:41 releasable6 joined #moarvm
04:54 bloatable6 joined #moarvm
04:54 quotable6 joined #moarvm
04:54 nativecallable6 joined #moarvm
04:54 coverable6 joined #moarvm
04:54 statisfiable6 joined #moarvm
04:54 greppable6 joined #moarvm
05:14 bloatable6 joined #moarvm
05:14 committable6 joined #moarvm
05:14 coverable6 joined #moarvm
05:14 evalable6 joined #moarvm
05:14 greppable6 joined #moarvm
05:14 quotable6 joined #moarvm
05:14 nativecallable6 joined #moarvm
05:14 benchable6 joined #moarvm
05:14 bisectable6 joined #moarvm
05:14 unicodable6 joined #moarvm
05:14 releasable6 joined #moarvm
05:14 squashable6 joined #moarvm
05:14 statisfiable6 joined #moarvm
07:08 domidumont joined #moarvm
07:17 domidumont joined #moarvm
08:26 robertle joined #moarvm
08:57 patrickz joined #moarvm
09:20 ggoebel joined #moarvm
09:24 dogbert17 joined #moarvm
09:35 rba_ joined #moarvm
09:46 rba joined #moarvm
10:02 rba_ joined #moarvm
10:17 rba joined #moarvm
10:27 Geth ¦ MoarVM/jit_indexicim_ops: 00641aecdc | (Timo Paulssen)++ | src/jit/graph.c
10:27 Geth ¦ MoarVM/jit_indexicim_ops: jit indexic, indexicim, indexim ops
10:27 Geth ¦ MoarVM/jit_indexicim_ops: review: https://github.com/MoarVM/MoarVM/commit/00641aecdc
10:31 rba_ joined #moarvm
10:58 AlexDaniel` does anybody know what's the point of including address family in the error message?
10:58 AlexDaniel` https://github.com/MoarVM/MoarVM/commit/d43ea5a8#diff-898921f5583c52e0766ebdcc00cd6492L298
10:58 AlexDaniel` c: 9dba498f7f^,9dba498f7f https://gist.githubusercontent.com/AlexDaniel/af212a58db97a7580c4aff2449a3da78/raw/c72f5368b0e8bca0b9ef8609e23715ceb7e54ea2/useragent-thingie.p6
10:58 committable6 AlexDaniel`, Successfully fetched the code from the provided URL.
10:58 committable6 AlexDaniel`, https://gist.github.com/bd63f6676168a39b60feda11c377ec25
10:58 AlexDaniel` “Failed to resolve host name 'perl6.or' with family 0. Error: 'Name or service not known'”
10:59 AlexDaniel` 0 is AF_UNSPEC I think
10:59 AlexDaniel` .seen eater
10:59 yoleaux I saw eater 12 Oct 2017 08:22Z in #perl6: <eater> :D
10:59 MasterDuke so you know what family was used if you didn't specify it?
11:00 AlexDaniel` so if I didn't specify it, it used unspecified family. Helpful
11:02 MasterDuke timotimo: i tried to perf record parsing the setting, which used to generate a several Gb perf.data. now it got to 231Gb and then died because it filled the disk
11:02 MasterDuke any idea what has changed that would cause that behavior?
11:03 AlexDaniel` m: https://perl6.or
11:03 camelia rakudo-moar 7cf5ce7ef: OUTPUT: «===SORRY!=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> https:⏏//perl6.or␤    expecting any of:␤        colon pair␤»
11:03 AlexDaniel` e: https://perl6.or
11:03 evalable6 AlexDaniel`, It looks like a URL, but for some reason I cannot download it (Failed to resolve host name 'perl6.or' with family 0. Error: 'Name or service not known')
11:03 eater joined #moarvm
11:04 AlexDaniel` e: https://perl6.or
11:04 evalable6 AlexDaniel`, It looks like a URL, but for some reason I cannot download it (Failed to resolve host name 'perl6.or' with family 0. Error: 'Name or service not known')
11:04 AlexDaniel` eater: was it intended to be like this?
11:04 AlexDaniel` i.e. print a numeric value of a family (which is not directly useful)
11:04 AlexDaniel` especially when it's AF_UNSPEC?
11:04 eater there is currently also support for AF_UNIX in there
11:05 eater so it might be useful if it showed also which family was used
11:05 eater and ofcourse you can explicitly say IPv6 or IPv4
11:05 eater it may fail finding an AAAA
11:05 eater but there might be an A record
11:05 eater AF_UNIX doesn't matter here I just realize
11:06 AlexDaniel` hm
11:09 eater I mostly try to make my error messages as verbose as possible so it's easy to find the problem
11:11 AlexDaniel` eater: any chance of having some string there instead of a number?
11:12 AlexDaniel` or are these numbers so well known that this is not needed? I have no idea actually
11:12 eater not really I guess
11:12 eater but that would mean an conversion table?
11:13 AlexDaniel` eater: thing is, my first impression was “huh, somebody left some debug info in there…”
11:13 AlexDaniel` now I'm thinking that it is simply LTA
11:13 eater LTA?
11:14 MasterDuke is there any pre-existing function like uv_strerror to turn those numbers into names?
11:14 AlexDaniel` less than awesome
11:14 eater :')
11:15 eater that can mean alot of things
11:17 jnthn Probably worth trying to map it into a string, I guess just a switch/case and fall back to "family N" if it's not one we have a mapping for
11:17 eater I guess right now that would be the best option ye
11:17 jnthn Agree it's probably useful info to have
11:18 samcv hey eater
11:18 eater currently busy with a catastrophic ZF
11:18 eater S
11:18 eater recovery
11:18 eater will pick it up after that
11:18 eater samcv: o/
11:18 jnthn Sure, it's hardly urgent :)
11:19 jnthn Good luck with the ZFS recovery
11:19 MasterDuke jnthn: did you see my question to timotimo about perf? would you have any insight?
11:19 eater thanks :)
11:21 jnthn MasterDuke: No, didn't spot that
11:21 timotimo MasterDuke: you can just reduce the frequency of recording
11:21 jnthn And don't know perf super well :)
11:21 timotimo it's either -f or -F
11:22 MasterDuke yeah, but i never had to explicitly set it before
11:24 MasterDuke trying now with -F 100 (default is 1000)
11:25 AlexDaniel` eater: ok, thanks. Here's a ticket: RT #132335
11:25 synopsebot RT#132335 [new]: https://rt.perl.org/Ticket/Display.html?id=132335 [LTA] pure numeric values of address families are not useful enough ( IO::Socket::INET.new(:host<http://perl6.o>, :port(42)) )
11:26 timotimo MasterDuke: amount of data recorded also depends on stack size. i do believe it has a default upper limit for how much of the stack it'll grab, but maybe that's a big part of what makes the file big. we don't have very deep stacks, though?
11:26 AlexDaniel` by the way, is there any way to specify the family from perl6?
11:27 MasterDuke 8k is the default it'll capture
11:27 AlexDaniel` I'm thinking, maybe we should have family enum available to users?
11:27 * AlexDaniel` shrugs
11:28 timotimo OK, so 8k a thousand times per second (what about multiple threads though?) for how long?
11:28 timotimo that's almost 8 megs per second, but 231 gigs is what 100000x that?
11:32 MasterDuke could be that it's generating data at the same rate as before, it just takes much longer
11:33 timotimo if it were sampling too fast to write to disk it'd truncate some events i believe
11:36 evalable6 joined #moarvm
11:38 MasterDuke sure, all sorts of stuff could be going on. it's just that before all i'd do it put `perf record -g --call-graph dwarf` before the command to build the setting, wait a little bit longer than a regular build took, and i had a report i could use
12:00 timotimo yeah
12:00 timotimo i'd expect that, too
12:03 Voldenet joined #moarvm
12:03 Voldenet joined #moarvm
12:10 MasterDuke `MoarVM panic: Memory allocation failed; could not allocate 47598128 bytes`
12:10 MasterDuke on my desktop with 8g ram. running with -F 100. never had that happen before either
12:15 Voldenet joined #moarvm
12:15 Voldenet joined #moarvm
12:17 timotimo well, normally that's a hll-level stack overflow
12:17 MasterDuke trying now with MVM_SPESH_DISABLE=1
12:20 lizmat joined #moarvm
12:25 quotable6 joined #moarvm
12:40 Voldenet joined #moarvm
12:40 Voldenet joined #moarvm
12:49 quotable6 joined #moarvm
13:31 MasterDuke [07:24] <MasterDuke> trying now with -F 100 (default is 1000)   # have a 6G file 2h later and still going
13:34 rba joined #moarvm
13:36 timotimo why is it doing that :\
13:36 timotimo does it properly run to completion without perf record?
13:36 timotimo how exatcly are you invoking it? just what you wrote before?
13:37 timotimo -g --call-graph dwarf /path/to/moar --libdir=blah /path/to/perl6.moarvm --target=... ?
13:46 rba_ joined #moarvm
13:47 MasterDuke yes to both
13:49 MasterDuke https://gist.github.com/MasterDuke17/acfe6e757fcbec1cde14d3b018307277 finally just killed it and ran perf report on what had been recorded
13:49 timotimo that's weird
13:49 timotimo you don't have a mini-nursery or something per chance?
13:51 MasterDuke `perl Configure.pl --gen-moar && make`, then ctrl-c when it started building the setting and re-ran just that command with perf
13:51 timotimo weird!
13:52 timotimo in theory you could grab a telemetry log to see what the difference between "start of gc to end of gc" and "end of gc to start of gc" is
13:52 timotimo and if it's about a 90-10 split
13:52 MasterDuke oh, hm...just tried re-running without perf and now *that* still hasn't finished...
13:55 timotimo well, that's certainly not right
14:01 MasterDuke seems like it might be setting --target=parse
14:01 rba joined #moarvm
14:02 timotimo oh!!
14:02 timotimo it's probably trying to dump the thing!
14:03 MasterDuke ? that used to work
14:04 timotimo hmm
14:06 MasterDuke yup, finished in just ~20s longer than usual with --target=mbc, 3.7G file
14:07 MasterDuke updated gist with its report
14:08 timotimo i've gotta go now, though
14:08 timotimo i'm glad we figured this out
14:08 MasterDuke and that was without setting -F 100
14:08 MasterDuke later...
14:09 timotimo once TT's optimization to push info from nfa runs down lands we'll get less time spent in nqp_nfa_run
14:10 timotimo i wonder if the dynamic var cache needs tuning again (that's what influences find_contextual_by_name i expect)
14:10 timotimo spesh_arg_guard_run could decrease once we jit those
14:16 rba_ joined #moarvm
14:31 rba joined #moarvm
14:39 eater joined #moarvm
14:47 rba_ joined #moarvm
14:49 MasterDuke how do i read the dynvar log? setting MVM_DYNVAR_LOG=dynvar.log while building the setting resulted in a 7.8M line file
14:49 eater joined #moarvm
14:49 MasterDuke N = not found, F = found, C = cached ?
14:53 MasterDuke 26119 I, 110328 N, 3791437 C, 3914666 F
14:57 eater joined #moarvm
14:58 MasterDuke some quick stats from the log https://gist.github.com/MasterDuke17/b96541ad14e4f236f1f011f9b30d458b
16:05 timotimo it's supposed to also have info about how deep it had to search to find something
16:05 timotimo i'm sure TT had a tool to evaluate the raw data
16:15 MasterDuke yeah, there are a whole bunch of numbers also
16:48 domidumont joined #moarvm
17:06 MasterDuke some quick stats from a jit log of building the setting https://gist.github.com/MasterDuke17/75dd8a752518542f369b3a71581ebefc
17:17 zakharyas joined #moarvm
17:41 committable6 joined #moarvm
17:45 evalable6 joined #moarvm
17:45 bisectable6 joined #moarvm
17:48 committable6 joined #moarvm
17:58 Geth ¦ MoarVM: MasterDuke17++ created pull request #729: JIT the getexcategory op
17:58 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/729
19:19 Geth ¦ MoarVM: MasterDuke17++ created pull request #730: Jit param_rp_s op
19:19 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/730
19:41 cognominal joined #moarvm
19:48 cognominal AlexDaniel, about https://irclog.perlgeek.de/moarvm/2017-10-21#i_15334051  it seems that hiding everything about the resolver API in high level API like connect is less than ideal. Verbose messages may be a good idea  https://github.com/MoarVM/MoarVM/issues/683
20:35 zakharyas joined #moarvm
20:39 zakharyas joined #moarvm
23:00 samcv going to start making the changelog now
23:01 jnthn samcv++ :)
23:01 jnthn samcv: Anything more you need from me on release stuff?
23:01 jnthn I'll be around for the next ~45 mins. I may get chance to pop by tomorrow before my train, or maybe not.
23:01 samcv the release guide is pretty clear i think
23:02 jnthn OK, cool :)
23:32 patrickz_ joined #moarvm

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