|
github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
| MasterDuke | heh, looks like the first thing it found is right | 00:04 | |
| use after free github.com/MoarVM/MoarVM/blob/mast...text.c#L55 | |||
|
00:26
lucasb left
03:24
leont left
03:34
vesper11 left
03:35
vesper11 joined
04:36
vesper joined
04:37
vesper11 left
06:17
MasterDuke left
|
|||
| bartolin | thanks, lizmat! (I just noticed that I asked in the wrong channel yesterday. I thought I was in raku-dev ...) | 06:42 | |
|
07:38
domidumont joined
07:47
patrickb joined
07:54
patrickb left
08:14
MasterDuke joined
|
|||
| nine | timotimo: might be, yes | 08:52 | |
|
09:01
zakharyas joined
|
|||
| nwc10 | good *, #moarvm | 09:31 | |
|
10:02
frost-lab joined
|
|||
| MasterDuke | morning. looks like the clang analyzer correctly found some other problems (unfortunately, all the true positives so far have been my fault...) | 10:12 | |
| jnthn | morning o/ | 10:13 | |
| nwc10 | \o | ||
| jnthn: yes, (1 left shift (8 minus 5)) minus 1 is 7. I think that the comment could be clearer | 10:14 | ||
| timotimo | MasterDuke: right, i think that wants to use "parent" instead of tc | 10:44 | |
| MasterDuke | hm, i just changed it to an MVM_panic | ||
| think throwing with parent is better? | 10:45 | ||
| timotimo | it'll be a strange, possibly pathologic, situation when this error occurs, but i'm not sure if this is the right place to panic just yet | ||
| MasterDuke | heh, easy fix | 10:46 | |
| btw, it thinks github.com/MoarVM/MoarVM/blob/mast...ot.c#L1005 could leak result_buffer_insert_pos, is that correct? | 10:47 | ||
|
10:47
domidumont1 joined
10:49
domidumont left
|
|||
| timotimo | looks right, i think a free before the return (and braces of course) would fix it | 11:11 | |
| MasterDuke | looks like some are needed before the panics also | 11:14 | |
|
11:33
domidumont1 left
11:47
domidumont joined
11:48
domidumont left
11:54
domidumont joined
12:06
domidumont left
12:26
domidumont joined
|
|||
| Geth | MoarVM/master: 25 commits pushed by (Nicholas Clark)++ review: github.com/MoarVM/MoarVM/compare/5...94b666f683 |
12:35 | |
|
12:43
domidumont left
12:59
zakharyas left
|
|||
| lizmat | nwc10: could you describe in one or more paragraphs what you did ? for the weekly? | 13:05 | |
|
13:10
domidumont joined
|
|||
| MasterDuke | these lines github.com/MoarVM/MoarVM/blame/mas....c#L76-L82 don't do anything it seems since `ptr` is never used later. which makes the `char *ptr` introduced on the previous line useless. github.com/MoarVM/MoarVM/commit/01...bbb7fcbd57 introduces it, but i don't see why | 13:10 | |
| nm, the sprintfs to ptr write to node_label. clang analyzer got confused and so did i at first | 13:20 | ||
| timotimo: in github.com/MoarVM/MoarVM/commit/9d...8c4e950dde it looks like there's a stray `return` that's still there | |||
| nwc10 | lizmat: "or more' - last time "or more" was rather too much :-) | 13:21 | |
| lizmat | well... I don't think so, I thought it was worth an extra RWN edition :-) | ||
| nwc10 | OK, so the "second'" part of the answer (first part not yet written or bailed out on) is that there are about 400 lines of comments at | 13:22 | |
| github.com/MoarVM/MoarVM/blob/mast...sh_table.h | |||
| lizmat | hmmm.. that feels it needs a place in a docs/hash-implementation.md ? | 13:25 | |
| which I could do :-) | 13:26 | ||
| jnthn | Dunno, the explanation being together with the code implementing it is maybe more likely to help those working on it? | ||
| lizmat | true, but having it hidden in the code, is not inducive to getting more people wanting to work on it? | 13:28 | |
| nwc10 | I hadn't considered a separate document. | ||
| However, it seemed a more natural place to me at the time that I wrote it | |||
| and I'm not sure how much "work" it still needs | |||
|
13:39
leont joined
13:49
lucasb joined
|
|||
| nwc10 | lizmat: mailed. Briefly AFK to make tea | 14:01 | |
| lizmat | nwc10++ | ||
|
14:16
zakharyas joined
14:35
Kaiepi left
14:37
Kaiepi joined
14:39
frost-lab left
15:38
cog left
15:39
cog joined
|
|||
| nine | nwc10: is there any good way to get at the address of a hash slot in gdb? I'd like to trace back, where a method got added to a method cache. | 15:53 | |
|
18:18
domidumont left
18:54
zakharyas left
|
|||
| nwc10 | nince: OK, so I haven't tried this, but as the obvious answer seemms to be "call MVM_str_hash_fetch_nocheck" I assume that that isn't possible because it's an inline function? | 18:55 | |
| nine^ | |||
| lizmat | and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/12/07/2020-...haping-up/ | 19:11 | |
| Geth | MoarVM: MasterDuke17++ created pull request #1399: Fix some simple things the clang static analyzer found |
19:57 | |
| jnthn | wow, busy week; lizmat++ | 20:41 | |
|
20:48
zakharyas joined
|
|||
| nine | What I know so far (so that I don't forget): It breaks when multiple threads create the same mixin type concurrently. Once the type is in the cache, we're fine. The no such attribute error comes from bind_attribute being called with a class_handle from one of the losing threads, i.e. one of the types that doesn't end up in the cache. | 21:03 | |
| The class_handle is from $?CLASS in the the role method's outer, i.e. the closure created during specialization. | 21:04 | ||
| Somehow that ends up in the winner's STable's method_cache | |||
| dogbert17 | nine: have you tried tsan to see if it comes up with anything? | 21:32 | |
| nine | no | 21:34 | |
| It's too consistent in its failure mode to be something like general memory corruption | 21:35 | ||
| With rr record -h --num-cores=16 --num-cpu-ticks=10 it's nicely reproducible | |||
| dogbert17 | so you're not looking for a data race then? | 21:37 | |
| nine | Feels more like some piece of global state that we shouldn't have | 21:46 | |
| Well, I'll find out more tomorrow | |||
| good night! | |||
|
22:09
Kaiepi left
22:10
Kaiepi joined
|
|||
| dogbert17 | ++nine | 22:25 | |
|
22:27
zakharyas left
|
|||