Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-01-12

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

All times shown according to UTC.

Time Nick Message
01:18 harrow joined #moarvm
05:27 ssutch joined #moarvm
05:32 [Coke] updated https://gist.github.com/coke/8250608
05:32 [Coke] FROGGS: is your stuff committed now?
06:24 ssutch joined #moarvm
06:34 diakopter hi:-)
07:35 FROGGS[mobile] [Coke]: yes
09:01 FROGGS[mobile] joined #moarvm
09:42 hoelzro joined #moarvm
09:42 hoelzro morning #moarvm
09:42 hoelzro anyone awake?
09:42 FROGGS I am, but almost afk
09:43 hoelzro mkay
09:43 hoelzro I found a segfault in Moar, but I'm not sure how to proceed
09:43 hoelzro I went through a backtrace and found the routine in question being called by the compiler
09:43 hoelzro and I know it occurs at a particular bytecode offset
09:43 FROGGS well, build MoarVM with --debug and run that piece of code in gdb
09:43 hoelzro but beyond that, I'm kinda stumped
09:43 hoelzro that's what I did =)
09:44 FROGGS next step: post it :o)
09:49 hoelzro heh
09:49 hoelzro momentje
09:50 hoelzro http://pastebin.com/iggHGhRM
09:50 hoelzro FROGGS: ^
09:53 FROGGS umm, the key is already NULL
09:54 FROGGS hoelzro: btw, you pull in MoarVM and nqp?
09:54 hoelzro yes
09:54 hoelzro NQP = 876d500
09:54 hoelzro MoarVM = 4e2fe17
09:55 hoelzro the key's NULL, but it's because sv->value is NULL in compiler.c on line 400
09:56 FROGGS nqp's rev is 2013.12.1-27-gfdc0be3
09:57 FROGGS you moarvm is up to date
09:57 FROGGS but please pull nqp before you proceed
09:57 FROGGS because we got a new stage0 yesterday
09:59 hoelzro hmm
09:59 * hoelzro wonders if the remote is ok
09:59 hoelzro oh, I see
09:59 hoelzro I'm dumb.
10:02 hoelzro hmm
11:04 FROGGS[mobile] hoelzro: did that work out?
11:05 hoelzro yeah, thanks!
11:05 hoelzro running spec tests now
11:05 FROGGS[mobile] good, so we don't have to hunt such a weird Bug :o)
11:07 hoelzro =)
11:13 ingy joined #moarvm
11:14 wsri joined #moarvm
11:47 colomon joined #moarvm
11:51 [Coke] joined #moarvm
11:51 masak joined #moarvm
13:02 timotimo o/
13:15 FROGGS o/
13:16 moritz \o
13:21 hoelzro o/
13:54 FROGGS[mobile] joined #moarvm
14:44 FROGGS[mobile] joined #moarvm
14:55 diakopter FROGGS: what's wrong with the "worse than worse" thing
14:59 FROGGS diakopter: that it is hardcoded, and only covers the failing tests that I have spotted
15:06 diakopter o
15:07 diakopter FROGGS: why not use the block stuff I had it emit
15:17 cognominal joined #moarvm
15:21 diakopter FROGGS: I mean, I thought I had it emit the stuff
15:21 diakopter (maybe I didn't?)
15:21 FROGGS[mobile] joined #moarvm
15:26 jnthn yay, we broke 95% :)
15:32 FROGGS[mobile] joined #moarvm
15:41 [Coke] jnthn: \Ø/
15:41 jnthn Ø. NØGNE Ø!
15:43 jnthn ooh, I see FROGGS++ has been doing more on unicode things too :)
15:43 jnthn [Coke]: Did yesterday's run not get pushed yet?
15:53 [Coke] nuuuuthin'.
15:53 [Coke] (just pushed)
15:54 jnthn ;)
16:10 jnthn S05 is by far the failest, but maybe that's better after FROGGS++ recent work, which I guess didn't make it into yesterday's run?
16:12 FROGGS diakopter: I dunno what you mean... can you point me at code and give concrete advices?
16:14 * diakopter ponders
16:14 FROGGS jnthn: we should be at 96.5% next time
16:14 jnthn \o/
16:14 FROGGS (at least)
16:16 jnthn FROGGS: If you fancy another thing to explore, fixing wordcaes probably gets us a handful more passes
16:16 FROGGS jnthn: I will look into that
16:16 FROGGS (besides doing v5 stuff)
16:17 jnthn When I get a moment, I can take a look at why we abort 300 typed exceptions tests too
17:11 * moritz compiles MoarVM on his raspberry pi
17:14 moritz \o/ success!
17:15 jnthn woo
17:15 jnthn Can you get NQP to build on it? :)
17:19 _ilbot joined #moarvm
17:19 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
17:21 [Coke] r: say 27507  - 27135 # moar tests today.
17:21 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«372␤»
17:22 jnthn 372 moar passing? :)
17:22 jnthn nice
17:22 [Coke] that's in today's not-yet-pushed-waiting-for-jvm run, aye.
17:27 _ilbot joined #moarvm
17:27 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
17:27 [Coke] only 637 failures (plus a few fudges that were done.)
17:27 FROGGS I need way more time to kill the 261 failures, because I need to understand better how it is supposed to work
17:28 [Coke] 13 TODO Passed in moar.
17:28 [Coke] r: say 261 / 637
17:28 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«0.409733␤»
17:30 _ilbot joined #moarvm
17:30 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
17:33 FROGGS ohh
17:33 jnthn [Coke]: Which segfaulted?
17:33 jnthn I think it may be related to exception handlers and gather/take...
17:33 FROGGS S26-documentation/why.t............................  18    0    0    1   19
17:33 FROGGS 1 skipped: segfault
17:33 FROGGS this?
17:33 moritz doing things on a CPU-starved device really gives you a different perspective on speed issues :-)
17:34 jnthn I'd imagine...
17:34 jnthn FROGGS: No, I think segv is elsewhere...in S14 or so
17:34 jnthn If it's smae one as ysterday
17:35 FROGGS S02-types/subset.rakudo.moar.......................Segmentation fault
17:35 FROGGS S12-subset/subtypes.rakudo.moar....................Segmentation fault
17:35 FROGGS that is sub...
17:36 FROGGS optimal
17:48 moritz /home/pi/p6/nqp/install/bin/moar --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm --bootstrap --setting=NULL --no-regex-lib --target=mbc \
17:48 moritz --output=gen/moar/stage1/nqpmo.moarvm gen/moar/stage1/nqpmo.nqp
17:48 moritz MAST::Local index out of range
17:48 moritz at gen\moar\stage2\QAST.nqp:4757  (src/vm/moar/stage0/QAST.moarvm:assemble_to_file:21
17:49 moritz that's on the raspberry pi
17:49 * [Coke] hurls https://gist.github.com/coke/8250608 - segfault at S02-types/subset.rakudo.moar
17:57 * [Coke] wonders if there's any more he can do to avoid hacking on moar actual.
18:00 FROGGS[mobile] joined #moarvm
18:01 jnthn moritz: I think that may be an out of date NQP?
18:02 moritz jnthn: I cloned like an hour ago
18:07 jnthn oh, and your MoarVM is also up to date?
18:11 moritz aye, freshly cloned too
18:12 jnthn hm, odd
18:12 jnthn 'cus I updated stage0 yesterday...
18:12 FROGGS[mobile] joined #moarvm
18:12 jnthn I saw somebody had this in the backlog
18:12 jnthn And I think then got it working
18:12 jnthn bbl
18:33 FROGGS[mobile] joined #moarvm
19:49 ilbot3 joined #moarvm
19:57 ilbot3 joined #moarvm
21:36 jnthn yay, think I fixed the S32-exceptions/misc.t crash and got us a bunch more tests
21:36 jnthn 250 or so maybe
21:38 timotimo wowza
21:38 timotimo and i thought you were running low on tuits :)
21:38 timotimo can you give guidance on where to implement the floordiv-operations on parrot? i'm thinking of putting them into nqp's parrot ops
21:39 jnthn floordiv?
21:39 timotimo integer division that always rounds towards -Inf
21:39 timotimo i.e. what we want for perl6
21:39 jnthn For bigint?
21:40 jnthn We have an file of bigint ops in the NQP repo
21:40 jnthn *a
21:40 timotimo for bigint and normal ints
21:40 timotimo also, it seems like there's some work that needs to be done for negative mod as well
21:40 FROGGS wow
21:40 timotimo probably exactly the same thing, haven't looked too closely yet
21:40 FROGGS jnthn++
21:41 dalek MoarVM: 116aa55 | jonathan++ | src/core/ (2 files):
21:41 dalek MoarVM: Correctly handle active handlers and continuations
21:41 dalek MoarVM:
21:41 dalek MoarVM: Need to slice off handlers since the reset and restore them on invoke.
21:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/116aa55d19
21:42 timotimo who's tackling openpipe, btw? FROGGS? :)
21:43 FROGGS >.o
21:43 FROGGS I dunno
21:43 FROGGS maybe
21:44 jnthn Yeha, FROGGS is doing it
21:44 jnthn :P
21:44 jnthn :D
21:44 FROGGS :P
21:44 FROGGS gah
21:44 FROGGS I already suffered unicode pain :o)
21:45 jnthn Yes, we seem to fail much less of the char props tests now
21:46 timotimo in the .ops files, what does :base_core mean again?
21:46 FROGGS but that mostly satisfies the tests, at least what I did about properties-derived.t
21:46 jnthn timotimo: I forget...I think we just scatter it everywhere...
21:47 timotimo yeah, that's what i thought %)
21:48 jnthn I think originally it may have been part of some op security model
21:51 timotimo vestiges ... vestiges everywhere
21:52 jnthn ah, I think my fix may only have got us another 150 tests rather than 200...we got up to 490 before, not 400ish
21:53 jnthn Gonna look in to the parameterized type stuff
21:53 timotimo parrot checks the result of mp_div for MP_VAL and returns division by zero if that's the case; should moarvm have a similar check in place, too?
21:55 jnthn Probably
21:56 timotimo where do i have to look to see how to report such an error in moarvm?
21:56 diakopter timotimo: search "by zero" :) for the other times
21:57 timotimo good idea, thanks
21:58 jnthn timotimo: If it's juts throwing an exceptin, look for MVM_exception_throw_adhoc
22:00 jnthn r: role R2[$] { }; class C3 does R2[R2[Int]] { }; say nqp::istype(C3, R2[R2[Int]]);
22:00 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«1␤»
22:01 timotimo oh, you're tackling that one
22:01 jnthn r: role R2[$] { }; class C3 does R2[Int] { }; say nqp::istype(C3, R2[Int]);
22:01 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«1␤»
22:01 jnthn r: role R2[$] { }; class C3 does R2[R2[Int]] { }; say nqp::istype(C3, R2[R2[Int]]);
22:01 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«1␤»
22:02 jnthn Yeah. That line gives 0 on Moar...
22:02 timotimo i saw that line in the test run and thought "oh, maybe i could look at NOPE NOPE NOPE" :P
22:03 jnthn :P
22:03 diakopter you just noped on out of there
22:03 jnthn Well, I think this bug underlies a few other failures
22:03 jnthn So, worth hunting
22:03 timotimo i NOPed out of there :P
22:03 * timotimo gets on his NOPsled and rides off
22:04 jnthn Interesting that it needs two levels of wrapping to show up
22:04 timotimo http://www.pauldotcom.com//images/nopsled.jpg ← someone made this and i am happy
22:07 jnthn r: role R2[$] { }; class C3 does R2[R2[Int]] { }; say R2[R2[Int]].HOW.accepts_type(R2[R2[Int]], C3)
22:07 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«1␤»
22:13 jnthn r: role R2[$] { }; say R2[Int].ACCEPTS(R2[Int]);
22:13 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«True␤»
22:13 timotimo hm, there shouldn't be many test failures of the parrot perl6 on moar-support, right?
22:14 jnthn r: role R2[$] { }; say nqp::istype(R2[Int], R2[Int]);
22:14 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«1␤»
22:15 FROGGS timotimo: no
22:15 FROGGS roast did not move much these days
22:16 timotimo weird.
22:25 FROGGS hmmm, wordcase fails because it is unable to look up grapheme cluster breaks... :/
22:25 FROGGS I mean, it resolvs the property code and property value code, but the things in the string are not marked as cluster breaks
22:26 FROGGS how do we gain that knowledge? compare properties of a grapheme to the thing right before it?
22:27 * FROGGS reads http://useless-factor.blogspot.de/2007/08/unicode-implementers-guide-part-4.html
22:28 jnthn r: role R2[$] { }; say R2[Int].HOW.type_check(R2[Int], R2[Int]);
22:28 camelia rakudo-parrot 58307f, rakudo-jvm 58307f: OUTPUT«0␤»
22:29 timotimo No such method 'defined' for invocant of type 'Hash' - this seems to kill at least some of my tests
22:31 timotimo i'll have a look at nom instead of moar-support
22:42 timotimo yeah, no such errors there
22:43 FROGGS http://unicode.org/reports/tr29/ <--- ohh noes /o\
22:45 jnthn 96.66% \o/
22:45 FROGGS very very nice :o)
22:46 timotimo FROGGS: what is oh noes about that?
22:46 FROGGS timotimo: I have no idea how to implement that
22:46 diakopter it's all the things
22:46 timotimo oh
22:46 jnthn I've figured out what's going on with the parameterized type stuff
22:48 diakopter jnthn: needs one more layer of meta-parameterization?
22:48 jnthn No, one more level of CPS :P
22:49 * diakopter throws Compiling With Continuations at jnthn... literally
22:49 * jnthn ducks
22:49 * TimToady feels like an accessory before the fact
22:50 tadzik related: http://www.youtube.com/watch?v=7DP7bfAfK2o
22:51 diakopter tadzik:
22:56 dalek MoarVM: f62b406 | (Timo Paulssen)++ | src/math/bigintops.c:
22:56 dalek MoarVM: throw div by 0 in bigint division
22:56 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f62b406bd6
22:58 diakopter timotimo: same for mod?
22:58 timotimo probably should, yeah
22:58 diakopter DIOT
22:58 diakopter i mean
22:58 diakopter DOIT
22:59 timotimo IDIOT
22:59 timotimo er i mean
22:59 timotimo I DO IT
22:59 FROGGS *g*
22:59 TimToady I dot i.
23:00 timotimo should it say "Division by Zero" or "Division by Zero in mod" or something?
23:00 * timotimo tends towards the former
23:03 colomon joined #moarvm
23:04 jnthn Not sure Zero needs uppercasing
23:04 timotimo it would if it were "Division by Zorro"
23:05 diakopter Division by g0v
23:05 TimToady it's not really division by zero, because that's impossible
23:05 timotimo Diakopter by 0
23:06 diakopter o_O
23:07 timotimo is it sensible to check for the second operand to be 0 to throw an error or should i rather catch SIGFPE or something?
23:08 dalek MoarVM: 7cd98af | jonathan++ | src/6model/6model.c:
23:08 dalek MoarVM: Fix check/accepts non-cache case of istype.
23:08 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7cd98af5fb
23:08 jnthn That helps some tests
23:08 timotimo i made a big mistake in the zero-division test anyway
23:09 dalek MoarVM: c73a5ed | (Timo Paulssen)++ | src/math/bigintops.c:
23:09 dalek MoarVM: throw div by 0 in mod, too
23:09 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c73a5ed352
23:09 dalek MoarVM: 6550f75 | (Timo Paulssen)++ | src/math/bigintops.c:
23:09 dalek MoarVM: fix copypasto, lowercase "zero"
23:09 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6550f75d31
23:12 dalek MoarVM: 2bcb384 | (Timo Paulssen)++ | src/core/interp.c:
23:12 dalek MoarVM: div_i should throw Division by zero, too.
23:12 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2bcb38438f
23:15 jnthn afk &

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