02:20 lizmat_ joined 02:22 tadzik joined
dalek arVM: 7cd9de3 | timotimo++ | tools/graph_spesh.p6:
show the dominance tree in the spesh dot graph
03:01
04:01 FROGGS_ joined 07:41 rurban joined 08:06 zakharyas joined 09:12 kjs_ joined
nwc10 looks like the PPC linux build is picking 32 bit PPC for dyncall 09:17
which is, um, not 64
I've not figured out the correct hammer needed to fix this. 09:18
OK, looks like part of the hammer is BLOODY SUBMODULES 09:24
(git clean in them too)
did I ever say that I don't like submodules? 09:25
jnthn No, I never heard you say that... :P 09:26
nwc10 if I get this pig to fly, I'll then see if the gcc on the machine is suitably configured to do -m32 09:29
progress 09:32
t/04-nativecall/03-simple-returns.t
# Failed test 'returning char works'
# at t/04-nativecall/03-simple-returns.t line 18
# expected: '-103'
# got: '153'
JimmyZ Good afternoon ... 09:51
FROGGS_ hi JimmyZ 09:52
JimmyZ Hello FROGGS_ 09:53
nwc10 (for file in `find . -name .git -type d | sed -e 's/\.git//'`; do (cd $file && echo $file && git clean -dxf); done ) 11:12
because git clean -dxf isn't the thing I wanted. :-(
arse. the build system doesn't seem to force --cc onto the sub tree builds 11:14
FROGGS_ build system are hard 11:16
nwc10 oh SHITTY FUCKING CRAPPY submodules. Again
FROGGS_ Ć³.Ć²
nwc10 How do I "git clean" my submodules? 11:17
11:17 colomon joined
jnthn
.oO( The British really know how to use the queen's English! :D )
11:17
nwc10 no, I need to learn more swear words
I repeat them too often.
that shell loop works on the checkout over there <--
but not over here -->
jnthn git submodule foreach git clean -fdx # maybe :) 11:18
nwc10 is that supposed to be obvious or easy to remember? 11:20
anyway, I think I have a 32 bit MoarVM on PPC
and therefore a viable patch for dyncall. :-/ 11:21
(*I* think that dyncall needs to be checking for the PPC64 defines *before* the PPC defines. But I've not looked at their blame to work out if they had it that way once) 11:23
failures in t/nqp/60-bigint.t and t/nqp/60-bigint.t 11:26
look like they are more likely due to bad rounding assumptions than anything easy to figure out, so will attempt rakudo
Stage start : 288136128.728 11:39
Stage parse : P6opaque: invalid native access to object attribute
Boom.
doubleplusungood 11:40
no idea if figuring out the NQP stuff will fix it. But that seems the simpler thing to start with
12:09 rurban joined 12:40 kjs_ joined 12:48 Ven joined 13:23 ShimmerFairy joined
[Coke] nwc10++ trying to get things working in moar places. 13:53
14:35 ggoebel111111114 joined 14:54 rurban joined 15:14 ggoebel111111114 joined 15:24 colomon joined 15:26 Ven joined 15:53 colomon joined
dalek arVM: 35c5d4c | donaldh++ | src/strings/ops.c:
Fix logic ordering in string_index_from_end
15:57
arVM: bebb29c | FROGGS++ | src/strings/ops.c:
Merge pull request #180 from donaldh/rindexfrom

Fix logic ordering in string_index_from_end
16:01 donaldh joined
donaldh ohai 16:01
16:02 virtualsue joined
tadzik now you have to join #lessvm 16:02
donaldh :P
tadzik :P
FROGGS_ hehe
jnthn
.oO( Not to mention #suchvm and #veryvm and #sovm )
16:03
FROGGS_ no, we will not start yet another vm :o)
and #muchvm
nwc10 sorry that I have to race off home, but new ASAN barfage in the past hour or two 16:14
paste.scsys.co.uk/468906
I can hazard a guess as to the cause, but don't have time to confirm
will likely be AFK for at least 2.5 hours 16:15
FROGGS_ nwc10++ 16:16
16:22 zakharyas joined, rurban joined
tadzik hehe, someone actually joined #lessvm :P 16:54
16:57 rurban joined
jnthn tadzik: Was it you? :P 17:00
17:07 rurban joined
tadzik jnthn: I had to be there to know :P 17:07
but it's gonna be mine and kjs_'s secret... ooops
kjs_ ha ha
i just had to click on it.
17:16 vendethiel- joined
nwc10 m: nqp::rindex("rakudo", "do", 5) 17:52
camelia ( no output )
nwc10 that's the bug
donaldh++ # test case tickles it
I can even trigger it with 17:53
moar --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm -e 'nqp::rindex("rakudo", "do", 5)'
AFK again
donaldh m: nqp::rindex("rakudo", "do", 5).say 17:55
camelia rakudo-moar bca33b: OUTPUTĀ«4ā¤Ā»
18:28 kjs_ joined
nwc10 the bug is that that code triggers ASAN barfage. 18:41
&
18:47 kjs_ joined 19:11 zakharyas joined 19:52 kjs_ joined 19:55 salva joined
nwc10 .tell timotimo something that you might be good at - figure out why this code `nqp::rindex("rakudo", "do", 5)` causes an out of bounds read (whcih ASAN finds - probably valgrind will too) 19:59
timotimo i could have a look, aye 20:12
nwc10 if you could, that would be cool
At least I have a terse test case for insanity on PPC32: 20:13
[nick@gcc1-power7 nqp]$ ./nqp-m -e 'say(nqp::sprintf("%X", [2**29]))'
10C4D480
[nick@gcc1-power7 nqp]$ ./nqp-m -e 'say(nqp::sprintf("%X", [2**30]))'
10B0D480
FROGGS_ nwc10: I reported the dyncall patch upstream 20:22
nwc10 FROGGS_: thanks 20:37
FROGGS_ nwc10: you're welcome
jnthn
.oO( I'd apply the patches, but I heard "git am" only works in the morning... )
20:39
FROGGS_: You're processing the dyncall patch? 20:41
nwc10 but it's always morning on #perl6
jnthn FROGGS_: Are you working on the one to Rakudo also, or should I? :)
FROGGS_ jnthn: I've not started to process any patch 20:42
wanna do the star.msi first
jnthn FROGGS_: Ah, OK...you mentioned passing the dyncall one upstream... 20:43
FROGGS_ yes, I emailed one of the maintainers :o) 20:44
jnthn OK, cool
I'll leave you to deal with it in our dyncall fork also, if that's OK
Will apply the Rakudo one now
FROGGS_ sure 20:45
20:45 colomon joined
jnthn Thanks 20:45
FROGGS_++
jnthn decides to spend the next hours hacking Perl 6 stuff, rather than writing slides :)
[Coke] jnthn++ #potentially bad life choices! 20:48
20:49 kjs_ joined
jnthn Now I just gotta figure out which of the many things I could work on that I should work on :) 20:50
nwc10 jnthn: is the code that handles sprintf formatting in the nqp repository, or MoarVM's? 20:51
%s is correct
%g is
jnthn nwc10: nqp
nwc10 everything else is differently bonkers
jnthn ugh
nwc10 (OK, %u and %x seem to agree)
I'm not sure about ugh - it seems a relatively simple test case for a bug
jnthn It was more the "everything else", though maybe there's one root cause 20:52
nwc10 OK, maybe I start with the bigint.t failures 20:54
FROGGS_ jnthn: you could think about my jvm problem :o)
20:56 tgt joined
nwc10 jnthn: output is actually random. There must be undefined behaviour in there. Sadly I have neither ASAN nor valgrind 20:59
FROGGS_ is it possible that the union in P6int repr is to blame? 21:01
nwc10 possibly, but why does it work on PPC64? 21:02
FROGGS_ maybe because the union is 64bits wide? 21:03
nwc10 it's more likely to be the union in P6bigint.h 21:04
FROGGS_ if we just write to one half on PPC32...
nwc10 NQP sprintf implementation seens to use bigints
FROGGS_ ahh yes, P6int is about native ints
nwc10 and yes, exactly, good thinking - if we write just half, undefined behaviour
FROGGS_ m: say 277721840.fmt('%#b') 21:05
camelia rakudo-moar bca33b: OUTPUTĀ«0b10000100011011011001011110000ā¤Ā»
nwc10 it will be the union in P6bigint.h 21:06
FROGGS_ m: say 280670960.fmt('%#b')
camelia rakudo-moar bca33b: OUTPUTĀ«0b10000101110101011001011110000ā¤Ā»
nwc10 the flag approach isn't going to work on 32 bit B.E.
(by inspection)
probably need a clear head to work out what *will* work on all 4 permutations.
FROGGS_ m: say 0x10bab2f0.fmt('%#b') 21:07
camelia rakudo-moar bca33b: OUTPUTĀ«0b10000101110101011001011110000ā¤Ā»
FROGGS_ ahh, that's the same
dalek arVM: 4bd5932 | FROGGS++ | 3rdparty/dyncall:
bump dyncall revision
21:11
nwc10 FROGGS_/jnthn: paste.scsys.co.uk/468938 21:19
;All tests successful. 21:20
not tested on anything other than PPC32
rakudo build started.
FROGGS_++ # thinking of unions.
FROGGS_ O.o 21:21
nice 21:22
the best patches are about a single line
21:28 flussence joined
nwc10 All tests successful. 21:30
(rakudo. Now spectest)
this is looking quite good.
FROGGS_ awesome
nwc10 Same spectest failures as PPC64 21:36
will now test patch on PPC64
TimToady m: say -280670960.fmt('%#b') 21:38
camelia rakudo-moar d3ba34: OUTPUTĀ«-280670960ā¤Ā» 21:39
TimToady m: say (-280670960).fmt('%#b')
camelia rakudo-moar d3ba34: OUTPUTĀ«0b-10000101110101011001011110000ā¤Ā»
TimToady hah
FROGGS_ :P 21:40
TimToady m: say (-280670960).fmt('%064b') 21:41
camelia rakudo-moar d3ba34: OUTPUTĀ«0000000000000000000000000000000000-10000101110101011001011110000ā¤Ā»
TimToady m: say (-280670960).fmt('%#064b')
camelia rakudo-moar d3ba34: OUTPUTĀ«000000000000000000000000000000000b-10000101110101011001011110000ā¤Ā»
21:41 tadzik joined
FROGGS_ ohh dear 21:41
TimToady m: say (-280670960).fmt('%064#b')
camelia rakudo-moar d3ba34: OUTPUTĀ«'064#b' is not valid in sprintf format sequence '%064#b'ā¤ā¤Ā»
TimToady twists ur fmt into pretsils 21:42
timotimo now i actually have an opportunity to look at the ASAN barf for rindex 21:59
(but first: more irc backlogging) 22:08
jnthn m: sub foo(--> Array of Str) { my Str @a = <foo bar baz>; @a }; foo
camelia rakudo-moar d3ba34: OUTPUTĀ«Type check failed for return value; expected 'Array[Str]' but got 'Array[Str]'ā¤ in any return_error at src/vm/moar/Perl6/Ops.nqp:640ā¤ in sub foo at /tmp/CBnzx9tacc:1ā¤ in block <unit> at /tmp/CBnzx9tacc:1ā¤ā¤Ā»
jnthn foo bar baz # locally :)
22:09 kjs_ joined
FROGGS_ jnthn++ # \o/ 22:10
timotimo YUS! 22:11
jnthn spectests 22:12
timotimo nwc10: none of the range checks had been factoring in the start value 22:14
i think i've got the right fix on my machine
jnthn Grrr, some test fails but not sure if they're mine... 22:15
nwc10 t/spec/S32-exceptions/misc.rakudo.moar ? 22:16
jnthn No
S12-enums/basic for one
It's a parse error though
I can't see how I could've introduced one of those...
nwc10 I'm not seeing that
jnthn ===SORRY!=== 22:18
Confused
at t\spec\S04-declarations\my.rakudo.moar:54
------> my %pā; #OK
wtf...
oh, wonder if I'm missing a Moar strings fix.
nwc10 PPC32 patch mailed. Going to bed. 22:19
22:19 flussence joined
TimToady still gets: > my grammar G { regex foo { } } 22:20
Cannot find method 'ann'
(on exceptions/misc)
oh, not that one
nm
my jvm spectest is still failing lots of tests 22:21
but that's not for #moarvm, I guess...
timotimo i got a few "no tests run" bits 22:23
jnthn timotimo: On JVM, or moar? 22:24
The fails I'm seeing a nonsensical...
Oh 22:25
They occur without my patch
TimToady my jvm fails seem to be load based
anyway, when I run indiv tests, they pass 22:26
jnthn OK
timotimo moar
TimToady so maybe something's awry in the test harness
jnthn timotimo: OK, in S04-declarations, and an S12-enum one?
Seems it's not my patch but...wonder what's to blame. 22:27
FROGGS_ TimToady: I tend to shutdown my browser so enough mem is available to spawn perl6-j more than once (so the tests that shell out don't crash)
timotimo it's not finished yet, sorry
TimToady my enum/basic runs fine on moar 22:28
is this in master?
jnthn Yeah
Well, nom
TimToady I'm running up-to-date there 22:29
I only got the one failure in exceptions
had a rogue java process chewing a load of 4 22:33
one way to heat the house... 22:34
timotimo hmm, i get t/spec/S02-types/bag.rakudo.moar failing test 116 22:45
and multiple TODOs passed
22:58 virtualsue joined
timotimo OK, i'm down to only TODOs passed and t/spec/S32-exceptions/misc.rakudo.moar test 77 23:03
23:05 virtualsue_ joined
dalek arVM: f02cbc9 | timotimo++ | src/strings/ops.c:
factor in start point when checking out-of-range-ness
23:07
23:18 donaldh joined
timotimo nwc10: do we have any spectest that'd provoke the asan barfage? 23:42
jnthn nwc10: I think the NQP tests even did... 23:45
timotimo ok
maybe we want to run asan'd moarvm against nqp tests on our continuous integration? or perhaps on hack.p6c.org?
jnthn Could be nice 23:50
Esp if we can do it on our cont int
timotimo recently i also noticed we do actually have different versions of registers on both sides of a branch 23:54
and i just checked our "remove_successor" manipulation mehod; do you think it could be helpful to remove usage counts that come from BB's we've kicked out? 23:56
oh, you're already en route to bed 23:57