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