Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-02-10

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

All times shown according to UTC.

Time Nick Message
00:06 colomon joined #moarvm
00:16 lue joined #moarvm
00:52 tadzik joined #moarvm
07:41 FROGGS joined #moarvm
07:51 japhb joined #moarvm
07:51 japhb_ joined #moarvm
08:36 odc joined #moarvm
10:46 odc joined #moarvm
14:17 jnap joined #moarvm
14:32 vmspb joined #moarvm
14:48 benabik joined #moarvm
15:14 odc joined #moarvm
15:46 cognominal joined #moarvm
16:48 cognominal joined #moarvm
17:44 colomon joined #moarvm
18:56 FROGGS joined #moarvm
18:59 benabik joined #moarvm
19:16 benabik Blarg.  OS X build failure (likely all *BSDs as well): "src/io/fileops.c:297:48: error: too few arguments to function call, expected 3, have 1    waitpid(handle->body.u.process->pid);"  Leaving this here in case somebody gets time before I do.
19:27 FROGGS benabik: known
19:28 FROGGS hoelzro++ was working on a fix but is afk for the week I think
19:33 benabik FROGGS: :,(
19:35 benabik *blink*  waitpid seems to have 3 arguments on Linux too.
19:35 FROGGS huh
19:36 FROGGS how on... <add favourite planet here>
19:36 FROGGS that would be an easy fix then^^
19:36 benabik ...  I'm wondering if it doesn't #include <sys/wait.h>, so C is assuming it's an int(int)
19:37 * benabik hates that "feature"
19:37 FROGGS yeah
19:37 FROGGS doing wrong things because of being lax is one of the worst things out there
19:38 jnthn ugh
19:39 jnthn All the waitpid docs I see need 3 args.
19:39 FROGGS >.<
19:40 FROGGS benabik: are you about to push a fix like waitpid(mumble, NULL, 0) (and the include), or shall I?
19:41 benabik FROGGS: I'm alternating between schoolwork and this.  Hadn't yet gotten to it.  We might want to add the include when needed though...
19:41 jnthn How does the call ever work out if it's missing two args?
19:43 benabik Top of stack is first argument.
19:43 benabik So it's using whatever variables happen to be on top of stack as arg 2 & 3.
19:44 benabik Oh on x64 it's probably using registers.  So whatever happens to be in RSI/RDX.
19:46 benabik We might have lucked out and those values tend to be zero.
19:47 jnthn Naming a register RSI is...ouch :P
19:47 benabik :-D
19:48 FROGGS does this look good? https://gist.github.com/FROGGS/601af1d005a0c1b13df5
19:50 benabik FROGGS: Looks good to me.  sys/wait.h is on both Linux and OS X, so probably is general enough.  :-)
19:50 FROGGS good :o)
19:51 dalek MoarVM: 29b1208 | (Tobias Leich)++ | src/ (2 files):
19:51 dalek MoarVM: fix use of waitpid
19:51 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/29b1208ef3
19:52 benabik And it compiles.  Bonus.
19:53 FROGGS cool!
20:02 hoelzro joined #moarvm
20:02 FROGGS nqp: 72057594037927936
20:02 rurban_ joined #moarvm
20:03 camelia nqp-moarvm, nqp-jvm, nqp-parrot: ( no output )
20:03 __sri joined #moarvm
20:07 FROGGS nqp: https://gist.github.com/FROGGS/64c224637a10fff02e33
20:07 camelia nqp-parrot: OUTPUT«Error while compiling op list (source text: ","): Cannot infer type from '72057594037927936'␤current instr.: '' pc 57008 (gen/parrot/stage2/QAST.pir:21035) (gen/parrot/stage2/QAST.nqp:3629)␤»
20:07 camelia ..nqp-moarvm: OUTPUT«(signal SEGV)Object does not exist in serialization context␤   at /tmp/tmpfile:34  (<ephemeral file>::74)␤ from /tmp/tmpfile:24  (<ephemeral file>::58)␤ from /tmp/tmpfile:14  (<ephemeral file>::47)␤ from gen/moar/stage2/NQPHLL.nqp:1090  (/home/p6eval/rakud…»
20:07 camelia ..nqp-jvm: OUTPUT«1..1␤Missing serialize function for REPR P6bigint␤  in  (/tmp/tmpfile:34)␤  in  (/tmp/tmpfile:24)␤  in  (/tmp/tmpfile:14)␤  in  (gen/jvm/stage2/NQPHLL.nqp:1099)␤  in eval (gen/jvm/stage2/NQPHLL.nqp:1085)␤  in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1291)…»
20:08 FROGGS :o(
20:27 FROGGS nqp: https://gist.github.com/FROGGS/64c224637a10fff02e33
20:27 camelia nqp-parrot: OUTPUT«1..275␤ok 1 - serialized P6bigint instance has correct value␤ok 2 - serialized P6bigint instance has correct value␤ok 3 - serialized P6bigint instance has correct value␤ok 4 - serialized P6bigint instance has correct value␤ok 5 - serialized P6bigint inst…»
20:27 camelia ..nqp-jvm: OUTPUT«1..275␤Missing serialize function for REPR P6bigint␤  in  (/tmp/tmpfile:51)␤  in  (/tmp/tmpfile:41)␤  in  (/tmp/tmpfile:14)␤  in  (gen/jvm/stage2/NQPHLL.nqp:1099)␤  in eval (gen/jvm/stage2/NQPHLL.nqp:1085)␤  in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1291)…»
20:27 camelia ..nqp-moarvm: OUTPUT«(signal SEGV)»
20:28 FROGGS this passes on nqp-m using the maybe-varint branch
20:28 jnthn yay
20:28 FROGGS jnthn: it the nqp-j behaviour expected?
20:28 FROGGS is*
20:31 jnthn FROGGS: It's odd, given that it must be able to serialize it for Rakudo
20:31 jnthn FROGGS: But I think there's a separate code-path for inlined serialization
20:31 FROGGS ahh
20:32 FROGGS jnthn: a keyword I could grep for?
20:32 FROGGS then I'd adjust the test to do the same
20:34 jnthn FROGGS: Well, if you look in the bigint test file, you can see it creating a P6opaque with a bigint inside of it
20:34 FROGGS ahh, kthxbai :o)
20:36 * jnthn puts aside $dayjob to look at Perl 6 things a bit
20:36 FROGGS :o)
20:37 jnthn First task is looking at RT#121213
20:38 FROGGS RT #121213
20:38 FROGGS where is that bot?
20:38 FROGGS found it :o)
20:47 FROGGS nqp: https://gist.github.com/FROGGS/5b8f6ffd8bab253a5999
20:47 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1..275␤ok 1␤ok 2␤ok 3␤ok 4␤ok 5␤ok 6␤ok 7␤ok 8␤ok 9␤ok 10␤ok 11␤ok 12␤ok 13␤ok 14␤ok 15␤ok 16␤ok 17␤ok 18␤ok 19␤ok 20␤ok 21␤ok 22␤ok 23␤ok 24␤ok 25␤ok 26␤ok 27␤ok 28␤ok 29␤ok 30␤ok …»
20:47 FROGGS so why does that work on moar too?
20:51 jnthn dunno...
20:51 jnthn Was it meant to trigger the same bug?
20:52 jnthn Does it somehow come out as big?
20:53 FROGGS it was meant to trigger the bug, yes
20:54 FROGGS it must come out as big or the test would fail, no?
20:54 FROGGS maybe the varint stuff is not used for inlined serialization?
20:54 FROGGS there are no different code paths for that on moar, right?
20:55 jnthn No, same code path on moar
20:55 jnthn Maybe it's coming out big when it needn't?
20:55 FROGGS :/
20:55 FROGGS how do I even check that?
20:56 jnthn With difficulty given you're not meant to care from the outside... Breakpoint in serialize?
20:56 jnthn Or printf :P
20:56 FROGGS damn, I am tired... I'll leave you doing moar fun stuff now :o)
20:57 FROGGS I'll care about that tomorrow
20:57 jnthn kk
20:57 jnthn I think I've got a patch for that RT
21:06 timotimo what did i do wrong again? :)
21:08 dalek MoarVM: eff1178 | jnthn++ | src/core/frame. (2 files):
21:08 dalek MoarVM: Provide mechanism for special action on unwind.
21:08 dalek MoarVM:
21:08 dalek MoarVM: To go with the special return mechanism. Will enable various memory
21:08 dalek MoarVM: leak fixes as well as fixing an active handler sync bug.
21:08 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/eff11789cd
21:08 dalek MoarVM: ef82378 | jnthn++ | src/core/exceptions.c:
21:08 dalek MoarVM: Properly clean up active handlers on unwind.
21:08 dalek MoarVM:
21:08 dalek MoarVM: Fixes Rakudo's RT#121213.
21:08 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ef82378071
21:08 jnthn timotimo: Probably nothing this time :)
21:09 timotimo phew
22:11 rblackwe joined #moarvm
22:15 jnap1 joined #moarvm
22:27 colomon joined #moarvm
23:19 benabik joined #moarvm
23:23 eternaleye joined #moarvm
23:37 hoelzro FROGGS: I had some insight into the waitpid thing
23:38 hoelzro my solution was to busy wait on uv_run
23:38 hoelzro but I think since we're waiting for a signal from the child process, we can call pause
23:38 hoelzro it's probably not portable, though
23:38 * hoelzro gos back to vacation
23:47 jnthn sleep; 'night o/

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