japhb
.oO( Converting unknown unknowns to known unknowns )
00:34
01:22 japhb joined 01:30 lue joined 02:48 ilbot3 joined 02:56 vendethiel joined 03:39 vendethiel joined 04:19 vendethiel joined 04:44 vendethiel joined 05:19 vendethiel joined
dalek arVM: d235e77 | timotimo++ | src/core/nativecall.c:
nativecall shall tell you what REPR you got in errors
06:33
timotimo not entirely sure how useful this will be for froggs, as it'll almost always give you P6Opaque ... 06:35
06:52 kjs_ joined 07:14 arnsholt left, arnsholt joined 08:06 FROGGS joined 08:07 zakharyas joined 08:23 danaj joined 09:02 vendethiel joined 09:39 rurban_ joined 09:42 kjs_ joined 10:00 kjs__ joined 10:13 kjs_ joined 11:13 vendethiel joined 11:25 kjs_ joined 12:08 vendethiel joined
dalek arVM: b24b0d4 | (Yun SangHo)++ | src/6model/reprs/P6bigint.c:
Free the buffer after use.
13:04
arVM: 9d25ef2 | (Jimmy Zhuo)++ | src/6model/reprs/P6bigint.c:
Merge pull request #168 from foollbar/master

Free the buffer after use.
jnthn Aarrgh, no that's WRONG 13:09
FROGGS that's what I wanted to say
JimmyZ: str is a GCable
jnthn + MVM_free(str);
You can't just go and free that. 13:10
FROGGS or collectible or what we call it
jnthn If you're not up to reviewing patches properly, don't merge them.
FROGGS jnthn: I'm going to revert the PR and add notes
dalek arVM/revert-168-master: c5dbc71 | FROGGS++ | src/6model/reprs/P6bigint.c:
Revert "Free the buffer after use."
jnthn Well, the second half of it is probably OK
Yes, the second hunk is correct 13:11
First is really not
dalek arVM: c5dbc71 | FROGGS++ | src/6model/reprs/P6bigint.c:
Revert "Free the buffer after use."
13:13
arVM: fbd7a2b | FROGGS++ | src/6model/reprs/P6bigint.c:
Merge pull request #171 from MoarVM/revert-168-master

Revert "Free the buffer after use."
jnthn FROGGS++ # thanks 13:22
nwc10 OK, wrong code is wrong 13:24
==26402==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x62700226fec0 in thread T0
now I'll test the right code...
(that was during the setting compilation) 13:25
JimmyZ sorry, I don't know why my eye looked at it as freeable :( 13:35
13:43 rurban joined 14:00 FROGGS joined 15:48 kjs_ joined 16:05 kjs_ joined 16:10 FROGGS_ joined 18:25 kjs_ joined
japhb Mistakes happen. Even reviewers miss stuff. If each person has a 20% chance of missing a bug, then even in the best of circumstances where the probabilities are independent, you still have a 4% chance that the coder and reviewer both miss it. 18:26
And if (as with most bugs), the probabilities are *not* independent, it could be significantly higher.
Still, if you're missing a lot of bugs in review, it's worth figuring out why. 18:27
Also, Git was literally *designed* for multiple levels of review. Most FOSS projects don't use that capability, but it's definitely there. 18:28
I wonder how well GitHub's UI supports things like sign-off and editing PRs during review ... 18:30
jnthn Mistakes of this nature are also extremely costly when missed. 19:02
timotimo is not mad at JimmyZ for missing it 19:06
jnthn timotimo: Yeah, but you're not the person who normally ends up tracking down the consequences of GC invariant breakages when they surface some months down the line in hard-to-reproduce situations. 19:08
timotimo that's true ;(
19:27 rurban joined 19:53 muraiki joined 19:55 rurban_ joined
japhb jnthn: Do you have already a list of GC invariants? Or for that matter, concurrency/locking invariants, invocation protocol, etc.? (I haven't looked, so if "yes", then I can go looking on my own.) I'm kinda wondering if there's any opportunity for machine-assisted invariant checking here. 20:19
timotimo anything that has an MVMObject header in it must not be MVM_Free'd 20:22
jnthn japhb: Somewhat in gc.markdown; it could no doubt be improved... 20:24
timotimo: MVMCollectable, more generally
timotimo er, yes
22:06 FROGGS_ joined 23:39 kjs_ joined