Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-04-17

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

All times shown according to UTC.

Time Nick Message
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:15 Geth ¦ nqp/master: 5 commits pushed by TimToady++
02:15 Geth ¦ nqp/master: 56b7f7b2bc | bootstrap jvm to get 'my constant Foo := Bar'
02:15 Geth ¦ nqp/master: 694725e31c | Merge commit '0c53231dd9930d2cbaea6d03d2655d6d7b322476' into uncursej
02:15 Geth ¦ nqp/master: 97af4c5d13 | Merge commit '2a31c20393225f0c6ac1a21127f73ddae8ec0b5a' into uncursej
02:15 Geth ¦ nqp/master: 591a5ba5b8 | bootstrap temp shim to find lost NQPCursor
02:15 Geth ¦ nqp/master: 9aa9c9e53f | Merge branch 'uncursej'
02:15 Geth ¦ nqp/master: review: https://github.com/perl6/nqp/compare/9063d0ec3f...9aa9c9e53f
02:18 TimToady that unbreaks nqp build on jvm, which I shoulda checked first...
02:49 BenGoldberg m: sub circumfix:<< ⟅ ⟆ >>(\_) { _.Bag }; dd ⟅ 1, 2, 3 ⟆ # ← samcv
02:49 camelia rakudo-moar 0b5a41: OUTPUT: «(1=>1,3=>1,2=>1).Bag␤»
03:32 TimToady hmm, the d setting doesn't compile under jvm, gets what appears to be a recursive exception
03:32 TimToady that's *probably* not my fault...
03:41 TimToady well, a job for tomorrow, if no actual jvm ex-spurt beats me to it
05:09 astj joined #perl6-dev
05:21 geekosaur joined #perl6-dev
07:25 lizmat Files=1192, Tests=56772, 204 wallclock secs (12.20 usr  4.71 sys + 1194.43 cusr 117.39 csys = 1328.73 CPU)
07:37 nine RAKUDO_RERESOLVE_DEPENDENCIES=0 or RAKUDO_SKIP_RERESOLVING_DEPENDENCIES=1?
07:37 nine Trying to avoid negated booleans here, but have to admit that setting an environment option to 0 is kinda unusual
07:54 nine Zoffix: .child is now the safer and thus slower version of .add, isn't it? So I'd argue that we should still use .child in CompUnit::Repository::Installation for better performance. At least where we control the added path part (e.g. it's a constant string).
08:19 [Tux] This is Rakudo version 2017.03-292-g0b5a41ba8 built on MoarVM version 2017.03-138-g40881cdb
08:19 [Tux] csv-ip5xs        3.024
08:19 [Tux] test            12.890
08:19 [Tux] test-t           5.122 - 5.137
08:19 [Tux] csv-parser      13.013
08:38 RabidGravy joined #perl6-dev
10:04 nine Damn, this sucks. I've found another major stumbling block. my constant $p5helper = %?RESOURCES<libraries/p5helper>.Str; in Inline::Perl5. A compile time constant pointing at the shared library for the NativeCall declarations. That's a path name. So when we build the module in a staging directory, that path will point to that staging dirctory and not to the directory where the shared lib will be installed
10:04 nine to.
10:09 jnthn I guess using pass-a-sub-to-the-native-trait approach would make it late bound enough
10:10 jnthn But yeah, I've seen plenty of modules that do the very same thing
10:10 nine Can't do that in this case as I need NativeCall at compile time to determine Perl 5's int size
10:13 jnthn ah, ok
10:20 nine However, the only place where the library gets loaded is MVM_nativecall_build which is only called by role Native's !setup. So I assume that even for precompiled modules !setup is always called at runtime as well. This may give us a chance to influence the path.
10:20 nine Of course this will not help for any other %?RESOURCES :-/
10:24 timotimo s: Failure.new(), 'Exception', \()
10:24 SourceBaby timotimo, Something's wrong: ␤ERR: Could not find candidate that can do \()␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤  in block <unit> at -e line 6␤␤
10:24 timotimo s: Failure.new(), 'Exception', \(Failure:D:)
10:24 SourceBaby timotimo, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Unexpected closing bracket␤at -e:6␤------> Failure.new(), 'Exception', \(Failure:D:<HERE>) )[1];␤
10:25 timotimo s: Failure.new(), 'exception', \()
10:25 SourceBaby timotimo, Sauce is at https://github.com/rakudo/rakudo/blob/0b5a41b/tting.moarvm#L1
10:25 timotimo lol. wat.
10:25 timotimo that's not correct :D
10:27 nine The only way around that I can see is to defer creating a path as long as possible, i.e. %?RESOURCES will give you a path like object that goes through the repo chain every time. This isn't helped by NativeCall accepting only Str, Callable or List though.
10:28 timotimo but a Callable can do *anything*! :)
10:28 nine Well maybe a Callable (for NativeCall) that overrides .Str (for path concatenation, printing, etc.)
10:36 Ven joined #perl6-dev
10:53 nine Btw. NativeCall not accepting IO::Path for the library path does not show off our best side.
10:54 nine ...and is so easy to fix that I really wonder why no one (especially me) has bothered so far.
10:55 sasheto joined #perl6-dev
10:55 timotimo oh, right
10:56 timotimo quickly, before the release happens
10:56 timotimo make everything awesome
10:57 nine Yeah, I've got some very experimental, last minute commits to push ;)
10:58 timotimo when IO::Path {
10:59 timotimo return $lib.absolute();
10:59 timotimo just that, right?
10:59 timotimo in guess_library_name?
10:59 nine https://gist.github.com/niner/7bcd6145c3209d91c211c2f2e453f5db
10:59 timotimo oh
10:59 timotimo also needs to take IO::Path in the signature of the role
11:00 timotimo yeah, that's the code i cam up with as well
11:00 timotimo you wanna commit it?
11:01 nine I've got too many half baked changes to run a spec test right now
11:04 timotimo OK, i'll do it
11:05 jnthn YAMLish fails to install against Rakudo HEAD :(
11:05 jnthn All tests fail with
11:05 jnthn Too few positionals passed; expected 2 arguments but got 1 in regex list at /home/jnthn/edument/rmtly/.panda-work/1492427079_1/lib/YAMLish.pm6 (YAMLish) line 145
11:06 timotimo huh, something from the uncurse branch?
11:06 jnthn I fear so
11:06 jnthn If Match and Cursor got unified, and you have a regex called list, won't that end up breaking @$/ or $/.list and so forth?
11:06 timotimo could be, aye
11:07 timotimo we ought to put a list of problematic regex names up
11:07 jnthn m: grammar G { token TOP { (<list>) }; token list { .+ } }; say G.parse('xxx')
11:07 camelia rakudo-moar 0b5a41: OUTPUT: «(timeout)»
11:08 jnthn o.O
11:08 jnthn star: grammar G { token TOP { (<list>) }; token list { .+ } }; say G.parse('xxx')
11:08 camelia star-m 2016.10: OUTPUT: «「xxx」␤ 0 => 「xxx」␤  list => 「xxx」␤»
11:08 jnthn *sigh*
11:08 jnthn This is a pretty bad regression.
11:09 jnthn Anyway, I don't have time for this now, so will just go back to running older Rakudo/NQP versions
11:10 timotimo All tests successful.
11:11 moritz http://nikic.github.io/2017/04/14/PHP-7-Virtual-machine.html "Exceptions are the root of all evil." :-)
11:12 nine Maybe we should get back into the habit of running emmentaler regularly
11:12 jnthn Indeed
11:13 jnthn I'd imagine YAMLish is pretty widely used
11:13 jnthn Though hopefully this is easy enough to work around
11:18 llfourn fwiw my very grammar involved compiler (https://github.com/spitsh/spitsh) is broken too after uncurse got merged.
11:19 llfourn haven't had had time to debug it yet but it seems on the smallest possible snippet it timed out like the above.
11:21 timotimo jnthn: i just pushed a fix to YAMLish
11:21 jnthn timotimo: Nice, thanks :)
11:24 timotimo leont gave me commit access. i think this situation warrants pushing to master
11:24 timotimo bumped version, too, now
11:25 jnthn Cool, will try that later today
11:25 jnthn lunch; bbl
11:31 nine Of course if I declare a class in CompUnit/Repository/Staging.pm we'll end up depending on CompUnit::Repository::Staging again...
11:35 nine Ah, I should probably move that thing into Distribution::Resources anyway as that's where we already have an indirection to avoid depending on the repo.
11:39 Zoffix nine: no, .add is an alias for .child. .child-secure is the slow secure version
11:41 timotimo i don't actually see the secureness inside child-secure :o
11:41 timotimo aaah it's in resolve
11:41 Zoffix timotimo: what's not secure about it?
11:42 timotimo i was looking for the magic for combiners
11:43 nine Zoffix: but why do we have .add if it's just the same as .child?
11:43 nine I thought the goal was to encourage people to use the secure one by making its name short and simple
11:43 timotimo we can't just re-use child because now child-secure has very different semantics
11:43 Zoffix nine: because .child("../some-other-path") looks stupid
11:43 timotimo i.e. it can fail when the folder doesn't exist
11:44 timotimo or when it's not an actual child, etc etc
11:44 Zoffix nine: why would .add need to be secure? The secureness is about containing a filesystem object within another path.
11:45 Zoffix .add is about concatenating any path fragment
11:46 Zoffix nine: if this were designed from scratch, there wouldn't be a .child-secure. .child would be it. But there's too much ecosystem use to just change its functionality + its securiness would depend on whether the user is using a recent enough compilert
11:49 timotimo hm, let's make a class IO::Pαth that has the right .child
11:49 nine The whole situation sucks :/ How about warning about insecure paths with a pointer to .add for a couple of months before making .child strict?
11:50 timotimo and how do you get strilt .child then?
11:50 timotimo strict*
11:50 nine Make it do whatever .child-secure does now?
11:51 timotimo er
11:51 timotimo no
11:51 timotimo you just said .child should warn about insecure paths
11:51 nine for a transition period
11:51 timotimo so you can't get secure .child at all until the transition period is over?
11:51 nine Yes
11:51 timotimo that's also terrible
11:52 nine 3 years from now it will be considerably less terrible than having a .child that just accepts everything and some .child-secure that no one uses.
11:52 Zoffix TBH, I don't see too much suckiness. The "secure" in the name is also a hint to the reader that this part of code is sensitive and shouldn't be changed willy-nilly
11:53 nine Zoffix: that's if the author actually thought about security
11:54 nine We require a pragma for even allowing usage of EVAL but the simplest way to concatenate paths will happily take anything
11:58 Zoffix nine: OK, let's remove .child-secure. And make .child be it in 6.d. By that time we can send enough PRs to the ecosystem to swap to .add where it matters, and the safety can be guaranted by just making the program require 6.d-or-newer compiers.
11:59 timotimo that doesn't sound terrible
12:12 robertle joined #perl6-dev
12:18 Zoffix nine: thoughts?
12:19 Zoffix .child won't warn in the meanwhile. The detection for insecureness is probably a gazillion times slower, since it has to resolve two paths and do string compare
12:19 timotimo oh yeah, it's really really slow
12:19 pmurias joined #perl6-dev
12:20 nine Sounds ok.
12:24 astj joined #perl6-dev
12:25 Zoffix Though you could still get owned if your IO::Path was created by 6.c code :/
12:26 Zoffix oh wait, no; we'll just replace it, not augment it from 6.d
12:31 Zoffix NeuralAnomaly: status
12:31 NeuralAnomaly Zoffix, [✘] Next release is in the past. Since last release, there are 32 new still-open tickets (6 unreviewed and 1 blockers) and 58 unreviewed commits. See http://perl6.fail/release/stats for details
12:36 perlpilot joined #perl6-dev
13:18 Geth ¦ roast: 458500d1f4 | (Zoffix Znet)++ | fudge
13:18 Geth ¦ roast: Teach fudger to recognise new Test::Util routines
13:18 Geth ¦ roast: review: https://github.com/perl6/roast/commit/458500d1f4
13:19 MasterDuke_ joined #perl6-dev
13:21 Geth ¦ roast: 7a063b512f | (Zoffix Znet)++ | 2 files
13:21 Geth ¦ roast: [io grant] Fudge .child-secure tests
13:21 Geth ¦ roast:
13:21 Geth ¦ roast: We'll make .child behave like .child-secure later
13:21 Geth ¦ roast:
13:21 Geth ¦ roast: Discussion: https://irclog.perlgeek.de/perl6-dev/2017-04-17#i_14439386
13:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/7a063b512f
13:21 Geth ¦ rakudo/nom: a98b285b0a | (Zoffix Znet)++ | src/core/IO/Path.pm
13:21 Geth ¦ rakudo/nom: [io grant] Remove IO::Path.child-secure
13:21 Geth ¦ rakudo/nom:
13:21 Geth ¦ rakudo/nom: We'll make .child behave like .child-secure later
13:21 Geth ¦ rakudo/nom:
13:21 Geth ¦ rakudo/nom: Discussion: https://irclog.perlgeek.de/perl6-dev/2017-04-17#i_14439386
13:21 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a98b285b0a
13:41 * Zoffix decides to not add IO::Path.sibling after all
13:41 Zoffix Oh
13:41 Zoffix Nevermind. My original take on it was just dumb. There's a sane way to implement it :}
13:56 Geth ¦ roast: dcedcc2d27 | (Zoffix Znet)++ | S32-io/null-char.t
13:56 Geth ¦ roast: No need to todo a test
13:56 Geth ¦ roast:
13:56 Geth ¦ roast: Thinko with the .child-secure swap... current .child throws on nuls anyway.
13:56 Geth ¦ roast: review: https://github.com/perl6/roast/commit/dcedcc2d27
13:56 astj joined #perl6-dev
14:04 Zoffix "Stage parse      :  56.828"
14:04 Zoffix Haven't seen it to be less than a minute for ages :)
14:18 Zoffix ZOFFLOP: t/spec/S10-packages/precompilation.t
14:19 Geth ¦ rakudo/nom: 8bacad8f84 | (Zoffix Znet)++ | src/core/IO/Path.pm
14:19 Geth ¦ rakudo/nom: [io grant] Implement IO::Path.sibling
14:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8bacad8f84
14:20 Geth ¦ roast: 3b36d4db0d | (Zoffix Znet)++ | S32-io/io-path.t
14:20 Geth ¦ roast: [io grant] Test IO::Path.sibling
14:20 Geth ¦ roast:
14:20 Geth ¦ roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/8bacad8f84
14:20 Geth ¦ roast: review: https://github.com/perl6/roast/commit/3b36d4db0d
14:22 Geth ¦ rakudo/nom: 9984080413 | (Timo Paulssen)++ | lib/NativeCall.pm6
14:22 Geth ¦ rakudo/nom: allow IO::Path to be passed for "is native"
14:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9984080413
14:22 timotimo i totally forgot to push the thing i did
14:32 Zoffix I think I'm done with all the IO stuff I wanted to commit pre-release.
14:49 Zoffix nqp-j fails one test file. Any idea how to fix it? https://gist.github.com/zoffixznet/aff64cf03f2b5e5e9e3216ce7c54b48b
14:49 Zoffix t/nqp/044-try-catch.t .. 1/54 Unhandled exception; category = 4224
14:50 Zoffix More verbose output: https://gist.github.com/zoffixznet/3b2815e55e908ca5427e8a03094c9159
14:51 Zoffix Oh, it's a new test.
14:54 Zoffix man, I hate that Chrome doesn't have an option to make search case-sensitive :/
14:58 Geth ¦ nqp: 0994e33818 | (Zoffix Znet)++ | t/nqp/044-try-catch.t
14:58 Geth ¦ nqp: Temporarily fudge a newly-added test
14:58 Geth ¦ nqp:
14:58 Geth ¦ nqp: - Fails on JVM
14:58 Geth ¦ nqp: - Fudge for release, to keep test suite clean
14:58 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/0994e33818
15:00 Geth ¦ rakudo/nom: 28a6e80ff3 | (Pawel Murias)++ | 5 files
15:00 Geth ¦ rakudo/nom: Make the dynamic method default to False instead of Nil
15:00 Geth ¦ rakudo/nom:
15:00 Geth ¦ rakudo/nom: Make the dynamic return False instead of Nil on Scalar/Hash/Array
15:00 Geth ¦ rakudo/nom: return False instead of Nil when the container descriptor is missing.
15:00 Geth ¦ rakudo/nom:
15:00 Geth ¦ rakudo/nom: %?LANG is installed with container descriptor explicitly marked
15:00 Geth ¦ rakudo/nom: as dynamic for EVAL to work.
15:00 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28a6e80ff3
15:03 pmurias It would be great if someone reviewed the 28a6e80ff3 commit ;)
15:06 Zoffix code reads good; tough I don't know much about World stuff.
15:09 Zoffix heh
15:09 * Zoffix sees people blaming non-IO stuff on IO
15:09 Zoffix I guess this is like precomp was the prime suspect when we were doing precomp changes :D
15:11 * japhb crawls back from vacation
15:11 japhb Looks like things were quite busy while I was gone.  :-)
15:12 Zoffix Yup :)
15:12 dogbert2 joined #perl6-dev
15:14 Geth ¦ rakudo/nom: 1867099978 | (Zoffix Znet)++ | src/core/Scalar.pm
15:14 Geth ¦ rakudo/nom: Use nqp::p6bool instead of so
15:14 Geth ¦ rakudo/nom:
15:14 Geth ¦ rakudo/nom: More consistent with what we do elsewhere and also ~20x faster.
15:14 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1867099978
15:14 japhb FWIW, the IO stuff I care about of late is below the Rakudo level -- I can barely wait for Uni input to be implemented in MoarVM.  :-)
15:15 japhb Not that I haven't been extremely happy to see all the fixes you've been doing, Zoffix.  :-)
15:15 timotimo japhb: you mean decoding utf8 without doing any normalization, yeah?
15:16 nine OMG I think I finally got it to work :)
15:16 timotimo fantastic!
15:16 nine Currently running spectest with Inline::Perl5 installed from an .rpm file
15:17 nine It is using the RAKUDO_RERESOLVE_DEPENDENCIES=0 workaround but that's still a hell of a lot better than not being able to deploy at all
15:19 timotimo i don't know what resolve dependencies = 0 does :(
15:20 nine timotimo: https://irclog.perlgeek.de/perl6-dev/2017-04-16#i_14436390
15:22 nine timotimo: does that make sense?
15:26 Geth ¦ rakudo/nom: 0dbe451bbc | (Stefan Seifert)++ | 2 files
15:26 Geth ¦ rakudo/nom: Avoid costly EVALs when we don't have to.
15:26 Geth ¦ rakudo/nom:
15:26 Geth ¦ rakudo/nom: No need to deserialize a dependency specification just to serialize
15:26 Geth ¦ rakudo/nom: (stringify) it again.
15:26 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0dbe451bbc
15:27 timotimo i'm not 100% sure, but i believe you're doing the right thing
15:28 nine Well if I ever find out how the EVAL pulls in the totaly unrelated SC, we can get rid of it again. For now it just feels good to make progress on this :)
15:33 Geth ¦ rakudo/nom: 2694f5d16d | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationStore/File.pm
15:33 Geth ¦ rakudo/nom: Unfatalize failure to store a repo-id in a precomp store
15:33 Geth ¦ rakudo/nom:
15:33 Geth ¦ rakudo/nom: The repo-id is the identity (the complete state) of the whole repository
15:33 Geth ¦ rakudo/nom: chain at the time when we resolved the dependencies for a precomp file. We
15:33 Geth ¦ rakudo/nom: store this repo-id alongside the precomp file in the precomp store. When we
15:33 Geth ¦ rakudo/nom: load a precomp file, we can cheaply check if this repo-id is the same as the
15:33 Geth ¦ rakudo/nom: current repository chain's. In this case we can be sure that we can still
15:33 Geth ¦ rakudo/nom: <…commit message has 6 more lines…>
15:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2694f5d16d
15:37 Zoffix c: 2017.03 dd IO::Path.abspath
15:37 committable6 Zoffix, ¦2017.03: «IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method FALLBACK at src/RESTRICTED.setting line 31␤  in block <unit> at /tmp/FTtpN8htqN line 1␤ «exit code = 1»»
15:38 Zoffix cmon bruh
15:39 Zoffix m: class { has $!x; method y { $!x } }.y
15:39 camelia rakudo-moar 0dbe45: OUTPUT: «Cannot look up attributes in a <anon|65349248> type object␤  in method y at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
15:39 Zoffix Hm, OK.
15:39 * Zoffix wonders where ===SORRY!===
15:39 Zoffix Cannot resolve caller absolute(IO::Path: )
15:39 Zoffix is coming from.
15:39 Zoffix in META6::bin's test suite
15:40 Geth ¦ rakudo/nom: 31cf7d5cfd | (Stefan Seifert)++ | tools/install-dist.pl
15:40 Geth ¦ rakudo/nom: Fix "No such method 'child'" in install-dist.pl
15:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31cf7d5cfd
15:41 Zoffix Ahh
15:41 Zoffix The file tests. Glad I caugh this before release
15:45 timotimo huh, is absolute not the right method name on an IO::Path?
15:45 Zoffix :U vs :D
15:46 timotimo ah
15:47 Zoffix hm, though looking more at it, in the past it would've been throwing too, except with "cannot lookup attributes in type object"
15:47 lizmat joined #perl6-dev
15:48 Zoffix c: 2017.03 dd ".".IO.WHAT.abspath
15:48 committable6 Zoffix, ¦2017.03: «Cannot look up attributes in a IO::Path type object␤  in block <unit> at /tmp/h2kNVLZ13x line 1␤ «exit code = 1»»
15:48 Zoffix c: 2017.03 dd ".".IO.WHAT.e
15:48 committable6 Zoffix, ¦2017.03: «Cannot look up attributes in a IO::Path type object␤  in block <unit> at /tmp/JipE5iNybQ line 1␤ «exit code = 1»»
15:48 Zoffix yeah
15:49 * Zoffix builds 2017.03 to try META6::bin's tests there
15:51 nine "An exception occurred while evaluating a constant" now that's an extraordinarily unhelpful error
15:51 jnthn How so?
15:51 Zoffix m: constant foo = die
15:51 camelia rakudo-moar 31cf7d: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤An exception occurred while evaluating a constant␤at <tmp>:1␤Exception details:␤  Died␤    in block  at <tmp> line 1␤␤»
15:52 jnthn It includes the details of the exception
15:52 nine Except when it doesn't :)
15:52 Zoffix :D
15:52 nine https://gist.github.com/niner/68a5cd5ef43bb3c3786f5136ee080170
15:52 dogbert17 joined #perl6-dev
15:53 jnthn Maybe that's due to the --ll-exception?
15:53 nine Indeed! jnthn++
15:53 jnthn m: EVAL 'constant foo = die'; CATCH { default { .Str.say } }
15:53 camelia rakudo-moar 31cf7d: OUTPUT: «An exception occurred while evaluating a constant␤»
15:53 jnthn m: EVAL 'constant foo = die'; CATCH { default { .gist.say } }
15:53 camelia rakudo-moar 31cf7d: OUTPUT: «5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤An exception occurred while evaluating a constant␤at /home/camelia/EVAL_0:1␤Exception details:␤  Died␤    in block  at EVAL_0 line 1␤␤»
15:54 jnthn Yeah, I think we just .Str it with --ll-exception
15:54 jnthn But the useful bit is in the .gist
15:54 Zoffix oooh
15:54 jnthn m: EVAL 'constant foo = die'; CATCH { default { say .^methods } }
15:54 camelia rakudo-moar 31cf7d: OUTPUT: «(message sorry_heading SET_FILE_LINE gist use-case exception filename pos line column modules is-compile-time pre post highexpect backtrace throw resume die is-compile-time gist Str reset-backtrace vault-backtrace rethrow resumable fail)␤»
15:54 Zoffix "===SORRY!===
15:54 Zoffix Could not find META6"
15:54 Zoffix Then I'm really glad I caught this before release :o
15:54 jnthn m: EVAL 'constant foo = die'; CATCH { default { say .exception } }
15:54 camelia rakudo-moar 31cf7d: OUTPUT: «Died␤  in block  at EVAL_0 line 1␤␤»
15:55 jnthn And the .exception property has the original exception
15:56 Zoffix oh nm, it's not it. rakudobrew just doesn't retain modules on version switch.
16:12 pmurias jnthn: I made Scalar.dynamic return False when the descriptor is not set
16:16 Geth ¦ rakudo/nom: 5b862a3256 | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm
16:16 Geth ¦ rakudo/nom: Workaround for dependency resolver pulling in the Staging repo
16:16 Geth ¦ rakudo/nom:
16:16 Geth ¦ rakudo/nom: Dependency re-resolving currently uses EVAL to unserialize a dependency
16:16 Geth ¦ rakudo/nom: specification. This EVAL causes a reference to the serialization context
16:16 Geth ¦ rakudo/nom: containing the Staging repository to be included in the precomp file.
16:16 Geth ¦ rakudo/nom:
16:16 Geth ¦ rakudo/nom: The Staging repo is for when you want to precompile modules with an
16:16 Geth ¦ rakudo/nom: <…commit message has 15 more lines…>
16:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5b862a3256
16:16 Geth ¦ rakudo/nom: d4d6a99764 | (Stefan Seifert)++ | src/core/Distribution.pm
16:16 Geth ¦ rakudo/nom: Cope with changes to repo paths between compile and run time
16:16 Geth ¦ rakudo/nom:
16:16 Geth ¦ rakudo/nom: When installing a module via a Staging repo, at compile time, we will find
16:16 Geth ¦ rakudo/nom: the resources in the staging repo's path while later after installation we'll
16:16 Geth ¦ rakudo/nom: find it in the target repo's path. Thus we need to defer creating the path
16:16 Geth ¦ rakudo/nom: as long as possible. We do this by returning an object that does Callable
16:16 Geth ¦ rakudo/nom: (which NativeCall will run) but also stringifies to the path for non-NativeCall
16:16 Geth ¦ rakudo/nom: users and backwards compatibility.
16:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d4d6a99764
16:16 Geth ¦ rakudo/nom: 2a0a2d3d74 | (Stefan Seifert)++ | 2 files
16:16 Geth ¦ rakudo/nom: Make sure we load resources from the Staging repo, too.
16:16 Geth ¦ rakudo/nom:
16:16 Geth ¦ rakudo/nom: Now that resources are loaded from a repo found via name resolution rather
16:16 Geth ¦ rakudo/nom: than direct path access, we need to make sure the Staging repo is found
16:16 Geth ¦ rakudo/nom: for that name, instead of the target repo.
16:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a0a2d3d74
16:16 nine Ok, that's all I need for creating RPMs :)
16:17 Zoffix k, it wasn't a Rakudo bug. META6::bin is just broken
16:21 Zoffix This assumes it'll always find something: https://github.com/gfldex/perl6-meta6-bin/blob/master/lib/META6/bin.pm6#L55  so this part ends up calling Nil.IO.e, which fails either with "cannot attributes" or "no absolute on :U" error, depending on Rakudo's version: https://github.com/gfldex/perl6-meta6-bin/blob/master/lib/META6/bin.pm6#L474
16:24 Zoffix And even if you fix the second issue, you get two more bugs
16:28 Zoffix Sent a PR: https://github.com/gfldex/perl6-meta6-bin/pull/6
16:28 Zoffix though I suspect gfldex is still part of bdfoy's club of Ignore Zoffix
16:42 Zoffix ZOFVM: Files=1241, Tests=133744, 110 wallclock secs (21.64 usr  2.83 sys + 2297.75 cusr 134.80 csys = 2457.02 CPU)
16:43 Geth ¦ rakudo/nom: 7112a08488 | (Zoffix Znet)++ | src/core/IO/Path.pm
16:43 Geth ¦ rakudo/nom: [io grant] Add :D on invocant for file tests
16:43 Geth ¦ rakudo/nom:
16:43 Geth ¦ rakudo/nom: This adds no new behaviour, just a better error message, since
16:43 Geth ¦ rakudo/nom: previously we failed with either "can't look up attributes in type
16:43 Geth ¦ rakudo/nom: object" or "no candidate for .absolute" failures.
16:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7112a08488
16:44 Zoffix gs
16:44 Zoffix oops
16:44 TimToady I guess you'll need to pick a new root password :P
16:44 Zoffix heh
16:44 Zoffix nah, gs = git status
16:45 TimToady don't have that one, but I have gd, gb, gco, etc...
16:46 TimToady and of course gp='git pull --rebase'
16:48 timotimo ah the good old general practitioner
16:48 Zoffix I have gs, gd = 'git diff --ws-error-highlight=new,old', gp = git push; gr = 'git pull'; grr = git pull --rebase; and GRRR = 'git reset --hard; git pull'
16:48 dogbert17 m: grammar G { token TOP { (<list>) }; token list { .+ } }; say G.parse('xxx') # from jnthn
16:49 Zoffix and R and S that sync uncommited rakudo and roast changes with my google VM
16:49 camelia rakudo-moar 2a0a2d: OUTPUT: «(timeout)»
16:49 TimToady for some reason this really bothers me:
16:49 TimToady t/spec/S24-testing/11-plan-skip-all.t ............................. skipped: Testing skippage of `plan skip-all`
16:49 Zoffix TimToady: me too, because I usually spot these longer lines as failures
16:49 Zoffix Maybe move it to rakudo's test suite...
16:50 dogbert17 TimToady: and what about the grammar above?
16:50 TimToady kind of a you-think-that's-cute-today
16:50 Zoffix TimToady: the plan skip-all feature?
16:50 Zoffix Perl 5 has it
16:51 Geth ¦ rakudo/nom: f07079e0be | TimToady++ | 2 files
16:51 Geth ¦ rakudo/nom: allow user grammar methods like list/hash/elems
16:51 Geth ¦ rakudo/nom:
16:51 Geth ¦ rakudo/nom: The user may still get confused if they call .list or .hash
16:51 Geth ¦ rakudo/nom: themselves, but at least Capture itself now should not fall
16:51 Geth ¦ rakudo/nom: into an infinite regression.  (One workaround for the user
16:51 Geth ¦ rakudo/nom: is to call $match.Capture::list instead of $match.list.)
16:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f07079e0be
16:51 Zoffix And TAP has the "use skippage instead of plan" feature.
16:51 TimToady dogbert17: and what about it? :)
16:51 dogbert17 is impressed :)
16:52 TimToady that was, in fact, what I was spec-testing :)
16:52 Zoffix :)
16:54 timotimo TimToady: so was renaming "token list" to "token yamllist" the wrong call for yamlish?
16:55 TimToady see above: "One workaround..."
16:55 dogbert17 fixing that problem was no Match for TimoToady :)
16:55 TimToady I specifically changed it from "The workaround..." :)
16:56 Geth ¦ rakudo/nom: c630548c6e | (Zoffix Znet)++ | t/spectest.data
16:56 Geth ¦ rakudo/nom: Mark plan skip-all test as stres test
16:56 Geth ¦ rakudo/nom:
16:56 Geth ¦ rakudo/nom: It spits out a long "skipped blah" line during run and long lines
16:56 Geth ¦ rakudo/nom: usually mean failures. Marking it as stress test will at least move
16:56 Geth ¦ rakudo/nom: that sort of output out of spectest
16:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c630548c6e
16:58 * TimToady feels sleepy for some reason :)
16:58 TimToady oh, I only had one cuppa so far...
16:59 nine TimToady: that's a severe condition. You should fix it immediately
17:00 TimToady yeah, almost a release blocker...
17:01 TimToady esp if I can't figure out why jvm infithrows while trying to compile CORE.d
17:16 Zoffix What's a release blocker?
17:18 dogbert17 ENOCOFFEE it seems
17:18 TimToady I dunno if rakudo-j not building is considered a release blocker, offhand...
17:19 Zoffix Nope.
17:20 Zoffix Can't recall last time I built it even. I know lizmat said she had trouble building it. And we disabled reports of JVM Travis due to constant failures
17:20 TimToady then I'm working on an it-would-be-nice feature, mostly just to make sure uncurse didn't cause it
17:20 Zoffix \o/
17:21 TimToady it does compile CORE.c, just not CORE.d
17:22 TimToady one must have a robust timesharing model in one's brane to do any development for jvm, though
17:22 TimToady or sit around a lot...
17:23 TimToady one can get an amazing amount of backlogging done during a single jvm build...
17:23 bartolin hmm, three days ago spectest on rakudo-j was mostly clean (1 flapper) on my box. so, I'm pretty sure it was the ncurse merge
17:23 bartolin I'm not saying, it should be a release blocker, though
17:24 TimToady was a recursive exception, so might or might not have been my fault, since other folks have been dealing with exceptions lately
17:25 bartolin ah ok, I didn't take a look at the latest commits, yet
17:27 TimToady first step will probably be to put an infinite regress blocker into the exception to at least get me a decenter stack trace
17:28 Zoffix wow, we have 75 commits in the last 3 days :o
17:29 TimToady actually, 0th step is to take off my 3-gig limit, since javac apparently can't run in 3 gig...
17:29 Zoffix TimToady: how should I log the uncurse changes in the Changelog?
17:30 bartolin I've seen a ArrayIndexOutOfBoundsException somewhere. The one place I remember this error happening is here
17:30 bartolin j: my (\foo) = 42
17:30 camelia rakudo-jvm fb4f16: OUTPUT: «===SORRY!===␤java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: -1␤»
17:30 TimToady that looks familiar
17:30 * bartolin doesn't know if that helps somehow
17:31 TimToady j: my \foo = 42
17:31 camelia rakudo-jvm fb4f16: ( no output )
17:31 TimToady so only inside parens...
17:31 bartolin it's from S04-declarations/my.t -- RT #126626
17:31 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126626
17:33 TimToady j: multi sub await(Awaitable:D \a) { }
17:33 camelia rakudo-jvm fb4f16: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Invalid typename 'Awaitable' in parameter declaration.␤at <tmp>:1␤------> 3multi sub await(Awaitable:D7⏏5 \a) { }␤    expecting any of:␤        pair value␤»
17:34 TimToady j: multi sub await(Any:D \a) { }
17:34 camelia rakudo-jvm fb4f16: ( no output )
17:34 TimToady well, that seems okay
17:34 bartolin ah, it might be possible to get a better error message by removing the if/else here and just throw ExceptionHAndling.dieInternal:
17:34 bartolin https://github.com/rakudo/rakudo/blob/c630548c6ef4be8235c92e74e80db69a1172fc49/src/vm/jvm/runtime/org/perl6/rakudo/RakudoContainerSpec.java#L66
17:34 * bartolin has to take care of the kids now, bbl
17:35 TimToady thanks
17:39 Zoffix j: my (\foo) = 42
17:39 camelia rakudo-jvm fb4f16: OUTPUT: «===SORRY!===␤java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException␤»
17:39 Zoffix j: my (\foo) = 42,
17:39 camelia rakudo-jvm fb4f16: OUTPUT: «===SORRY!===␤java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException␤»
17:39 Zoffix j: my (\foo) = 42,
17:39 camelia rakudo-jvm fb4f16: OUTPUT: «===SORRY!===␤java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException␤»
17:39 Zoffix :S
17:39 Zoffix <Zoffix_> j: my (\foo) = 42,
17:39 Zoffix <camelia> rakudo-jvm fb4f16: OUTPUT: «===SORRY!===␤java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: -1␤»
17:39 Zoffix ^ that one has a -1 at the end
17:44 * TimToady guesses this one is easy to fix once we find it, but finding it is like looking for a needle in a nuclear power plant
17:55 * pmurias vaguely remembers there was some flag to get better stack traces for the java runtime part
17:57 [Coke] pmurias: --ll-exception?
18:02 MasterDuke_ there is some other env variable
18:04 TimToady weird, putting a BEGIN at the start of gen/jvm/CORE.d.setting has no effect, so it's blowing up before it ever parses the file, it would seem
18:05 TimToady but after emitting "Stage parse"
18:05 MasterDuke_ during the install of CORE.setting perhaps?
18:05 bartolin I get "Type check failed in assignment to '$DID_MATCH'" after changing RakudoContainerSpec.java (see link above)
18:06 TimToady well, that's definitely uncurse territory
18:09 * TimToady testing a patch
18:10 TimToady slowly...
18:20 Geth ¦ rakudo/nom: c1804bd41f | TimToady++ | src/core/Match.pm
18:20 Geth ¦ rakudo/nom: make initializer pass stricter jvm typecheck
18:20 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c1804bd41f
18:20 TimToady bartolin++
18:21 Zoffix \o/
18:22 TimToady we just want it to be your fault the release is delayed, not ours :P
18:22 Zoffix :D
18:23 Zoffix I can always blame it in jnthn :P
18:23 TimToady at least I did get you a slightly faster compile...
18:23 Zoffix *on
18:23 jnthn .oO( What's Zoffix doing inside of me?! )
18:23 jnthn I'll get a MoarVM release later this evening :)
18:23 TimToady I dunno, it's too dark to hack
18:24 jnthn hah :)
18:24 jnthn Full marx for that reference.
18:25 TimToady I guess I woke up groucho this morning.
18:27 TimToady .oO(I wonder how different the world would be if Karl Marx had been spelled Carl Marks.)
18:29 TimToady fudging seems a lot slower than it used to be...is that just cuz we have more tests?
18:30 Zoffix a lot is how a lot?
18:31 Zoffix I added 3 more routines for it to know how to fudge and yeah, we added 2000 more lines of tests.
18:31 Zoffix Not sure how much that'd affect it though, since it's a Perl 5 script :/
18:32 TimToady maybe it's just that javac throws out all the OS's cached disk blocks...
18:33 TimToady I mean, merely by being about as big as my physical memory, not explicitly
18:39 TimToady maybe someone should write a make-based fudger that only fudges the files that have changed since last time
18:40 TimToady maybe our current fudger could compare modification times, if it doesn't already...
18:50 TimToady or maybe trying to run 6 jvm tests in parallel on a 4-core machine is just a really bad idea...
18:55 * TimToady wonders what percentage of reductions could now write directly to the capture rather than the cstack because they never backtrack...
19:00 * Zoffix reminds: need to write down uncurse into ChangeLog; should should I write for it?
19:01 Zoffix s/should should/what should/;
19:02 timotimo well, uncurse is about getting rid of the Cursor object by merging Match and Cursor together
19:02 Zoffix Oh
19:02 Zoffix m: dd Cursor
19:02 camelia rakudo-moar c1804b: OUTPUT: «Match␤»
19:04 Zoffix "Merged Cursor into Match; in preparation of for future removal of Cursor" ?
19:09 TimToady it was effectively done the other direction, then Cursor was renamed to Match, but close enough :)
19:10 cog_ b
19:11 Zoffix ok :)
19:57 pmurias joined #perl6-dev
20:02 * Zoffix leaves TAP.pm in in this release
20:03 Zoffix Too tired to take care of it and it's not like there's any rush to toss it
20:11 Geth ¦ rakudo/nom: fd89b7ebf7 | (Zoffix Znet)++ | docs/ChangeLog
20:11 Geth ¦ rakudo/nom: Log all commits to date
20:11 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd89b7ebf7
20:23 pmurias joined #perl6-dev
20:28 Zoffix "PART 3: Information on Changes Due to IO Grant Work": http://rakudo.org/2017/04/17/final-notes-on-changes-due-to-io-grant-work/
20:29 Zoffix heh
20:29 Zoffix That URL reveals my hesitation to call it the "final" note, just in case :)
20:31 timotimo oh hey
20:31 timotimo hey hey hey hey
20:31 timotimo why don't we have .link take a Pair as argument
20:31 timotimo link($linkfile => $existingfile)
20:33 Zoffix Because we don't use that convention anywhere else, other than Test::subtest and you're opening up the `oops => 'named-arg'` issue, further mudding up the implementation (making it look for both positional pair and `%_` that contains 1 key), also closing the path to add any additional args to the routine, should we ever need to
20:34 timotimo Zoffix: we have Enum ~~ Enum, and a bit later Numeric.ACCEPTS(Any), care to unify that?
20:35 timotimo OK
20:41 Zoffix timotimo: it's ordered by speed improvement; largest first
20:41 timotimo yeah, but one says ACCEPTS, the other says ~~
20:42 timotimo you could mention the profiler being fixed (that's an nqp commit)
20:42 Zoffix ahh.. sure
20:42 Zoffix fixed how?
20:43 Zoffix (like what was broken?)
20:43 MasterDuke_ the allocations tab hadn't worked for a while, does now
20:43 timotimo well, the allocations, gc, and OSR tabs weren't working at all
20:44 timotimo did the last changes for the sql profile land in nqp master yet?
20:45 MasterDuke_ not yet
20:45 MasterDuke_ i could merge the minor changes i've made so far. haven't finished the more extensive stuff we've talked about
20:46 timotimo hmm, probably not very important to get the first bits into the release
20:47 MasterDuke_ yeah, figured it would make more sense as an actual upgrade in capability
20:47 timotimo right
20:47 timotimo and by next release we might even have an application to go with it
20:47 MasterDuke_ oooo, got something up your sleeve?
20:48 timotimo nope
20:48 timotimo just hoping someone might get inspired i guess
20:48 timotimo we might salvage the qtprofiler to (also?) be able to open the sqlite files
20:48 MasterDuke_ that would be nice
20:53 Geth ¦ rakudo/nom: b0e3d26cf9 | (Zoffix Znet)++ | docs/ChangeLog
20:53 Geth ¦ rakudo/nom: Unify format
20:53 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0e3d26cf9
20:54 Geth ¦ rakudo/nom: a18b3fb4b1 | (Zoffix Znet)++ | docs/ChangeLog
20:54 Geth ¦ rakudo/nom: Add Part 3 upgrade note in notes section
20:54 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a18b3fb4b1
21:12 Geth ¦ nqp: 46e7a95b8e | (Zoffix Znet)++ | tools/build/MOAR_REVISION
21:12 Geth ¦ nqp: Bump MoarVM
21:12 Geth ¦ nqp:
21:12 Geth ¦ nqp: Brings MoarVM commits:
21:12 Geth ¦ nqp: https://github.com/MoarVM/MoarVM/compare/2017.03-138-g40881cd...2017.03-169-g34d5a46
21:12 Geth ¦ nqp: 34d5a46 Add missing MVMROOT when reading bytes.
21:12 Geth ¦ nqp: 8d5d036 Mark thread GC blocked when doing sync writes.
21:12 Geth ¦ nqp: ad99a1e Add .editorconfig file to set indentation usage of files
21:12 Geth ¦ nqp: <…commit message has 28 more lines…>
21:12 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/46e7a95b8e
21:12 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.03-138-g40881cd...2017.03-169-g34d5a46
21:12 samcv yay
21:13 Geth ¦ rakudo/nom: 756877e1b4 | (Zoffix Znet)++ | tools/build/NQP_REVISION
21:13 Geth ¦ rakudo/nom: Bump NQP
21:13 Geth ¦ rakudo/nom:
21:13 Geth ¦ rakudo/nom: Brings NQP commits:
21:13 Geth ¦ rakudo/nom: https://github.com/perl6/nqp/compare/2017.03-111-g9063d0e...2017.03-118-g46e7a95
21:13 Geth ¦ rakudo/nom: 46e7a95 Bump MoarVM
21:13 Geth ¦ rakudo/nom: 0994e33 Temporarily fudge a newly-added test
21:13 Geth ¦ rakudo/nom: 9aa9c9e Merge branch 'uncursej'
21:13 Geth ¦ rakudo/nom: <…commit message has 38 more lines…>
21:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/756877e1b4
21:13 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.03-111-g9063d0e...2017.03-118-g46e7a95
21:15 samcv tell me of this qtprofiler timotimo
21:16 timotimo find it in tadziks github
21:16 samcv k
21:16 timotimo we made it because the html profiler was extremely slow
21:16 samcv don't i know XD
21:16 samcv heh
21:16 timotimo but the qtprofiler uses a json parser that has a random limit for filesize
21:16 timotimo which is maximum annoying
21:16 samcv can that be changed?
21:17 samcv qt has some fast string things. their utf-8 decoder has SIMD optimizations for tons of processors
21:17 Geth ¦ rakudo/nom: 922ca912e1 | (Zoffix Znet)++ | docs/ChangeLog
21:17 Geth ¦ rakudo/nom: Log changes from last nqp bump
21:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/922ca912e1
21:18 timotimo yeah, you can probably plop in a different json parser
21:18 Zoffix Alright.
21:18 samcv oh does qt have its own json parser
21:18 * Zoffix starts prepping the rocket
21:18 timotimo it uses QJsonDocument
21:18 samcv it might. it has everything
21:18 Zoffix Release time.
21:18 timotimo that seems to be qt's json parser
21:18 samcv k
21:19 MasterDuke_ i think the filesize limitation is in qdocument, not the actual json parser part
21:19 samcv ah
21:19 timotimo https://bugreports.qt.io/browse/QTBUG-47629 - nobody seems to care about it
21:20 MasterDuke_ i recompiled qt and increased the limit, but i couldn't increase it very much
21:20 NeuralAnomaly joined #perl6-dev
21:20 samcv Without the support of storing large amounts of data QJson classes automatically turns into ice cream in a glass.
21:20 samcv You look at it, it looks delicious but you can not lick.
21:20 samcv XD
21:21 timotimo enum {
21:21 timotimo 639         MaxSize = (1<<27) - 1
21:21 timotimo 640     };
21:21 samcv argh qt why you do dis
21:23 Zoffix NeuralAnomaly: status
21:23 NeuralAnomaly Zoffix, [✔] Next release is in the past. Since last release, there are 32 new still-open tickets (0 unreviewed and 0 blockers) and 0 unreviewed commits. See http://perl6.fail/release/stats for details
21:23 Zoffix NeuralAnomaly: cut the release
21:23 NeuralAnomaly Zoffix, Will do! If you're feeling particularly naughty, you can watch me at http://perl6.fail/release/progress or go look at some cats http://icanhas.cheezburger.com/lolcats
21:23 NeuralAnomaly Zoffix, ☠☠☠☠☠☠☠☠☠☠ ABNORMAL EXIT!
21:24 Zoffix stupid robot... can't you just guess the new IP for the VM!
21:24 samcv Please contact your system administrator.
21:24 samcv Zoffix, i am contacting you as instructed
21:24 samcv now please contact yourself
21:25 NeuralAnomaly joined #perl6-dev
21:25 Zoffix NeuralAnomaly: cut the release
21:25 NeuralAnomaly Zoffix, Will do! If you're feeling particularly naughty, you can watch me at http://perl6.fail/release/progress or go look at some cats http://icanhas.cheezburger.com/lolcats
21:25 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ Prep done
21:25 Geth ¦ nqp: bdbe19615b | (Zoffix Znet)++ | tools/build/MOAR_REVISION
21:25 Geth ¦ nqp: bump MoarVM version to 2017.04
21:25 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/bdbe19615b
21:25 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.03-169-g34d5a46...2017.04
21:25 Geth ¦ nqp: ffe7afb864 | (Zoffix Znet)++ | VERSION
21:25 Geth ¦ nqp: bump VERSION to 2017.04
21:25 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/ffe7afb864
21:25 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.03-169-g34d5a46...2017.04
21:25 samcv omg it's. happening
21:25 samcv dunno if i've been on live during the build before
21:26 Zoffix :)
21:26 [Coke] "back in my day, we did those commits by hand, and we LIKED it."
21:28 samcv how to best generate a huge profile file
21:28 samcv that won't work with qtprofiler
21:28 MasterDuke_ profile building rakudo
21:28 MasterDuke_ that's the exact thing that prompted me to create the sql output
21:29 samcv how do i do that MasterDuke_
21:30 MasterDuke_ just re-run the command immediately before "stage start", but add --profile-compile
21:32 MasterDuke_ how much ram do you have? you're probably going to run into problems if you don't have at least 8gb
21:32 samcv 16gb
21:32 samcv add it to the makefile?
21:34 MasterDuke_ i just copy it and run it directly from the command line
21:34 samcv oh
21:35 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ nqp tests OK
21:35 samcv NeuralAnomaly, status
21:35 NeuralAnomaly samcv, [✔] Next release is in the past. Since last release, there are 32 new still-open tickets (0 unreviewed and 0 blockers) and 0 unreviewed commits. See http://perl6.fail/release/stats for details
21:36 samcv why does it feel like it's compiling moarvm again
21:37 Zoffix It compiles it 4 times during the entire process
21:38 [Coke] (which we used to do by hand, at least twice. :)
21:39 [Coke] Zoffix++ again, for automating this grunt work.
21:39 [Coke] and making it... less grunty?
21:39 samcv MasterDuke_, moar --libpath="/home/samantha/perl6/share/nqp/lib" --libpath="/home/samantha/perl6/share/nqp/lib" perl6.moarvm --profile=blah.json --nqp-lib=blib --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/CORE.setting
21:39 samcv like this?
21:39 samcv is it at the right position?
21:39 samcv i tried putting it first but it wasn't having any of that
21:39 timotimo that should be it, but you need --profile-compile in there, too
21:39 timotimo and i think --profile-filename
21:40 timotimo it needs to go after perl6.moarvm
21:40 MasterDuke_ --profile-compile --profile-filename=foo.json
21:40 samcv thx
21:40 timotimo but yeah, the memory usage from that si rather massive
21:41 samcv good
21:42 samcv or bad i guess. well. i will monitor it
21:44 samcv well up to 3.3GB
21:45 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ nqp release tarball tests OK
21:45 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ nqp release DONE
21:45 timotimo thing is that we have one entry in our call graph for every path to a routine
21:45 Geth ¦ rakudo/nom: 9e48297944 | (Zoffix Znet)++ | docs/announce/2017.04.md
21:45 Geth ¦ rakudo/nom: Generate release announcement for 2017.04
21:45 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e48297944
21:45 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.03-118-g46e7a95...2017.04
21:45 Geth ¦ rakudo/nom: 137b7665a5 | (Zoffix Znet)++ | tools/build/NQP_REVISION
21:45 Geth ¦ rakudo/nom: [release] bump NQP revision
21:45 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/137b7665a5
21:45 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.03-118-g46e7a95...2017.04
21:45 Geth ¦ rakudo/nom: 05fa8aa3e5 | (Zoffix Znet)++ | VERSION
21:45 timotimo that's ... not so eloquently put
21:45 Geth ¦ rakudo/nom: [release] bump VERSION to 2017.04
21:46 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/05fa8aa3e5
21:46 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.03-118-g46e7a95...2017.04
21:46 timotimo i just mean that every routine can be in there as many times as there are different paths to the main function
21:46 timotimo i.e. if you have sub a { a }; it'll generate infinitely many entries in the call graph
21:46 samcv that's a lot
21:47 timotimo okay, it'll *try to* generate infinitely many entries :)
21:47 timotimo also, for every gc run we build a little data structure entry
21:47 timotimo i'm not sure how often the gc runs during setting compilation
21:47 timotimo but i imagine it'd be a whole lot
21:49 samcv so much frreezing
21:49 samcv should have closed chrome
21:51 samcv how did it use 17GB of swap...
21:51 timotimo i'll try with telemetry
21:51 samcv howwww
21:51 samcv omg
21:51 timotimo oh
21:52 timotimo you can sidestep most of the optimizer with --optimize=off
21:52 * samcv quits chrome while system is not frozen
21:52 timotimo that'll make the call graph a bunch smaller
21:52 samcv right now it's just saying writing profiler output to foo.json
21:52 samcv and swap usage is down to 9GB at least
21:52 timotimo because the optimizer walks the whole ast and it'll have as deep a call graph as the ast is deep
21:53 samcv at least i'll get a really big json?
21:53 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ Rakudo stresstest (master) OK
21:53 timotimo 1326 lines of "gc finished" in the telemetry log
21:55 NeuralAnomaly Zoffix, ☠☠☠☠☠☠ Rakudo: make stresstest (6.c-errata)
21:55 NeuralAnomaly Zoffix, ☠☠☠☠☠☠☠☠☠☠ ABNORMAL EXIT!
21:55 samcv ruh roh
21:55 timotimo whoops
21:55 Zoffix :)
21:56 samcv feels like my system is getting murdered
21:56 Geth ¦ roast/6.c-errata: 6e3d180aff | TimToady++ (committed by Zoffix Znet) | S02-types/WHICH.t
21:56 Geth ¦ roast/6.c-errata: Cursor is going away
21:56 Geth ¦ roast/6.c-errata:
21:56 Geth ¦ roast/6.c-errata: And Cursor was always considered to be mostly internal anyway, not
21:56 Geth ¦ roast/6.c-errata: really part of the official Perl 6 language.  So don't test for it.
21:56 Geth ¦ roast/6.c-errata: (We will still have Cursor for now, but only as an alias to Match.)
21:56 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/6e3d180aff
21:57 samcv freezes periodicly for unknown amounts of time
21:57 timotimo yeah
21:57 Zoffix NeuralAnomaly: steps
21:57 NeuralAnomaly Zoffix, all pre nqp r post pre-r6 pre-blank-slate nqp-clone nqp-bump-vers nqp-build nqp-test nqp-tar nqp-tar-build nqp-tag nqp-tar-sign nqp-tar-copy r-clone r-prep-ann r-bump-vers r-build r-p5 r-stress r-stress-v6c r-tar r-tar-build r-tar-p5 r-tar-stress r-tag r-tar-sign r-tar-copy post-scp
21:57 MasterDuke_ samcv: --target=parse will also make it a little quicker/use less ram
21:57 timotimo samcv: it's still writing out the json file? i *think* it spits out pieces of the json before it finishes, but i'm not sure
21:58 samcv yeah idk
21:58 MasterDuke_ it does
21:58 Zoffix NeuralAnomaly: run r-stress-v6c r-tar r-tar-build r-tar-p5 r-tar-stress r-tag r-tar-sign r-tar-copy post-scp
21:58 samcv it's hovering between 8GB and 9GB swap. and sti/ll using 90% of ram usage
21:58 samcv it was at 16GB of swap usage...
21:59 samcv but foo.json is still 0 bytes
21:59 samcv i will go away for a while. and hope my system is not on fire when i get back
22:00 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ Rakudo stresstest (6.c-errata) OK
22:00 timotimo OK, i see
22:00 timotimo well, the --target=ast hint is good, and the --optimize=off tip is an alternative to that
22:02 timotimo the telemetry log for core setting build is 99% gc timings and a tiny amount of string reads and writes (but the writes are only the stage stats)
22:06 MasterDuke_ this is my last perf report of a compile: https://gist.githubusercontent.com/MasterDuke17/aff44a22a3a22d3ce0bf476d1d0ba537/raw/22869d54efcf5d82facfc85678b0aab49771ff5e/compile.report_no_call-graph_no_children
22:07 NeuralAnomaly Zoffix, ☠☠☠☠☠☠☠☠☠☠ ABNORMAL EXIT!
22:07 NeuralAnomaly Zoffix, ☠☠☠☠☠☠ Rakudo: make stresstest (tarball testing)
22:07 Zoffix ZOFFLOP: t/spec/S17-supply/wait.t
22:09 Zoffix NeuralAnomaly: run r-tar-stress r-tag r-tar-sign r-tar-copy post-scp
22:11 lizmat joined #perl6-dev
22:11 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ Rakudo release DONE
22:11 NeuralAnomaly Zoffix, ♥♥♥♥♥♥ Post: upload tarballs to rakudo.org and rakudo.perl6.org
22:11 NeuralAnomaly Zoffix, 🎺🎺🎺📯📯📯📯📯📯🌈🌈🌈📦📦📦
22:11 NeuralAnomaly Zoffix, The release of **Rakudo #110 2017.04** has now been completed
22:11 NeuralAnomaly Zoffix, 🎺🎺🎺📯📯📯📯📯📯🌈🌈🌈📦📦📦
22:11 * NeuralAnomaly celebrates with an appropriate amount of fun
22:12 lizmat whee!!!  just in time  :-)
22:12 * lizmat waves from Copenhagen
22:12 Zoffix NeuralAnomaly: thanks, baby
22:12 NeuralAnomaly Zoffix, any time, buddy!
22:13 timotimo oh welcome back lizmat
22:13 * lizmat will now try to finish the P6W in the next hour or so
22:15 Geth ¦ rakudo/nom: 241831e05b | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/release_guide.pod
22:15 Geth ¦ rakudo/nom: 2017.04 is now in the past
22:15 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/241831e05b
22:16 Geth ¦ nqp: 6916dd0d99 | (Zoffix Znet)++ | t/nqp/044-try-catch.t
22:16 Geth ¦ nqp: Revert "Temporarily fudge a newly-added test"
22:16 Geth ¦ nqp:
22:16 Geth ¦ nqp: This reverts commit 0994e33818d2f8c8ab92a1e53043c01da40d4b94.
22:16 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/6916dd0d99
22:18 samcv timotimo, there's no way it's gonna be more than likie 5GB of json right?
22:18 samcv i only have 5.7Gb of space left on disk
22:19 NeuralAnomaly joined #perl6-dev
22:20 samcv NeuralAnomaly, thanks baby
22:20 samcv aww.
22:20 Zoffix :)
22:21 * Zoffix calls it a night
22:21 Zoffix \o
22:22 samcv oh well it's finally gottan some stuff to disk. json file is at 307MB so far
22:22 samcv night Zoffix
22:25 samcv MasterDuke_, what's the biggest json you ever got
22:25 timotimo one time, i pulled this GIGANTIC JSON
22:25 timotimo i could barely hold it in my arms
22:26 timotimo then i brought it to this fantastic restaurant and they prepared it real fine
22:32 samcv LOL
22:34 samcv this one is getting much better than i wanted
22:34 samcv they grow up so fast
22:34 timotimo did it reach a gig yet?
22:34 samcv getting close
22:35 samcv swap use went back up to 14G too. and still full mem usage (16GB)
22:35 samcv so much memory
22:36 timotimo yeah, the nature of how we jsonify means we're not really freeing stuff up
22:36 timotimo maybe we can go through lists shifting off elements rather than just iterating through 'em
22:37 timotimo that'll mean parts of the call graph that are no longer interesting will natuarlly be GC'd
22:38 samcv yeah
22:39 samcv and they told me i had too much swap... you'll never need 32GB of swap they said
22:39 samcv proved them wrong!
22:39 samcv haha
22:44 samcv i've hit 1.1GB
22:45 MasterDuke_ i don't remember how big they've been
22:46 samcv have you used up 32GB of memory total before?
22:47 samcv so the .html are just json embedded in the html? with a javascript thing to graph it?
22:47 samcv holds the same data as the json right?
22:47 MasterDuke_ yep
22:48 samcv ok memeory dropped off a cliff. i think *hope* it's done
22:48 timotimo and the best thing about it
22:48 samcv \o/
22:48 timotimo in order to put it inside the javascript, we have to escape one extra bit
22:48 samcv fuck
22:48 timotimo because browsers will absolutely explode when we just put it in as a literal
22:49 samcv what do we have to escape?
22:49 timotimo like "
22:49 timotimo and of course \
22:49 samcv but it's already javascript json right?
22:49 samcv shouldn't it like already be fine?
22:49 samcv if put in between the right tags?
22:49 samcv or html doesn't let you?
22:50 timotimo hm
22:50 samcv Malformed input file, top level isn't an array: "too large document"
22:50 timotimo i suppose you could, and then grab the string from the dom
22:50 samcv that did it
22:50 timotimo though
22:50 timotimo no, that's probably bad
22:51 timotimo we'd then have to escape < and > at the least
22:51 timotimo and &, too
22:51 samcv X|
22:51 timotimo i think i'll go to bed soon-ish
22:56 MasterDuke_ samcv: how big did the file end up?
22:56 samcv 1.2G
22:56 timotimo samcv: wanna try loading it with JSON::Tiny or JSON::Fast? :D
22:56 samcv though we might only have to escape a </script> string actually
22:56 samcv oh god
22:58 samcv timotimo, https://jsfiddle.net/YmhZv/14/
22:58 samcv i think this works
22:58 samcv see how i escaped the </script>
22:58 samcv i think it will ignore any other thing except </script>
22:59 samcv cause it needs matching tags
22:59 timotimo i get "Hi" there
22:59 samcv yes
22:59 samcv if you remove the escaping
22:59 samcv and hit run
22:59 timotimo Uncaught SyntaxError: Unexpected token a in JSON at position 152
22:59 timotimo at JSON.parse (<anonymous>)
22:59 timotimo what escaping?
23:00 MasterDuke_ a sql profile from feb was 770mb and 13million lines
23:00 samcv timotimo, line 6
23:00 samcv <\/script> if you remove the backslash and hit run
23:00 samcv the text shows up
23:01 timotimo then i get "i should not exist"
23:01 samcv yep
23:01 samcv because it reads the </script tag embedded inside the json
23:01 timotimo yeah but if the code worked it shouldn't say "Hi"
23:01 timotimo it should say "awesome"
23:01 samcv yeah the code doesn't work
23:01 samcv that's not the point!
23:01 samcv lol
23:01 timotimo %)
23:01 timotimo you could have told me that before
23:01 samcv feel free to make the code work
23:02 samcv but timotimo  the "Hi" is the 1st line.
23:02 samcv and it's not inside the script. so it should always show
23:02 timotimo no, you're replacing it with "result: awesome"
23:02 timotimo that's how .text works
23:02 samcv k
23:02 samcv well please fix code
23:03 samcv if it's not too much trouble. you know this better than i do
23:03 timotimo i'm sure the " inside the script tag are bad
23:03 timotimo because they're already inside a string literal
23:03 timotimo oh
23:03 timotimo and there was a trailing , in there as well
23:03 samcv but the " would already have been escaped
23:03 timotimo https://jsfiddle.net/YmhZv/17/ - do you get my changes?
23:04 samcv in our moarvm right?
23:04 samcv yes
23:04 samcv somehow
23:04 timotimo well, the code works now
23:04 timotimo we have full control over how we escape things
23:04 samcv but we escape once because json right
23:04 samcv and then again to get it inside html
23:05 samcv but if we put it in script tags, then we only have to escape </script> maybe.
23:05 samcv that would be nice though
23:05 timotimo we don't actually escape "again", we immediately replace " with \\\" or whatever
23:05 samcv oh
23:05 samcv so not too much effort?
23:05 samcv ok
23:06 timotimo probably not
23:06 samcv ugh i'm so hungry
23:06 samcv browsers have it hard man
23:06 timotimo i think it'd just be "kick out the special code we had in place for the json-in-javascript-string mode"
23:06 timotimo is it because mrario keeps coming over and throwing them into bombs and spikes and lava pits?
23:06 samcv browsers are very much abused
23:06 samcv no
23:07 timotimo AFK, BBIAB
23:18 timotimo okay, so
23:18 timotimo how many bytes do we save from this, i wonder
23:19 samcv hm?
23:20 timotimo by getting rid of those escapes
23:21 timotimo whoa
23:21 timotimo we have a --profile-stage commandline switch?!
23:21 MasterDuke_ ? what does that do?
23:21 timotimo only profiles a single stage
23:22 timotimo whereas with --profile-compile you get "the beginning to this particular stage, and also the program ends here"
23:22 MasterDuke_ cool, never knew that existed
23:23 timotimo hmm. i wonder, though
23:23 timotimo that uses run_profiled, which installs an end phaser to get the profile data dumped
23:23 timotimo like, it installs a value in @END_PHASERS from the perl6 hll
23:23 timotimo oh
23:23 timotimo but the core setting is also already perl6 code
23:24 timotimo how did i forget that?
23:26 TimToady well, at the beginning it's still basically nqp, and by then end it's Perl 6 :)
23:26 TimToady well, the syntax is Perl 6 at the beginning, fwiw
23:27 timotimo right
23:32 timotimo here's hoping that making to_json in the profiler destructive will be positive for memory usage
23:33 * timotimo shuts down a few programs
23:34 timotimo positive in a negative sense.
23:37 timotimo 13823988maxresident  -  this is with --optimize=off, which i claim is important
23:39 TimToady so basically, pretending there's no spesh or jit...
23:40 TimToady or is that aimed somewhere else?
23:40 BenGoldberg joined #perl6-dev
23:40 timotimo oh, no, that's just skipping Perl6::Optimizer
23:40 TimToady ah
23:40 MasterDuke_ profiling a rakudo compile?
23:42 samcv timotimo, i'm trying to load the 1.2G profile with json::fast
23:43 samcv it'll take like 100 years right?
23:43 timotimo no idea
23:43 timotimo JSON::Fast is kinda fast
23:46 timotimo um ... it didn't actually profile at all?!
23:46 timotimo no, it did profile, but ... it didn't write a file?!
23:46 timotimo what even ...
23:46 timotimo i mean, it took way longer
23:47 timotimo oh, it did get oom'd
23:47 timotimo without telling me so on the commandline
23:47 timotimo well, ain't that friendly
23:49 timotimo 13794460maxresident
23:49 timotimo but i can't really compare those
23:49 timotimo time to make some more swap.
23:49 samcv ok i'm killing it. i'm at 2GB swap so 18GB total ram usage now
23:50 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com
23:50 lizmat https://p6weekly.wordpress.com/2017/04/17/2017-16-io-hits-the-road/
23:51 samcv "Please have the appropriate amount of more efficient fun!" :-)
23:51 samcv i like that lie
23:51 samcv *line
23:51 AlexDaniel joined #perl6-dev
23:51 timotimo hahaha
23:51 timotimo breaking: perl6 dev admits to perl6 being slow
23:52 samcv haha
23:52 samcv that's not a new thing!
23:52 * lizmat is *very* tired after driving 1K km and goes to get some shuteye
23:52 samcv sleep well
23:54 timotimo oh crap, there isn't even much space left on my external hard drive?
23:54 timotimo oh, taht's not my external hard drive
23:55 samcv now idk what to do with this 1.2GB json file :\
23:55 MasterDuke_ lizmat++
23:55 samcv i can't do anything with it sanely
23:56 Zoffix lizmat++ Thanks. Good weekly
23:56 samcv maybe compile a modified qt that doesn't have a limit?
23:57 MasterDuke_ samcv: you've used abs?
23:57 timotimo oooh
23:57 timotimo someone claimed perl6weekly.wordpress.com and the only post says "you're looking for p6weekly.wordpress.com"
23:58 samcv what? arch build system?
23:58 samcv if so then yes
23:58 samcv hah
23:58 MasterDuke_ yeah, that's how i build a modified qt when i was experimenting with upping that limit
23:58 samcv oh
23:58 samcv did it work?
23:59 MasterDuke_ i was able to change the 1<<27 to something like 1<<30
23:59 samcv oh

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