Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2016-06-23

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

All times shown according to UTC.

Time Nick Message
00:12 * timotimo gives string_decodestream_get_all a one-char-only thing to go through the cache
00:13 lizmat joined #moarvm
00:21 timotimo huh, it's only getting hit a single time during this benchmark, which iterates over a file doing getc over and over again
00:26 timotimo oh, i get it
00:46 sivoais joined #moarvm
00:46 timotimo now the benchmark script doesn't really run any more %)
01:05 timotimo ugh. i made the benchmark 2x faster, but also not finish any more
01:13 timotimo i ran git stash pop once too often and now my state is a bit messed up >_>
01:16 timotimo suffice to say i messed up big time :)
01:16 lizmat time to get some sleep ?
01:16 lizmat :-)
01:17 timotimo yeah, maybe :)
01:29 timotimo i actually forgot to stash the grapheme into the storage i was allocating
01:29 timotimo that stings
01:34 timotimo oh, wow, this benchmark (naive_count_chars) allocates more Str objects through ObjAt.Str than through the "naive" sub which is the one that getc's
01:35 timotimo (that's because of a Set membership test)
01:36 timotimo i.e. $set{$_}
01:37 timotimo not sure if it's actually supposed to ObjAt in that case ...
01:37 timotimo but all in all, WHICH is responsible for 18.77% of run time here
01:38 timotimo and EXISTS-KEY is 12.96%, AT-KEY is 11.58%, postcircumfix:<{ }> is another 6.11%
01:40 timotimo huh ... it's not actually putting any letters into the cache at all ?!?
01:40 timotimo oh
01:40 timotimo maybe all the letters are already in there before getc starts being used
01:41 timotimo ah, yes
01:46 timotimo so i guess we're allocating a crapton of Str| ~ $single-letter in this benchmark
01:48 ilbot3 joined #moarvm
01:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:28 lizmat joined #moarvm
02:34 vendethiel- joined #moarvm
02:58 mtj_ joined #moarvm
03:24 lizmat joined #moarvm
06:09 cognominal joined #moarvm
06:11 lizmat joined #moarvm
06:14 lizmat joined #moarvm
06:45 nebuchadnezzar joined #moarvm
07:12 domidumont joined #moarvm
08:43 brrt joined #moarvm
08:44 brrt good *
08:44 brrt the new multi-cache thing looks good
08:49 jnthn :)
08:49 jnthn o/ brrt
08:49 brrt \o jnthn
08:51 brrt my brain is extremely slow this morning
09:15 nine brrt: coffee is supposed to help there
09:16 brrt doesn't always work
09:16 brrt but yeah, may be an option :-)
09:29 nine I figure, even if coffee doesn't actually help, it still tastes good ;)
09:34 brrt that is true
09:53 nwc10 jnthn: some actual ASAN barfage: http://paste.scsys.co.uk/524343
09:53 nwc10 lots of spectests failed. First I sampled was just a SEGV. Second was ASAN
09:53 nwc10 rather too many to attack systematically
09:53 nwc10 unless you think it's useful right now.
09:54 jnthn I'd bet turning on the fixed size allocator debugging flag will yield more useful info
09:55 jnthn I didn't get so far as trying a spectest
09:59 nwc10 OK.
10:00 jnthn I'm not sure I did a Rakudo build either, thinking about it. I know it builds NQP and passes Rakudo make test
10:00 nwc10 fixed size allocator debugging flag? Is that `#define MVM_FSA_BINS       0` or something else?
10:00 jnthn No
10:01 jnthn #define FSA_SIZE_DEBUG 0
10:01 jnthn Set that to 1
10:02 nwc10 OK.
10:02 nwc10 It will take longer than a cup of coffee, but less time than lunch, to get an updated answer
10:03 nwc10 oh, wait, no it won't
10:03 jnthn The coffee machine broke? Lunch got further away? :)
10:03 nwc10 http://paste.scsys.co.uk/524347 -- NQP immediate SEGV
10:03 nwc10 I was expecting to get *to* the spectest and then see failure
10:04 jnthn Wheee
10:04 jnthn Will look at it in a bit
10:04 nwc10 yes, have lunch :-)
10:22 konobi nwc10: in related fun... http://backtrace.io/
10:49 dalek joined #moarvm
10:50 psch joined #moarvm
10:51 brrt joined #moarvm
11:51 cognominal joined #moarvm
11:57 lizmat joined #moarvm
12:09 lizmat joined #moarvm
12:50 [Coke] joined #moarvm
12:56 lizmat joined #moarvm
13:09 timotimo Spesh: get_osr_deopt_finalize_index failed
13:09 timotimo wow.
13:10 Util joined #moarvm
13:10 jnthn How'd you get that o.O?
13:11 timotimo afl-fuzz :)
13:11 jnthn oh :)
13:11 timotimo instead of deleting the file (which i've done for the other test cases that were preventing it from resuming the previous run) i copied it away to see what's up
13:15 psch_ joined #moarvm
15:06 [Coke]_ joined #moarvm
15:09 * jnthn receives a fresh supply of beer o/
15:14 stmuk Supply.tap?
15:20 jnthn Soon ;)
15:20 [Coke] joined #moarvm
15:22 camelia joined #moarvm
15:24 [Coke] joined #moarvm
15:25 [Coke] joined #moarvm
15:35 jnthn Righty, lets see if I can figure out that SEGV...
15:40 dalek MoarVM/new-multi-cache: 883f6aa | jnthn++ | src/6model/reprs/MVMMultiCache.c:
15:40 dalek MoarVM/new-multi-cache: Don't try to fixed-size-free NULL.
15:40 dalek MoarVM/new-multi-cache: review: https://github.com/MoarVM/MoarVM/commit/883f6aa526
16:06 dalek MoarVM/new-multi-cache: e6f13d7 | jnthn++ | src/6model/reprs/MVMMultiCache.c:
16:06 dalek MoarVM/new-multi-cache: Re-instate spesh integration with multi cache.
16:06 dalek MoarVM/new-multi-cache:
16:06 dalek MoarVM/new-multi-cache: So we can inline multis again after the caching changes.
16:06 dalek MoarVM/new-multi-cache: review: https://github.com/MoarVM/MoarVM/commit/e6f13d751c
16:08 jnthn With that, an NQP build+test seems happy, but Rakudo's CORE.setting build explodes.
16:13 jnthn Unfortunately, quite a long way in, so the valgrind is taking a while
16:22 timotimo oof
16:25 jnthn I'm hopefully it'll end up being silly rather than deep
16:26 timotimo sounds good :)
16:26 jnthn *hopeful
16:26 timotimo ran into an invalid read of size 4 and a failure to create a spesh graph, copied that away, too
16:26 jnthn Ooh, interesting
16:26 timotimo er, that was the same case, not two different cases
16:27 jnthn Probably related :)
16:27 timotimo my thoughts exactly :)
16:28 * jnthn leaves the valgrind running while he goes to rest, dinner, etc.
16:29 timotimo cya later :)
16:32 dalek MoarVM/new-multi-cache: 7ef30e5 | jnthn++ | src/6model/reprs/MVMMultiCache.c:
16:32 dalek MoarVM/new-multi-cache: Remove accidentally left-behind MVM_free.
16:32 dalek MoarVM/new-multi-cache:
16:32 dalek MoarVM/new-multi-cache: Was meant to be replaced by the line above that frees it with the FSA,
16:32 dalek MoarVM/new-multi-cache: but was accidentally left there in addition.
16:32 dalek MoarVM/new-multi-cache: review: https://github.com/MoarVM/MoarVM/commit/7ef30e5060
16:32 jnthn It finished just as I was about to clock off :P
16:33 timotimo ooooh
16:33 jnthn Silly one. Phew.
16:36 jnthn Yup, CORE.setting builds happily with that :)
16:38 jnthn Some spectest unhappiness, though not too wild
16:38 jnthn Anyways, really time for a break :)
16:38 timotimo yup yup yup
17:27 nwc10 jnthn: for post-break (tomorrow or next week) - http://paste.scsys.co.uk/524442 -- ASAN finds things
17:35 timotimo use-after-free!
17:43 timotimo WHAT ain't no macro i ever heard of. do they give type objects in WHAT?
17:44 lizmat m: say WHAT 42
17:44 camelia rakudo-moar 9b579d: OUTPUT«(Int)␤»
18:09 dalek MoarVM/short_string_cache: 0676b9b | timotimo++ | src/strings/decode_stream.c:
18:09 dalek MoarVM/short_string_cache: make sure result is actually allocated
18:09 dalek MoarVM/short_string_cache: review: https://github.com/MoarVM/MoarVM/commit/0676b9b35f
18:09 dalek MoarVM/short_string_cache: 88b1b0b | timotimo++ | src/strings/decode_stream.c:
18:09 dalek MoarVM/short_string_cache: make take_chars aware of the short string cache
18:09 dalek MoarVM/short_string_cache:
18:09 dalek MoarVM/short_string_cache: it's very ugly code :(
18:09 dalek MoarVM/short_string_cache: review: https://github.com/MoarVM/MoarVM/commit/88b1b0b51d
18:09 dalek MoarVM/short_string_cache: 70ddf5b | timotimo++ | src/strings/decode_stream.c:
18:09 dalek MoarVM/short_string_cache: make decodestream_get_all aware of short string cache
18:09 dalek MoarVM/short_string_cache: review: https://github.com/MoarVM/MoarVM/commit/70ddf5b978
18:12 dalek MoarVM/short_string_cache: a9517e1 | timotimo++ | src/core/instance.h:
18:12 dalek MoarVM/short_string_cache: get rid of a bunch of compiler warnings
18:12 dalek MoarVM/short_string_cache: review: https://github.com/MoarVM/MoarVM/commit/a9517e118d
18:13 cognominal joined #moarvm
18:16 domidumont joined #moarvm
18:16 timotimo i'm really not happy about the way the code in take_chars ended up looking
18:49 FROGGS joined #moarvm
19:06 colomon joined #moarvm
19:57 mtj__ joined #moarvm
19:58 mtj__ joined #moarvm
20:03 mtj_ joined #moarvm
20:27 timotimo joined #moarvm
20:27 cognominal joined #moarvm
20:29 jnthn nwc10: I get a very similar trace out of t/spec/S32-list/pick.t also. Will look tomorrow :)

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