Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-09-06

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:44 ugexe so Proc::Async seems to have two behaviors on windows with spaces. assume the first argument is the absolute path to perl6 and contains a space (C:\Users\Foo Bar\perl6-b.bat). Proc::Async.new($perl6, '-v', '--output=xxx').start launches $perl6 successfully, but Proc::Start.new($perl6, '-v', '--output="xxx"').start or Proc::Start.new($perl6, '-v', '--output=xx x').start both try to launch perl6 as
00:44 ugexe C:\Users\Foo
00:46 ugexe so I'm not sure how to get precompilation to work
00:55 committable6 joined #perl6-dev
00:55 committable6 joined #perl6-dev
01:02 ugexe dunno if its a libuv thing or the perl6 wrapper
01:33 MasterDuke m: my @a = ^4; say @a.min
01:33 camelia rakudo-moar c39db8: OUTPUT: «0?»
01:33 MasterDuke m: say (^4).min
01:33 camelia rakudo-moar c39db8: OUTPUT: «0?»
01:34 MasterDuke m: my @a = ^4; say @a.min: { abs($_) }
01:34 camelia rakudo-moar c39db8: OUTPUT: «0?»
01:34 MasterDuke m: say (^4).min: { abs($_) }
01:34 camelia rakudo-moar c39db8: OUTPUT: «Too many positionals passed; expected 1 argument but got 2?  in block <unit> at <tmp> line 1??»
01:35 MasterDuke seems a bit LTA
01:37 MasterDuke s: (^4), 'min'
01:37 SourceBaby MasterDuke, Sauce is at https://github.com/rakudo/rakudo/blob/c39db8789/tting.moarvm#L1
01:37 MasterDuke heh
01:50 BenGoldberg joined #perl6-dev
01:52 ilbot3 joined #perl6-dev
01:52 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
03:30 AlexDaniel joined #perl6-dev
04:00 llfourn joined #perl6-dev
05:30 ilbot3 joined #perl6-dev
05:30 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
06:15 geekosaur joined #perl6-dev
06:24 astj joined #perl6-dev
06:43 lizmat_ joined #perl6-dev
06:55 astj joined #perl6-dev
06:55 geekosaur joined #perl6-dev
06:58 astj joined #perl6-dev
07:11 [TuxCM] joined #perl6-dev
07:22 astj joined #perl6-dev
07:24 lizmat joined #perl6-dev
08:06 robertle joined #perl6-dev
08:07 lizmat Files=1223, Tests=67680, 293 wallclock secs (11.18 usr  4.65 sys + 1973.81 cusr 205.71 csys = 2195.35 CPU)
08:12 AlexDaniel joined #perl6-dev
08:16 samcv o/ lizmat
08:50 lizmat joined #perl6-dev
08:57 Skarsnik joined #perl6-dev
09:02 |Tux| This is Rakudo version 2017.08-80-gc39db8789 built on MoarVM version 2017.08.1-106-gdd04dd80
09:02 |Tux| csv-ip5xs        1.282 -  1.299
09:02 |Tux| test             9.503 -  9.526
09:02 |Tux| test-t           3.376 -  3.490
09:02 |Tux| csv-parser      10.954 - 11.260
09:08 Skarsnik how many iteration of this do you do?
09:23 AlexDaniel joined #perl6-dev
09:37 lizmat joined #perl6-dev
09:38 lizmat_ joined #perl6-dev
09:40 lizmat__ joined #perl6-dev
09:43 lizmat joined #perl6-dev
09:46 |Tux| 2
09:48 Skarsnik I mean each part? it only ran twice?
09:52 |Tux| each parser parses the same 10000-line CSV file. The whole set runs twice
09:53 |Tux| the runner collects both (all) and shows for these for the fastest and slowest run-time
09:53 |Tux| I can increase it to 3 or 4 but it already takes a minute or two to run one set
10:13 astj joined #perl6-dev
10:14 astj joined #perl6-dev
10:32 Geth ¦ nqp: 6fb40df3b1 | pmurias++ | src/vm/js/nqp-runtime/runtime.js
10:32 Geth ¦ nqp: [js] Throw a proper exception when we get the wrong kind of native argument
10:32 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/6fb40df3b1
10:32 Geth ¦ nqp: d31e6b0d0e | pmurias++ | t/nqp/112-call.t
10:32 Geth ¦ nqp: Test a bunch of different call situations
10:32 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/d31e6b0d0e
10:45 travis-ci joined #perl6-dev
10:45 travis-ci NQP build failed. pmurias 'Test a bunch of different call situations'
10:45 travis-ci https://travis-ci.org/perl6/nqp/builds/272425630 https://github.com/perl6/nqp/compare/ffa3e56f619b...d31e6b0d0e20
10:45 travis-ci left #perl6-dev
10:57 releasable6 joined #perl6-dev
11:00 AlexDaniel joined #perl6-dev
11:03 stmuk_ joined #perl6-dev
11:50 Skarsnik that very slow
11:50 Skarsnik skarsnik@devel:~$ time perl6/rakudo/install/bin/perl6 hanoi.pl
11:50 Skarsnik real    1m18.154s
11:50 Skarsnik skarsnik@devel:~$ time perl hanoi.pl
11:50 Skarsnik real    0m1.119s
11:50 timotimo is that really heavy on recursion?
11:50 Skarsnik it's hanoi ^^
11:50 Skarsnik with 2 call to hanoi each time
11:51 timotimo well, you could implement it without actually recursing functions
11:59 Skarsnik I mean it's annoting perl 6 is so slow on recursuve stuff ^^
12:02 timotimo mhm
12:02 timotimo did you check the profiler?
12:10 Skarsnik this take forever x)
12:11 [Coke] was there a source link?
12:11 [Coke] Yes. Perl 6 is not as optimized as Perl 5. Lots of work being done there.
12:11 timotimo [Coke]: skarsnik knows about this :)
12:12 [Coke] if it smells like a troll... hug it.
12:12 jnthn Recursive code is pretty much the worst case for the specializer
12:12 jnthn Well, depending on its use pattern
12:12 jnthn But you never get inlining of the recursive call, for example
12:13 ilmari not even tail-recursive calls?
12:13 jnthn No
12:14 ilmari I guess it couldn't unless it knew the recursion depth up-front
12:14 jnthn Well, in theory something can be done.
12:15 jnthn In practice, it's a loooong way down to optimizer todo list
12:15 ilmari is tail-recursion optimised at all?
12:15 jnthn No
12:16 jnthn And given we've things like dynamic variables and CALLER:: and so forth, the analysis to even know if a call that is the last statement could be optimized in some way isn't trivial either
12:19 Skarsnik https://gist.github.com/Skarsnik/dc497c7faadaba33868e00706d7dd060
12:22 timotimo the profile shows lots of time in from-slurpy-flat, STORE, reify-until-lazy, push, ReifiedList, ReifiedArray
12:22 timotimo where's all that coming from
12:23 jnthn sub hanoi {
12:23 jnthn my ($n, $d, $a, $i) = @_;
12:23 jnthn There
12:23 Skarsnik the start?
12:23 timotimo right
12:23 jnthn Why isn't it using a proper signature?
12:23 timotimo giving it a proper signature makes it a hundredfold faster
12:23 jnthn Even if spesh can do something helpful, it'll never do so with that
12:23 Skarsnik it's a perl5 script x
12:23 timotimo 50596.55ms -> 2181.87ms
12:23 Zoffix :o
12:23 timotimo well, not hundredfold
12:23 Skarsnik Oo
12:23 Zoffix :D
12:24 [Coke] Perl 6 can run Perl 6 faster than it can run Perl 5. :)
12:25 Skarsnik still that kinda crazy the time lost with that
12:26 jnthn I'm not very surprised. Calling and signatures are very well optimized.
12:27 jnthn And the specializer understands a lot about them
12:27 [Coke] Or: the ways you optimize Perl 5 are not the same ways to optimize Perl 6.
12:28 timotimo ouch
12:28 timotimo making all parameters "int" gives me faster run time, but 100% interpreted
12:28 jnthn timotimo: ooh, why?
12:28 * jnthn can't imagine what the JIT would bail on
12:29 timotimo not even speshed, though
12:29 Geth ¦ rakudo/nom: 35916427b6 | pmurias++ | t/02-rakudo/08-repeat.t
12:29 Geth ¦ rakudo/nom: Move implementation specific repeat tests from roast to the rakudo repo
12:29 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35916427b6
12:29 timotimo also, boatloads of BOOTHash allocated from List.pm's sink (line 694)
12:29 Skarsnik I was actually searching for a benchmark to test recursion x)
12:29 Geth ¦ roast: b75fca9967 | pmurias++ | S05-capture/match-object.t
12:29 Geth ¦ roast: Test Match.Int
12:29 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b75fca9967
12:29 Geth ¦ roast: 1d4673438d | pmurias++ | S03-operators/repeat.t
12:29 Geth ¦ roast: Move implementation specific repeat tests from roast to the rakudo repo
12:29 Geth ¦ roast: review: https://github.com/perl6/roast/commit/1d4673438d
12:29 jnthn So I have a fix for https://rt.perl.org/Ticket/Display.html?id=131985
12:29 jnthn The problem was that it didn't do a closure clone
12:30 timotimo wowza, return takes 6.6% of total time
12:31 jnthn Unfortuantely, there's a test doing $str ~~ s:Perl5/^(.)/{ state $++; }/ that then gets unhappy
12:31 jnthn 'cus it's relying on us not doing said closure cloning
12:32 [Coke] timotimo: changing it to an if instead of a return shaves some time here, aye.
12:33 timotimo jnthn: the hanoi sub doesn't show up in the jit log at all
12:33 timotimo i can't even see it in the spesh log
12:33 jnthn Does it get any stats?
12:33 jnthn I guess if it's just deeply recursing it never returns
12:33 timotimo nope, not a single mention in the whole file
12:33 jnthn And so we never see a complete execution of it
12:34 timotimo it does call return a million times
12:34 jnthn Ah, then we must see some complete invocations...
12:34 jnthn Odd
12:34 timotimo before one of the changes it was jitted 100%
12:35 jnthn *sigh* Now I remember I've been here before with fixing the closure inside string thing.
12:35 timotimo yeah, i add "int" to the signature and it goes boom
12:35 jnthn And the only reason I didn't commit the exact same fix I did this time around is because of this test :/
12:35 timotimo ugh
12:36 timotimo let's hope nobody relies on this? :\
12:36 jnthn Yeah, I think "let's see", but we really can't live with the bug
12:36 jnthn It's horrible
12:36 jnthn Do "foo{$bar}baz" in code running on multiple threads and get wrong interpolated results
12:42 Geth ¦ rakudo/nom: d0d105b8b6 | (Zoffix Znet)++ | src/core/Match.pm
12:42 Geth ¦ rakudo/nom: Fix inability of `make`ing type objects
12:42 Geth ¦ rakudo/nom:
12:42 Geth ¦ rakudo/nom: The check for whether we should return a `Nil` from .made/.ast
12:42 Geth ¦ rakudo/nom: is meant to detect an NQPMu in $!made. nqp::isconcrete was used
12:42 Geth ¦ rakudo/nom: for that purpose, which also makes any `make`d type objects to
12:42 Geth ¦ rakudo/nom: result in Nils.
12:42 Geth ¦ rakudo/nom:
12:42 Geth ¦ rakudo/nom: Fix by doing a typecheck for `Mu` that returns false when $!made
12:42 Geth ¦ rakudo/nom: is an NQPMu, but would return True for any Rakudo object.
12:42 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0d105b8b6
12:42 timotimo glad to hear it works
12:43 Geth ¦ roast: 8674f1e8c7 | (Zoffix Znet)++ | S05-match/make.t
12:43 Geth ¦ roast: Spec behaviour of Match.made/.ast for…
12:43 Geth ¦ roast:
12:43 Geth ¦ roast: …type objects and unmade matches.
12:43 Geth ¦ roast:
12:43 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/d0d105b8b6
12:43 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8674f1e8c7
12:44 Geth ¦ rakudo/nom: 59454b03cc | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
12:44 Geth ¦ rakudo/nom: Fix thread safety of "foo{$x}bar"
12:44 Geth ¦ rakudo/nom:
12:44 Geth ¦ rakudo/nom: Previously, we didn't do a closure clone of the block, which meant it
12:44 Geth ¦ rakudo/nom: could get its outer captured by a different thread (or go very wrong
12:44 Geth ¦ rakudo/nom: if a recursive call was done inside of the closure). Doing this clone
12:44 Geth ¦ rakudo/nom: corrects the bug, and brings it in line with other closures, though
12:44 Geth ¦ rakudo/nom: does cause a change to `state` inside such as block (again, bringing
12:44 Geth ¦ rakudo/nom: it in line with how things usually work, though there was a spectest
12:44 Geth ¦ rakudo/nom: based around the previous wrong expectation).
12:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/59454b03cc
12:45 Zoffix I'm gonna do version bumps. There's a new test in roast now that needs a nqp updates
12:45 jnthn Zoffix: If you want to do a MoarVM one so latest improvements there get more testing, that'd be nice also
12:46 Zoffix Will do
12:46 jnthn (There's various spesh improvements)
12:46 Geth ¦ roast: a743fe353b | (Jonathan Worthington)++ | S04-declarations/state.t
12:46 Geth ¦ roast: Correct bad state expectation
12:46 Geth ¦ roast:
12:46 Geth ¦ roast: Due to a compiler bug, the closure here was not being cloned by its
12:46 Geth ¦ roast: outer scope. This caused various nasty thread safety bugs, and has now
12:46 Geth ¦ roast: been rectified. However, this test depended on the buggy behavior.
12:46 Geth ¦ roast: review: https://github.com/perl6/roast/commit/a743fe353b
12:50 perlpilot joined #perl6-dev
12:52 Geth ¦ roast: fe5e6ff495 | (Jonathan Worthington)++ | S17-promise/start.t
12:52 Geth ¦ roast: Test to cover RT #131985
12:52 Geth ¦ roast: review: https://github.com/perl6/roast/commit/fe5e6ff495
12:52 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131985
12:56 Geth ¦ nqp: d016ffd335 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
12:56 Geth ¦ nqp: Bump MoarVM
12:56 Geth ¦ nqp:
12:56 Geth ¦ nqp: MoarVM bump brought commits:
12:56 Geth ¦ nqp: https://github.com/MoarVM/MoarVM/compare/2017.08.1-103-g41e1b7c...2017.08.1-128-gde6dced
12:56 Geth ¦ nqp:
12:56 Geth ¦ nqp: de6dced Merge branch 'heapsnapshot_binary_format'
12:56 Geth ¦ nqp: fbd6182 write parts of types/static frames/strings incrementally
12:56 Geth ¦ nqp: <…commit message has 23 more lines…>
12:56 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/d016ffd335
12:56 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.08.1-103-g41e1b7c...2017.08.1-128-gde6dced
12:56 Geth ¦ rakudo/nom: cbce672126 | (Zoffix Znet)++ | tools/build/NQP_REVISION
12:56 Geth ¦ rakudo/nom: Bump NQP
12:56 Geth ¦ rakudo/nom:
12:56 Geth ¦ rakudo/nom: NQP bump brought commits:
12:56 Geth ¦ rakudo/nom: https://github.com/perl6/nqp/compare/2017.08-42-g83197a2...2017.08-46-gd016ffd
12:56 Geth ¦ rakudo/nom: d016ffd Bump MoarVM
12:56 Geth ¦ rakudo/nom: d31e6b0 Test a bunch of different call situations
12:56 Geth ¦ rakudo/nom: 6fb40df [js] Throw a proper exception when we get the wrong kind of native argument
12:56 Geth ¦ rakudo/nom: <…commit message has 29 more lines…>
12:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cbce672126
12:56 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.08-42-g83197a2...2017.08-46-gd016ffd
12:56 Zoffix ZOFVM: Files=1273, Tests=144650, 134 wallclock secs (15.00 usr  2.65 sys + 2721.89 cusr 203.91 csys = 2943.45 CPU)
12:57 * Zoffix &
12:57 Geth ¦ roast: 624381cff8 | (Jonathan Worthington)++ | S04-declarations/state.t
12:57 Geth ¦ roast: Test to cover RT #130855
12:57 Geth ¦ roast: review: https://github.com/perl6/roast/commit/624381cff8
12:57 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130855
13:00 Geth ¦ roast/6.c-errata: 357665c732 | skids++ (committed by Zoffix Znet) | S04-statements/do.t
13:00 Geth ¦ roast/6.c-errata: Fix test that expected pre-GLR behavior.  RT##124572. (#305)
13:00 Geth ¦ roast/6.c-errata:
13:00 Geth ¦ roast/6.c-errata: (edit by Zoffix): cherry pick the commit from master that fixes wrong
13:00 Geth ¦ roast/6.c-errata: TODOed test that expects if {} elsif {} to give an empty list instead
13:00 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124572
13:00 Geth ¦ roast/6.c-errata: of Empty when both conditions fail. Closes #306
13:00 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/357665c732
13:01 AlexDaniel joined #perl6-dev
13:01 * dogbert17 wonders if the latest changes will affect [Tux] benchmark
13:02 jnthn Maybe
13:02 jnthn Though maybe within noise level too
13:02 dogbert17 I guess < 3 sec for test-t is the next target :)
13:02 Zoffix AlexDaniel: ping
13:02 AlexDaniel Zoffix: pong ♥
13:02 yoleaux 12:18Z <jdv79> AlexDaniel: i'm guessing the 4 byte unicode fix just hasn't been implemented yet
13:03 Zoffix AlexDaniel: when I was doing release stuff, detailed info on what commits were brought in in version bumps were useful... Do you care about them or should I stop adding the extra info (like here: https://github.com/rakudo/rakudo/commit/cbce672126 )
13:03 AlexDaniel Zoffix: can't it be automated?
13:04 Zoffix Sure. But currently it isn't :)
13:04 Skarsnik bisectable6,  my %h = Hash;
13:04 bisectable6 Skarsnik, Bisecting by exit code (old=2015.12 new=cbce672). Old exit code: 0
13:04 bisectable6 Skarsnik, bisect log: https://gist.github.com/7c8baae8036944d454d424eeeb4f17a4
13:04 bisectable6 Skarsnik, (2017-01-23) https://github.com/rakudo/rakudo/commit/2f69be91446ab3f3ed85c54f741cf701b8cba8d5
13:05 AlexDaniel Zoffix: I myself don't care about it because I can just ask Geth
13:05 Skarsnik dis that normal?
13:05 Zoffix AlexDaniel: noted :)
13:05 Zoffix Skarsnik: I'd say the message is accurate: "did you forget a .new?"
13:05 Skarsnik it worked on old rakudo
13:06 Zoffix mc: my %h = Hash; dd %h
13:06 committable6 Zoffix, ¦2015.12: «Hash %h = {}»
13:06 jnthn m: my %h = Hash
13:06 camelia rakudo-moar 59454b: OUTPUT: «Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash'.  Did you forget a '.new'?␤  in block <unit> at <tmp> line 1␤␤»
13:06 jnthn That's not the best error
13:06 Zoffix mc: my %h = Hash, Hash; dd %h
13:06 committable6 Zoffix, ¦2015.12: «Hash %h = {}»
13:06 Zoffix m: my %h = Hash, Hash; dd %h
13:06 camelia rakudo-moar 59454b: OUTPUT: «Cannot look up attributes in a Hash type object␤  in block <unit> at <tmp> line 1␤␤»
13:07 jnthn I'm not sure it should silently work
13:07 jnthn We tend to treat type objects as individual itmes
13:07 Zoffix Same.
13:07 jnthn *items
13:07 Skarsnik m: my %h = Hash:U;
13:07 camelia rakudo-moar 59454b: OUTPUT: «Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash:U'.  Did you forget a '.new'?␤  in block <unit> at <tmp> line 1␤␤»
13:08 AlexDaniel Zoffix: ticket created: https://github.com/perl6/whateverable/issues/232
13:08 jnthn m: use Test; throws-like { temp $*foo = 42 }, X::Dynamic::NotFound
13:08 camelia rakudo-moar 59454b: OUTPUT: «    1..2␤    # Failed test 'right exception type (X::Dynamic::NotFound)'␤    # at /home/camelia/rakudo-m-inst-1/share/perl6/precomp/EB64813F19220853D8351228D7AA267060D3D577.1504702221.62503/C7/C712FE6969F786C9380D643DF17E85D06868219E line 1␤    ok …»
13:10 Zoffix ooh neat. jnthn++ got a fix for the temp thing :)
13:12 Geth ¦ rakudo/nom: 80a3255b2d | (Jonathan Worthington)++ | src/core/operators.pm
13:12 Geth ¦ rakudo/nom: Make temp and let on a Failure throw it
13:12 Geth ¦ rakudo/nom:
13:12 Geth ¦ rakudo/nom: This means that `temp $*doesn't-exist = 42` will now throw the Failure
13:12 Geth ¦ rakudo/nom: reporting that the dynamic variable does not exist, which is rather
13:12 Geth ¦ rakudo/nom: more helpful than saying that a non-container can't be temp'd. Same
13:12 Geth ¦ rakudo/nom: improvement also done in `let`.
13:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80a3255b2d
13:13 jnthn Yeah, was a bit of LHF for me after all morning in spesh inline/deopt/exception rewrites :)
13:13 Zoffix :)
13:13 Geth ¦ roast: d9b32aa781 | (Jonathan Worthington)++ | S04-blocks-and-statements/temp.t
13:13 Geth ¦ roast: Test to cover RT #132035
13:13 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d9b32aa781
13:13 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132035
13:13 Zoffix TIL `temp` is a prefix operator
13:14 Zoffix m: sub prefix:<meow> { "kitty says $^a".say }; meow meow 42
13:14 camelia rakudo-moar cbce67: OUTPUT: «kitty says 42␤kitty says True␤»
13:14 Zoffix TIL prefix operators can be separated with a space :D
13:15 jnthn :)
13:16 jnthn And now back to 34 pages of RTs instead of 35 :P
13:20 Zoffix \o/
13:21 Skarsnik_ joined #perl6-dev
13:22 |Tux| dogbert17, here are the results from the Dutch test team. Perl6 Douze points
13:22 |Tux| This is Rakudo version 2017.08-85-g80a3255b2 built on MoarVM version 2017.08.1-128-gde6dceda
13:22 |Tux| csv-This is Rakudo version 2017.08-85-g80a3255b2 built on MoarVM version 2017.08.1-128-gde6dceda
13:22 |Tux| csv-ip5xs        1.273 -  1.298
13:22 |Tux| test             9.594 -  9.714
13:22 |Tux| test-t           3.422 -  3.452
13:22 |Tux| csv-parser      10.740 - 10.881
13:22 |Tux| ip5xs        1.273 -  1.298
13:22 |Tux| test             9.594 -  9.714
13:22 |Tux| test-t           3.422 -  3.452
13:22 |Tux| csv-parser      10.740 - 10.881
13:22 |Tux| This is Rakudo version 2017.08-85-g80a3255b2 built on MoarVM version 2017.08.1-128-gde6dceda
13:22 |Tux| csv-ip5xs        1.273 -  1.298
13:22 |Tux| test             9.594 -  9.714
13:22 |Tux| test-t           3.422 -  3.452
13:22 |Tux| csv-parser      10.740 - 10.881
13:22 |Tux| (bouncing mouse buttons)--
13:23 AlexDaniel squashable6: status
13:23 squashable6 AlexDaniel, The date for the next SQUASHathon is not set
13:23 Zoffix Appveyors failing. t\04-nativecall\21-callback-other-thread.t (Wstat: 256 Tests: 0 Failed: 0)
13:23 Zoffix Non-zero exit status: 1
13:23 AlexDaniel how so :o
13:23 Zoffix Parse errors: Bad plan.  You planned 9 tests but ran 0.
13:23 Zoffix NMAKE : fatal error U1077: 'C:\strawberry\perl\bin\perl.exe' : return code '0x1'
13:23 Zoffix Stop.
13:23 Zoffix https://ci.appveyor.com/project/rakudo/rakudo/build/1.0.38/job/518292qt352uy35l
13:25 squashable6 joined #perl6-dev
13:25 AlexDaniel squashable6: status
13:25 squashable6 AlexDaniel, Next SQUASHathon in 29 days and ≈20 hours (2017-10-07 UTC-12⌁UTC+14)
13:25 AlexDaniel ↑ this squashathon will be about rakudo
13:26 AlexDaniel so maybe getting it to 34 pages at least is a worthy goal :)
13:26 AlexDaniel by the way, please add LHF tags if you see something easy
13:26 Zoffix Would be neat to go through tickets and pre-mark some LHFs
13:26 AlexDaniel Zoffix: o/
13:27 Zoffix m: Bool.enums.^name.say; Order.enums.^name.say
13:27 camelia rakudo-moar cbce67: OUTPUT: «Hash␤Map␤»
13:27 Zoffix That's an LHF one, but I don't think there's a ticket.,
13:28 Zoffix Instructions for fixing it: https://irclog.perlgeek.de/perl6/2017-09-05#i_15118279
13:28 AlexDaniel Zoffix: RT #132039
13:28 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132039
13:28 Zoffix AlexDaniel++
13:29 * AlexDaniel suspend ????
13:35 nine Zoffix: I think Book++ wants to fix that tomorrow
13:35 Zoffix cool
13:42 Geth ¦ nqp: 79e6453b98 | (Timo Paulssen)++ | src/vm/moar/HLL/Backend.nqp
13:42 Geth ¦ nqp: support the new heapsnapshot API
13:42 Geth ¦ nqp:
13:42 Geth ¦ nqp: No longer returns an object we have to dump ourselves. Instead we
13:42 Geth ¦ nqp: pass a filename at the beginning where snapshots will be stored
13:42 Geth ¦ nqp: immediately, with shared data (strings, types, static frames) appended
13:42 Geth ¦ nqp: at the end.
13:42 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/79e6453b98
13:42 timotimo should have put this up before the bump
13:43 * Zoffix re-bumps
13:49 dogbert17 [Tux]: many thanks :)
13:50 Geth ¦ rakudo/nom: bfee5a1ed5 | (Zoffix Znet)++ | tools/build/NQP_REVISION
13:50 Geth ¦ rakudo/nom: Bump NQP to bring heap analyzer API changes
13:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bfee5a1ed5
13:50 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.08-46-gd016ffd...2017.08-47-g79e6453
13:55 pmurias joined #perl6-dev
13:55 Geth ¦ rakudo/js: 40096821ae | pmurias++ | 2 files
13:55 Geth ¦ rakudo/js: [js] Update to the new way of passing native arguments
13:55 Geth ¦ rakudo/js:
13:55 Geth ¦ rakudo/js: Also bump nqp.
13:55 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/commit/40096821ae
13:55 Geth ¦ rakudo/js: 3a333be14f | pmurias++ | 2 files
13:55 Geth ¦ rakudo/js: [js] Implement nqp::p6typecheckrv
13:55 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/commit/3a333be14f
13:57 Zoffix Noticed I have a blurry spot in my left eye... Wonder if that's due to my eclipse peeking :o
14:00 Zoffix And I made the mistake of googling for possible causes of blurry spots... detached retinas, glaucomas, cataracts... ouch.
14:01 * Zoffix puts on the glasses he's supposed to wear just in case
14:02 timotimo yeah, blurry spots can mean you're going to be blind in a couple ... days? weeks?
14:02 Zoffix :|
14:03 Zoffix For real?
14:03 Zoffix I made an appointment with an eye doctor, but they're all booked out and the soonest I could get was next Tuesday
14:04 timotimo i don't know details
14:04 timotimo i just have "that's serious" stored in my brain
14:05 * Zoffix googles for some other eye doctor that might have free space sooner :|
14:10 travis-ci joined #perl6-dev
14:10 travis-ci NQP build failed. Timo Paulssen 'support the new heapsnapshot API
14:10 travis-ci https://travis-ci.org/perl6/nqp/builds/272488872 https://github.com/perl6/nqp/compare/d016ffd3358c...79e6453b985d
14:10 travis-ci left #perl6-dev
14:12 * dogbert17 had cataracts
14:14 timotimo you got it fixed even though you're not sam's mom?
14:14 bisectable6 joined #perl6-dev
14:14 Zoffix Well, now I'm really worried :| Called another doctor, same story: earliest appointment is Tuesday. I said "does blurry spot mean you gonna go blind in two days". She put me on hold, then told me the doctor will squeeze me in today :o
14:15 Skarsnik_ ^^
14:15 Skarsnik_ good
14:15 timotimo <3
14:15 Zoffix Well, I hope Rakudo's source reads just as nice in braille :o
14:15 masak <3
14:15 timotimo i wish you the best of luck, and that it's actually harmless
14:15 masak Zoffix: you take care of yourself
14:15 masak to everybody: don't be cruel to your eyes. increase the font size.
14:17 dogbert17 Zoffix++ going to see the doc
14:18 robertle joined #perl6-dev
14:18 jnthn Zoffix: Best of luck with if *hug*
14:19 jnthn *with it
14:19 jnthn grr
14:22 Zoffix Thanks.
14:23 timotimo if it's retinal detachment, i believe the surgery you get for that is a rather simple laser treatment
14:24 llfourn joined #perl6-dev
14:31 * timotimo watched the video explanation of glaucoma on the wikipedia
14:43 ilbot3 joined #perl6-dev
14:43 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
14:49 ilbot3 joined #perl6-dev
14:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
15:05 nine Zoffix: it's good you got an appointment ASAP. That said, it may as well just be a bit of dehydration, some low blood pressure or other benign issue. May also be connected to migrane, if you suffer from that.
15:06 jdv79 i got a 15min blind stpo the other day from welding
15:07 jdv79 though y'day i had a bit of tinnitus that came out of nowhere
15:07 jdv79 getting old i guess
15:55 smls joined #perl6-dev
16:13 dogbert2 joined #perl6-dev
16:14 skids joined #perl6-dev
16:24 Zoffix Well, I get to live :)
16:25 Zoffix Just some crap in my eye that will likely stay there forever, but it's benign and no retinas are getting detached :p
16:25 Zoffix doctors++
16:25 mst and that means every time you cry
16:25 dogbert2 Zoffix: does it move
16:26 mst and somebody says "there's something in your eye"
16:26 mst you can say "yeah, it's been there for years but the doctors assure me it's benign"
16:26 mst and hopefully then they'll get so confused they'll let you cry in peace
16:28 Zoffix :)
16:28 Zoffix dogbert2: yeah
16:29 AlexDaniel joined #perl6-dev
16:32 Skarsnik AlexDaniel, your favorite crash also leak memory :(
16:33 Skarsnik probably related
16:34 dogbert2 Zoffix: sounds like 'floater', I have those as well, it's quite common
16:35 dogbert2 *like a
16:35 Zoffix yeah, he said there's coagulation floating arou d
16:36 Zoffix And I was right to worry: the floating crap comes off and can pull the retina and cause detached retina.
16:36 Zoffix (but he checked it out and said its all good)
16:36 geekosaur it cam also grow into a cataract over time, I think
16:37 Zoffix :(
16:39 geekosaur well, they usually don't; floaters are really common. but this is why you should get eye checkups annually
16:49 Zoffix But George Carlin said real men don't go to the doctors unless they're legally dead!
16:51 nine Well, if you talk stereo types, I go with "Pilots are real men!" and pilots get annual checkups...
16:51 nine In fact those checks are a nice side effect of having a license :) Would probably be too lazy to get them otherwise
17:07 dogbert2 we should try to fix harness6 before next release, it's currently broken
17:09 cognominal joined #perl6-dev
17:15 timotimo Zoffix: glad to hear you're not in danger!
17:15 Zoffix :)
17:16 timotimo .o( thank you god for fixing the cataracts of zoffix's mom's son )
17:16 Zoffix Praise the Flying Spaghetti Monster \o/
17:16 * Zoffix doesn't get the cataract reference :)
17:25 timotimo Tim Minchin has a song (and introductionary oration) to that effect
17:26 Zoffix Ah
17:26 timotimo how a man called sam came to him and proved to him the existence and benevolence of god
17:26 timotimo as he gave eyewitness account of his mom being miraculously healed from cataracts that the doctor said would make her go completely blind
17:45 Geth ¦ roast: skids++ created pull request #307: Alter tests to avoid unintended/irrelevant interpolation
17:45 Geth ¦ roast: review: https://github.com/perl6/roast/pull/307
18:13 Geth ¦ nqp/jit_nativecall: 95eb73c681 | (Stefan Seifert)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
18:13 Geth ¦ nqp/jit_nativecall: Map the new nativecallinvokejit OP
18:13 Geth ¦ nqp/jit_nativecall:
18:13 Geth ¦ nqp/jit_nativecall: nativecallbuild now has a return value indicating whether we were able
18:13 Geth ¦ nqp/jit_nativecall: to JIT compile code for the call site
18:13 Geth ¦ nqp/jit_nativecall: review: https://github.com/perl6/nqp/commit/95eb73c681
18:18 Geth ¦ rakudo/jit_nativecall: 8 commits pushed by (Stefan Seifert)++
18:18 Geth ¦ rakudo/jit_nativecall: 71a4ea4a63 | Use the new nativecallinvokejit for calling JITed NC code directly
18:18 Geth ¦ rakudo/jit_nativecall: 1746f76fd2 | Test more integerial return types in NC
18:18 Geth ¦ rakudo/jit_nativecall: d101bf9797 | Test Pointer return values in argless function
18:18 Geth ¦ rakudo/jit_nativecall: 602d467e33 | Test argless native functions returning strings
18:18 Geth ¦ rakudo/jit_nativecall: a96c2b599c | Decont arguments before running JITed native calls
18:18 Geth ¦ rakudo/jit_nativecall: 0d02990930 | Unbox HLL objects passed to JITed native functions
18:18 Geth ¦ rakudo/jit_nativecall: 35797bc5f0 | Give generated native call function bodies a name
18:18 Geth ¦ rakudo/jit_nativecall: 91d4ec995d | Remove unnecessary creation of an extra serialization context
18:18 Geth ¦ rakudo/jit_nativecall: review: https://github.com/rakudo/rakudo/compare/987cd9824f...91d4ec995d
18:20 Geth ¦ nqp: niner++ created pull request #370: Map the new nativecallinvokejit OP
18:20 Geth ¦ nqp: review: https://github.com/perl6/nqp/pull/370
18:21 Geth ¦ rakudo: niner++ created pull request #1151: JIT compile native calls
18:21 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1151
18:23 smls left #perl6-dev
18:45 ugexe moarvm's appveyor is failing because the version of moarvm is too old...?
18:46 ugexe er travis-ci
18:46 jnthn Yeah, that can happen when an NQP bump happens
18:46 jnthn And travis is behind
18:47 jnthn So it tries to build an old MoarVM and test it with HEAD NQP
18:47 jnthn I dunno what we can best do about that
18:48 ugexe ah, i did not see that it builds as well
18:48 ugexe builds nqp^
19:07 ugexe bisect: new=2017.04 old=2017.03 sub c($t is rw, &code) { $t = code($t) }; my $foo = 1; for ^50000 { start { say c( $foo, -> $i { $i + 1 } ); }; }; say $foo;
19:15 timotimo yeah, nqp is the only way we have to test moarvm
19:58 [TuxCM] joined #perl6-dev
20:07 bisectable6 joined #perl6-dev
20:07 committable6 joined #perl6-dev
20:13 committable6 joined #perl6-dev
20:24 travis-ci joined #perl6-dev
20:24 travis-ci Rakudo build passed. pmurias 'Move implementation specific repeat tests from roast to the rakudo repo'
20:24 travis-ci https://travis-ci.org/rakudo/rakudo/builds/272461100 https://github.com/rakudo/rakudo/compare/c39db8789518...35916427b6a4
20:24 travis-ci left #perl6-dev
20:31 japhb buggable: speed :4
20:31 buggable japhb,      ▃▂▁█▅↑▃▃▃▃▃▄▆▇▄▅                              dates: 2017-08-06–2017-09-06
20:31 buggable japhb,      ████████████████                              range: 3.376s–4.925s
20:31 buggable japhb, ▁▂▂  ████████████████▂█▄▃ ▅           ▄            speed: 7% faster
20:31 buggable japhb, ███▆▆████████████████████▇█▃▄▇▅▄▆▇▄▃▂▂██▃▃▂▄▃▂▄▁▂▃
21:19 tadzik this graph is awesome :)
21:20 [Coke] Zoffix++ with the not-detaching-eyeballs.
21:20 yoleaux 16:09Z <samcv> [Coke]: ok i made a change, hopefully this will fix
21:21 [Coke] ... skipping the test is a bandaid, it's not a solution. :|
21:22 [Coke] anyone know why this dies:
21:22 [Coke] m: class utf8 does Blob[uint8] {}
21:22 camelia rakudo-moar bfee5a: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤P6opaque: missing attribute protocol in compose of utf8␤at <tmp>:1␤»
21:22 [Coke] m: class utf8 does Blob[uint8] is repr('VMArray') {}
21:22 camelia rakudo-moar bfee5a: ( no output )
21:23 [Coke] because it was incomplete. got it.
21:33 Geth ¦ rakudo/nom: e7a5880609 | (Elizabeth Mattijsen)++ | src/core/Bool.pm
21:33 Geth ¦ rakudo/nom: Make Bool.enums consistent with Enumeration.enums
21:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7a5880609
21:38 Zoffix lizmat++ beats both BooK and potential SQUASHathoners and fixes the bug the same day it's reported :)
21:38 lizmat well...  it was reported almost 10 hours ago
21:39 lizmat such a simple thing and nobody took the time to follow your script  :-(
21:40 Zoffix :)
21:43 lizmat joined #perl6-dev
21:43 ugexe bisect: new=2017.04 old=2017.03 sub c($t is rw, &code) { $t = code($t) }; my $foo = 1; for ^50000 { start { say c( $foo, -> $i { $i + 1 } ); }; }; say $foo;
21:43 bisectable6 ugexe, Bisecting by exit signal (old=2017.03 new=2017.04). Old exit signal: 0 (None)
21:45 bisectable6 ugexe, bisect log: https://gist.github.com/9be2b3010adcdcc636f3fca2efce93b4
21:45 bisectable6 ugexe, (2017-04-17) https://github.com/rakudo/rakudo/commit/756877e1b47eea47344eb8d9494d0e6449aa6a28
21:57 ugexe my $foo = 0; for ^50000 { start { say $foo++ } }; # is sufficient even
22:02 dogbert2 joined #perl6-dev
22:03 ugexe it also does not happen if you $*OUT = class :: { method print(|) { } };
22:03 ugexe bisect: new=2017.04 old=2017.03 my &*EXIT = sub ($code) { return $code < 40000 ?? 1 ?? 0 }; my $foo = 0; for ^50000 { start { say $foo++ } }; exit $foo;
22:03 bisectable6 ugexe, On both starting points (old=2017.03 new=2017.04) the exit code is 1 and the output is identical as well
22:03 bisectable6 ugexe, Output on both points: «===SORRY!=== Error while compiling /tmp/2FAOWzSIDg␤Unexpected closing bracket␤at /tmp/2FAOWzSIDg:1␤------> $code) { return $code < 40000 ?? 1 ?? 0 ⏏}; my $foo = 0; for ^50000 { start { say»
22:03 timotimo i'm not sure what i should be seeing there?
22:03 ugexe bisect: new=2017.04 old=2017.03 my &*EXIT = sub ($code) { return $code < 40000 ?? 1 !! 0 }; my $foo = 0; for ^50000 { start { say $foo++ } }; exit $foo;
22:04 bisectable6 ugexe, Bisecting by exit signal (old=2017.03 new=2017.04). Old exit signal: 0 (None)
22:04 ugexe timotimo: the `say` makes it deadlock
22:05 timotimo ah, i do believe we lock io handles
22:05 bisectable6 ugexe, bisect log: https://gist.github.com/3cafa3d508a3a721e4be52244bb7aac0
22:05 bisectable6 ugexe, (2017-04-17) https://github.com/rakudo/rakudo/commit/756877e1b47eea47344eb8d9494d0e6449aa6a28
22:05 timotimo i wonder how the deadlock exactly happens
22:07 ugexe it doesnt happen without the ++ either
22:07 ugexe only thing i could guess is thread exhaustion + GC somehow
22:07 timotimo i wonder if we ever need to acquire a lock on an io handle during gc
22:07 timotimo like in gc_free
22:08 jnthn I'm not sure how thread exhaustion could do it, since there's no dependencies anywhere
22:09 jnthn gdb and looking at the stack traces will likely be very informative
22:09 ugexe then theres hope i can still track it down lol
22:13 jnthn It'll probably be a facepalm one once finally found...
22:17 Zoffix huh... t/fudgeandrun broke?
22:17 Zoffix $ t/fudgeandrun t/spec/S32-io/lock.t
22:17 Zoffix Could not run t/spec/fudgeall
22:18 jnthn huh, I always did it as `make t/spec/S32-io/lock.t` :)
22:18 Zoffix full error: https://gist.github.com/zoffixznet/68455f9694f3ece8cac1462158bc75a6
22:19 jnthn I didn't know about the t/fudgeandrun way :)
22:19 Zoffix jnthn: I like the fudge way because if you make some accidental changes it doesn't rebuild everything :)
22:19 Zoffix (make would)
22:19 jnthn I tend to consider that a feature; it stops me committing my accidental change that breaks the test again... ;-)
22:20 Zoffix :)
22:20 jnthn Weird error
22:21 jnthn Works for me on 2017.07-213-gfcf61f7
22:21 jnthn (That's just what happens to be built inside my dev VM on my home box)
22:27 ugexe https://gist.github.com/ugexe/cf2350b4bd5ed58e3a8f6e049df1432f (last 20 lines of gdb bt  and strace output) looks like maybe gc?
22:28 timotimo would be nice to have more debug symbols so we can figure out what lines are involved
22:28 timotimo oh
22:28 timotimo and get the bt for all threads
22:29 timotimo "thread apply all bt"
22:29 ugexe ah, i was just getting the gc thread eh?
22:30 Zoffix BAH
22:30 timotimo well, all threads participate in GC, except for ones explicitly marked as "blocked"
22:30 Zoffix Found the cause. The extra debug output makes the fudger run the wrong command :P
22:30 timotimo Zoffix: ooh, i know that feeling :S
22:30 timotimo we need more than just stdout and stderr, we also need stdspam
22:31 Zoffix :D
22:33 ugexe https://gist.github.com/ugexe/cf2350b4bd5ed58e3a8f6e049df1432f#file-gdb-all-threads-txt (all threads)
22:33 ugexe i suppose I need to try and learn how to build/debug with symbols
22:34 timotimo just need to be in the moarvm folder and re-run Configure.pl with the arguments used before (can be found in Makefile i believe) and also --debug=3
22:34 timotimo and it can help to MVM_JIT_DISABLE=1 so that the "??" stack frames aren't there
22:35 Geth ¦ roast: ff0c277084 | (Zoffix Znet)++ | fudgeandrun
22:35 Geth ¦ roast: Make impl identifier code a bit smarter
22:35 Geth ¦ roast:
22:35 Geth ¦ roast: So if we produce some debug output that dumps extra lines, they
22:35 Geth ¦ roast: don't become part of the command we run.
22:35 Geth ¦ roast: review: https://github.com/perl6/roast/commit/ff0c277084
22:37 ugexe so i build with debug symbols, and this adds additional information to the gdb output?
22:38 timotimo aye
22:38 timotimo needs a full make and make install, though
22:38 timotimo er
22:38 timotimo only moar, though
22:39 timotimo not nqp or rakudo, they can stay untouched
22:40 timotimo sorry, i'm a little sick + distracted, i hope i'm not causing frustration
23:02 BenGoldberg joined #perl6-dev
23:10 jnthn I think thread 5 is the guilty party
23:11 jnthn Unless it's marked itself GC blocked
23:12 jnthn Which ain't happening here: https://github.com/MoarVM/MoarVM/blob/master/src/io/io.c#L12
23:13 jnthn Note that on fixing that we must also go through all of the things calling acquire_mutex, and MVMROOT as appropriate
23:13 jnthn Since the added calls to gc block/unblock can trigger joining a GC run
23:14 jnthn Sleep time now, but hope that's enough hints in the rightish direction for a fix...
23:14 jnthn back tomorrow o/
23:15 MasterDuke jnthn: btw, just reminding about https://github.com/MoarVM/MoarVM/pull/631 and https://github.com/MoarVM/MoarVM/pull/632 , but no hurry or anything
23:16 timotimo i thought the PRs looked good, but i have no sensible answer to the relationship between DEFAULT-READ-ELEMS and async i/o
23:17 MasterDuke neither do i
23:17 timotimo (also i haven't tested the code in the PRs, but you have)
23:18 timotimo i'm heading to bed, night!
23:25 ugexe this seems to be the same problem as https://rt.perl.org/Ticket/Display.html?id=132042
23:40 AlexDaniel joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary