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 |