Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-03-05

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:20 lizmat_ joined #moarvm
02:22 tadzik joined #moarvm
03:01 dalek MoarVM: 7cd9de3 | timotimo++ | tools/graph_spesh.p6:
03:01 dalek MoarVM: show the dominance tree in the spesh dot graph
03:01 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7cd9de3c60
04:01 FROGGS_ joined #moarvm
07:41 rurban joined #moarvm
08:06 zakharyas joined #moarvm
09:12 kjs_ joined #moarvm
09:17 nwc10 looks like the PPC linux build is picking 32 bit PPC for dyncall
09:17 nwc10 which is, um, not 64
09:18 nwc10 I've not figured out the correct hammer needed to fix this.
09:24 nwc10 OK, looks like part of the hammer is BLOODY SUBMODULES
09:24 nwc10 (git clean in them too)
09:25 nwc10 did I ever say that I don't like submodules?
09:26 jnthn No, I never heard you say that... :P
09:29 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:32 nwc10 progress
09:32 nwc10 t/04-nativecall/03-simple-returns.t
09:32 nwc10 # Failed test 'returning char works'
09:32 nwc10 # at t/04-nativecall/03-simple-returns.t line 18
09:32 nwc10 # expected: '-103'
09:32 nwc10 #      got: '153'
09:51 JimmyZ Good afternoon ...
09:52 FROGGS_ hi JimmyZ
09:53 JimmyZ Hello FROGGS_
11:12 nwc10 (for file in `find . -name .git -type d | sed -e 's/\.git//'`; do (cd $file && echo $file && git clean -dxf); done )
11:12 nwc10 because git clean -dxf isn't the thing I wanted. :-(
11:14 nwc10 arse. the build system doesn't seem to force --cc onto the sub tree builds
11:16 FROGGS_ build system are hard
11:16 nwc10 oh SHITTY FUCKING CRAPPY submodules. Again
11:16 FROGGS_ ó.ò
11:17 nwc10 How do I "git clean" my submodules?
11:17 colomon joined #moarvm
11:17 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
11:17 nwc10 I repeat them too often.
11:17 nwc10 that shell loop works on the checkout over there <--
11:17 nwc10 but not over here -->
11:18 jnthn git submodule foreach git clean -fdx # maybe :)
11:20 nwc10 is that supposed to be obvious or easy to remember?
11:20 nwc10 anyway, I think I have a 32 bit MoarVM on PPC
11:21 nwc10 and therefore a viable patch for dyncall. :-/
11:23 nwc10 (*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:26 nwc10 failures in t/nqp/60-bigint.t and t/nqp/60-bigint.t
11:26 nwc10 look like they are more likely due to bad rounding assumptions than anything easy to figure out, so will attempt rakudo
11:39 nwc10 Stage start      : 288136128.728
11:39 nwc10 Stage parse      : P6opaque: invalid native access to object attribute
11:39 nwc10 Boom.
11:40 nwc10 doubleplusungood
11:40 nwc10 no idea if figuring out the NQP stuff will fix it. But that seems the simpler thing to start with
12:09 rurban joined #moarvm
12:40 kjs_ joined #moarvm
12:48 Ven joined #moarvm
13:23 ShimmerFairy joined #moarvm
13:53 [Coke] nwc10++ trying to get things working in moar places.
14:35 ggoebel111111114 joined #moarvm
14:54 rurban joined #moarvm
15:14 ggoebel111111114 joined #moarvm
15:24 colomon joined #moarvm
15:26 Ven joined #moarvm
15:53 colomon joined #moarvm
15:57 dalek MoarVM: 35c5d4c | donaldh++ | src/strings/ops.c:
15:57 dalek MoarVM: Fix logic ordering in string_index_from_end
15:57 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/35c5d4cf30
15:57 dalek MoarVM: bebb29c | FROGGS++ | src/strings/ops.c:
15:57 dalek MoarVM: Merge pull request #180 from donaldh/rindexfrom
15:57 dalek MoarVM:
15:57 dalek MoarVM: Fix logic ordering in string_index_from_end
15:57 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bebb29c006
16:01 donaldh joined #moarvm
16:01 donaldh ohai
16:02 virtualsue joined #moarvm
16:02 tadzik now you have to join #lessvm
16:02 donaldh :P
16:02 tadzik :P
16:02 FROGGS_ hehe
16:03 jnthn .oO( Not to mention #suchvm and #veryvm and #sovm )
16:03 FROGGS_ no, we will not start yet another vm :o)
16:03 FROGGS_ and #muchvm
16:14 nwc10 sorry that I have to race off home, but new ASAN barfage in the past hour or two
16:14 nwc10 http://paste.scsys.co.uk/468906
16:14 nwc10 I can hazard a guess as to the cause, but don't have time to confirm
16:15 nwc10 will likely be AFK for at least 2.5 hours
16:16 FROGGS_ nwc10++
16:22 zakharyas joined #moarvm
16:22 rurban joined #moarvm
16:54 tadzik hehe, someone actually joined #lessvm :P
16:57 rurban joined #moarvm
17:00 jnthn tadzik: Was it you? :P
17:07 rurban joined #moarvm
17:07 tadzik jnthn: I had to be there to know :P
17:07 tadzik but it's gonna be mine and kjs_'s secret... ooops
17:07 kjs_ ha ha
17:07 kjs_ i just had to click on it.
17:16 vendethiel- joined #moarvm
17:52 nwc10 m: nqp::rindex("rakudo", "do", 5)
17:52 camelia rakudo-moar bca33b: ( no output )
17:52 nwc10 that's the bug
17:52 nwc10 donaldh++ # test case tickles it
17:53 nwc10 I can even trigger it with
17:53 nwc10 moar  --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm -e 'nqp::rindex("rakudo", "do", 5)'
17:53 nwc10 AFK again
17:55 donaldh m: nqp::rindex("rakudo", "do", 5).say
17:55 camelia rakudo-moar bca33b: OUTPUT«4␤»
18:28 kjs_ joined #moarvm
18:41 nwc10 the bug is that that code triggers ASAN barfage.
18:41 nwc10 &
18:47 kjs_ joined #moarvm
19:11 zakharyas joined #moarvm
19:52 kjs_ joined #moarvm
19:55 salva joined #moarvm
19:59 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)
20:12 timotimo i could have a look, aye
20:12 nwc10 if you could, that would be cool
20:13 nwc10 At least I have a terse test case for insanity on PPC32:
20:13 nwc10 [nick@gcc1-power7 nqp]$ ./nqp-m -e 'say(nqp::sprintf("%X", [2**29]))'
20:13 nwc10 10C4D480
20:13 nwc10 [nick@gcc1-power7 nqp]$ ./nqp-m -e 'say(nqp::sprintf("%X", [2**30]))'
20:13 nwc10 10B0D480
20:22 FROGGS_ nwc10: I reported the dyncall patch upstream
20:37 nwc10 FROGGS_: thanks
20:37 FROGGS_ nwc10: you're welcome
20:39 jnthn .oO( I'd apply the patches, but I heard "git am" only works in the morning... )
20:41 jnthn FROGGS_: You're processing the dyncall patch?
20:41 nwc10 but it's always morning on #perl6
20:41 jnthn FROGGS_: Are you working on the one to Rakudo also, or should I? :)
20:42 FROGGS_ jnthn: I've not started to process any patch
20:42 FROGGS_ wanna do the star.msi first
20:43 jnthn FROGGS_: Ah, OK...you mentioned passing the dyncall one upstream...
20:44 FROGGS_ yes, I emailed one of the maintainers :o)
20:44 jnthn OK, cool
20:44 jnthn I'll leave you to deal with it in our dyncall fork also, if that's OK
20:44 jnthn Will apply the Rakudo one now
20:45 FROGGS_ sure
20:45 colomon joined #moarvm
20:45 jnthn Thanks
20:45 jnthn FROGGS_++
20:45 * jnthn decides to spend the next hours hacking Perl 6 stuff, rather than writing slides :)
20:48 [Coke] jnthn++ #potentially bad life choices!
20:49 kjs_ joined #moarvm
20:50 jnthn Now I just gotta figure out which of the many things I could work on that I should work on :)
20:51 nwc10 jnthn: is the code that handles sprintf formatting in the nqp repository, or MoarVM's?
20:51 nwc10 %s is correct
20:51 nwc10 %g is
20:51 jnthn nwc10: nqp
20:51 nwc10 everything else is differently bonkers
20:51 jnthn ugh
20:51 nwc10 (OK, %u and %x seem to agree)
20:51 nwc10 I'm not sure about ugh - it seems a relatively simple test case for a bug
20:52 jnthn It was more the "everything else", though maybe there's one root cause
20:54 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 #moarvm
20:59 nwc10 jnthn: output is actually random. There must be undefined behaviour in there. Sadly I have neither ASAN nor valgrind
21:01 FROGGS_ is it possible that the union in P6int repr is to blame?
21:02 nwc10 possibly, but why does it work on PPC64?
21:03 FROGGS_ maybe because the union is 64bits wide?
21:04 nwc10 it's more likely to be the union in P6bigint.h
21:04 FROGGS_ if we just write to one half on PPC32...
21:04 nwc10 NQP sprintf implementation seens to use bigints
21:04 FROGGS_ ahh yes, P6int is about native ints
21:04 nwc10 and yes, exactly, good thinking - if we write just half, undefined behaviour
21:05 FROGGS_ m: say 277721840.fmt('%#b')
21:05 camelia rakudo-moar bca33b: OUTPUT«0b10000100011011011001011110000␤»
21:06 nwc10 it will be the union in P6bigint.h
21:06 FROGGS_ m: say 280670960.fmt('%#b')
21:06 camelia rakudo-moar bca33b: OUTPUT«0b10000101110101011001011110000␤»
21:06 nwc10 the flag approach isn't going to work on 32 bit B.E.
21:06 nwc10 (by inspection)
21:06 nwc10 probably need a clear head to work out what *will* work on all 4 permutations.
21:07 FROGGS_ m: say 0x10bab2f0.fmt('%#b')
21:07 camelia rakudo-moar bca33b: OUTPUT«0b10000101110101011001011110000␤»
21:07 FROGGS_ ahh, that's the same
21:11 dalek MoarVM: 4bd5932 | FROGGS++ | 3rdparty/dyncall:
21:11 dalek MoarVM: bump dyncall revision
21:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4bd5932c31
21:19 nwc10 FROGGS_/jnthn: http://paste.scsys.co.uk/468938
21:20 nwc10 ;All tests successful.
21:20 nwc10 not tested on anything other than PPC32
21:20 nwc10 rakudo build started.
21:20 nwc10 FROGGS_++ # thinking of unions.
21:21 FROGGS_ O.o
21:22 FROGGS_ nice
21:22 FROGGS_ the best patches are about a single line
21:28 flussence joined #moarvm
21:30 nwc10 All tests successful.
21:30 nwc10 (rakudo. Now spectest)
21:30 nwc10 this is looking quite good.
21:30 FROGGS_ awesome
21:36 nwc10 Same spectest failures as PPC64
21:36 nwc10 will now test patch on PPC64
21:38 TimToady m: say -280670960.fmt('%#b')
21:39 camelia rakudo-moar d3ba34: OUTPUT«-280670960␤»
21:39 TimToady m: say (-280670960).fmt('%#b')
21:39 camelia rakudo-moar d3ba34: OUTPUT«0b-10000101110101011001011110000␤»
21:39 TimToady hah
21:40 FROGGS_ :P
21:41 TimToady m: say (-280670960).fmt('%064b')
21:41 camelia rakudo-moar d3ba34: OUTPUT«0000000000000000000000000000000000-10000101110101011001011110000␤»
21:41 TimToady m: say (-280670960).fmt('%#064b')
21:41 camelia rakudo-moar d3ba34: OUTPUT«000000000000000000000000000000000b-10000101110101011001011110000␤»
21:41 tadzik joined #moarvm
21:41 FROGGS_ ohh dear
21:41 TimToady m: say (-280670960).fmt('%064#b')
21:41 camelia rakudo-moar d3ba34: OUTPUT«'064#b' is not valid in sprintf format sequence '%064#b'␤␤»
21:42 * TimToady twists ur fmt into pretsils
21:59 timotimo now i actually have an opportunity to look at the ASAN barf for rindex
22:08 timotimo (but first: more irc backlogging)
22:08 jnthn m: sub foo(--> Array of Str) { my Str @a = <foo bar baz>; @a }; foo
22:08 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␤␤»
22:08 jnthn foo bar baz # locally :)
22:09 kjs_ joined #moarvm
22:10 FROGGS_ jnthn++ # \o/
22:11 timotimo YUS!
22:12 * jnthn spectests
22:14 timotimo nwc10: none of the range checks had been factoring in the start value
22:14 timotimo i think i've got the right fix on my machine
22:15 jnthn Grrr, some test fails but not sure if they're mine...
22:16 nwc10 t/spec/S32-exceptions/misc.rakudo.moar ?
22:16 jnthn No
22:16 jnthn S12-enums/basic for one
22:16 jnthn It's a parse error though
22:16 jnthn I can't see how I could've introduced one of those...
22:16 nwc10 I'm not seeing that
22:18 jnthn ===SORRY!===
22:18 jnthn Confused
22:18 jnthn at t\spec\S04-declarations\my.rakudo.moar:54
22:18 jnthn ------>         my %p⏏; #OK
22:18 jnthn wtf...
22:18 jnthn oh, wonder if I'm missing a Moar strings fix.
22:19 nwc10 PPC32 patch mailed. Going to bed.
22:19 flussence joined #moarvm
22:20 * TimToady still gets: > my grammar G { regex foo { } }
22:20 TimToady Cannot find method 'ann'
22:20 TimToady (on exceptions/misc)
22:20 TimToady oh, not that one
22:20 TimToady nm
22:21 TimToady my jvm spectest is still failing lots of tests
22:21 TimToady but that's not for #moarvm, I guess...
22:23 timotimo i got a few "no tests run" bits
22:24 jnthn timotimo: On JVM, or moar?
22:24 jnthn The fails I'm seeing a nonsensical...
22:25 jnthn Oh
22:25 jnthn They occur without my patch
22:25 TimToady my jvm fails seem to be load based
22:26 TimToady anyway, when I run indiv tests, they pass
22:26 jnthn OK
22:26 timotimo moar
22:26 TimToady so maybe something's awry in the test harness
22:26 jnthn timotimo: OK, in S04-declarations, and an S12-enum one?
22:27 jnthn 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)
22:27 timotimo it's not finished yet, sorry
22:28 TimToady my enum/basic runs fine on moar
22:28 TimToady is this in master?
22:28 jnthn Yeah
22:28 jnthn Well, nom
22:29 TimToady I'm running up-to-date there
22:29 TimToady I only got the one failure in exceptions
22:33 TimToady had a rogue java process chewing a load of 4
22:34 TimToady one way to heat the house...
22:45 timotimo hmm, i get t/spec/S02-types/bag.rakudo.moar failing test 116
22:45 timotimo and multiple TODOs passed
22:58 virtualsue joined #moarvm
23:03 timotimo OK, i'm down to only TODOs passed and t/spec/S32-exceptions/misc.rakudo.moar test 77
23:05 virtualsue_ joined #moarvm
23:07 dalek MoarVM: f02cbc9 | timotimo++ | src/strings/ops.c:
23:07 dalek MoarVM: factor in start point when checking out-of-range-ness
23:07 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f02cbc98e2
23:18 donaldh joined #moarvm
23:42 timotimo nwc10: do we have any spectest that'd provoke the asan barfage?
23:45 jnthn nwc10: I think the NQP tests even did...
23:45 timotimo ok
23:45 timotimo maybe we want to run asan'd moarvm against nqp tests on our continuous integration? or perhaps on hack.p6c.org?
23:50 jnthn Could be nice
23:50 jnthn Esp if we can do it on our cont int
23:54 timotimo recently i also noticed we do actually have different versions of registers on both sides of a branch
23:56 timotimo 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:57 timotimo oh, you're already en route to bed

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary