github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
MasterDuke i thought github.com/MoarVM/MoarVM/commit/27...652ba2186a was one of the two brrt wanted to revert, not github.com/MoarVM/MoarVM/commit/76...430f97f576 ? 06:41
brrt \o 08:37
tellable6 2019-10-17T22:49:37Z #moarvm <lizmat> brrt looks like the bind_o errors are back: t/spec/S32-temporal/DateTime.t t/spec/S32-list/combinations.t fail
nwc10 o/ 08:38
brrt .tell lizmat I know, I pushed those accidentally, then couldn't push back, or didn't want to
tellable6 brrt, I'll pass your message to lizmat
brrt the good news is, I know what the issue is
its...... *drumroll*.... operand sizes
nwc10 \o/
brrt it always is operand sizes
nwc10 I was too slow, because I was hoping to get that in before asking "and the bad news is?" 08:39
brrt (well, that or I screwed up register allocation)
but in this case, operand sizes
I'm loading a 32 bit constant, to a 64 bit word, with sign extension, and it's wrong
nwc10 because (in this case) the constant is unsigned? 08:44
brrt well, hmmm 08:46
I'm no longer sure that's the issue
it should be an unsigned load, for sure, but we do the comparison at the right size 08:47
so it shouldn't matter
hmm, it's still operand sizes, but not where I expected 08:50
Geth MoarVM: 16485506d6 | (Daniel Green)++ | src/io/syncsocket.c
Fix format strings
08:51
Geth MoarVM: 1747535086 | (Bart Wiegmans)++ | 2 files
[JIT] Syntactically distinguish let keyword variants

The 'let' keyword expands to a 'do' or 'dov' list of declarations, depending on whether the last statement returns a value or not. However, we need to expand declaration references before applying macros, because macro application could theoretically introduce name conflicts otherwise. Hence, type-checking the 'let' expression during declaration linking isn't actually possible, because we don't know the types of macro expressions. Instead, introduce the syntactic variant
  'letv' that makes the result type explicit.
09:06
MoarVM: f8eca66ba9 | (Bart Wiegmans)++ | 2 files
Revert "Revert "exprjit sp_p6oget_bi""

This reverts commit 986e05beab2845ec5e29672aadb739170a645e17.
MoarVM: e594fbcbdc | (Bart Wiegmans)++ | 2 files
[JIT] Add missing cast to sp_p6oget_bi

We normally insert casts automatically, but we don't for branches.
brrt .tell lizmat I'm decently sure that I fixed *those* bugs now 09:08
tellable6 brrt, I'll pass your message to lizmat
travis-ci MoarVM build errored. Bart Wiegmans '[JIT] Add missing cast to sp_p6oget_bi 09:31
travis-ci.org/MoarVM/MoarVM/builds/599537445 github.com/MoarVM/MoarVM/compare/1...94fbcbdc36
Guest13443 brrt++ fixes 10:47
lizmat .tell brrt looks like they are indeed fixed now 11:02
tellable6 lizmat, I'll pass your message to brrt
Geth MoarVM: MasterDuke17++ created pull request #1198:
Add libzstd-dev to travis...
11:14
Guest13443 I see new fromspace errors 12:56
moar: src/6model/sc.c:401: MVM_SC_WB_OBJ: Assertion `!(obj->header.flags & MVM_CF_FORWARDER_VALID)' failed. 13:01
hmm, am I the only one getting these? 13:02
MasterDuke what code are you running? 13:04
Guest13443 MasterDuke: ./perl6-m -Ilib t/spec/APPENDICES/A03-older-specs/01-misc.rakudo.moar 13:49
small nursery, like 5k
there's a risk that brrt might be involved ... 13:50
other failing tests are e.g. t/spec/S32-io/chdir.t, t/spec/S11-repository/cur-candidates.t, t/spec/S03-operators/set_multiply.t etc 13:54
here's one example, perhaps nine can see something immediately: gist.github.com/dogbert17/2dac52a5...86080073c7 13:59
nine Guest13443: not from that backtrace alone. Would need to know what object triggered it and better catch it when it got added to the worklist (which rr is very handy for) 14:05
Guest13443 nine: unfortunately I'm not an rr person, I'm more of a Ryzen person :) 14:09
the errors seem to disappear with MVM_JIT_EXPR_DISABLE=1 ! 14:11
nine That's....worrysome 14:14
Guest13443 I hope that I'm wrong 14:15
could have something to do with 14:18
(template: sp_bind_o
(^store_write_barrier! $0 (add $0 $1) $2))
jnthn A bug in the write barrier could surely cause such a thing 14:19
nine Well there weren't that many changes in MoarVM lately, so it shouldn't be hard to find the offending code 14:21
jnthn: sorry to bother you again. How are chances for that review? We ought to do a release soon 14:22
Guest13443 here's a golf: ./perl6-m -e 'say (^1000 .grep: -> $n {([+] ^$n .grep: -> $m {$m and $n %% $m}) == $n })' 14:28
brrt` hmmm
tellable6 2019-10-18T11:02:32Z #moarvm <lizmat> brrt looks like they are indeed fixed now
brrt Guest13443: thank you, I'll try it out 14:28
Guest13443 I have nursery set tonursery is 4k
brrt any other flags? 14:29
gc debug?
Guest13443 MVM_GC_DEBUG=1
brrt Ok 14:30
Guest13443 at least we can't blame sp_p6oget_bi
methinks 14:31
it could of course be that the new template(s) have uncovered a bug somewhere else in the codebase 14:32
brrt we'll see what bisecting shows
Guest13443 hopefully you'll be able to repro 14:33
brrt one can surely hope 14:34
AlexDaniel nine: speaking of which, can you take a look at this? github.com/rakudo/rakudo/issues/3243 14:37
nine AlexDaniel: I've already spent quite some time on it and am right now. It's hard though
AlexDaniel nine: oh
nine: well, let me know how it goes. For the release we can pick an earlier revision or we can revert this stuff 14:38
Guest13443 relocates & 15:01
brrt Guest13443: cannot reproduce :-( 15:21
dogbert17 brrt: try ./perl6-m -e 'say (^1000 .grep: -> $n {([+] ^$n .grep: -> $m {$m and $n %% $m}) == $n }) for ^5' 16:08
tellable6 dogbert17, I'll pass your message to brrt
dogbert17 at home one iteration wasn't enough but at work it was, odd
MasterDuke dogbert17: i can repro with the above code+GC_DEBUG=2+4k nursery 16:15
dogbert17 yay
MasterDuke MoarVM panic: Adding pointer 0x565557559088 to past fromspace to GC worklist
dogbert17 and if you try with MVM_JIT_EXPR_DISABLE=1 16:16
MasterDuke works just fine 16:17
same with t/spec/APPENDICES/A03-older-specs/01-misc.rakudo.moar 16:18
dogbert17 perfect 16:20
brrt ok, suspect is currently indeed sp_bind_o 22:45
tellable6 2019-10-18T16:08:09Z #moarvm <dogbert17> brrt: try ./perl6-m -e 'say (^1000 .grep: -> $n {([+] ^$n .grep: -> $m {$m and $n %% $m}) == $n }) for ^5'
brrt yeah, I can repro
it's the '^' operator that breaks
dogbert17 aha, is it a dynamic label with negative offset again? 22:52
brrt no
dogbert17 easy fix? 22:54
brrt I don't know yet 23:01