Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-07-06

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

All times shown according to UTC.

Time Nick Message
00:03 dalek roast: c3923e8 | (Zoffix Znet)++ | S06-other/main-usage.t:
00:03 dalek roast: Unfudge now-passing test for RT#127977
00:03 dalek roast:
00:03 dalek roast: sub MAIN constraint checks must not leak to the user of the program.
00:03 dalek roast:
00:03 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127977
00:03 dalek roast: Fixed by one of these commits:
00:03 dalek roast: https://github.com/rakudo/rakudo/compare/774e2deb07eab190f28864f4d511ee7819234648...41b685ee102bcd483ad367a904577cad497dd0cb
00:03 dalek roast: review: https://github.com/perl6/roast/commit/c3923e86eb
00:18 lizmat joined #perl6-dev
01:01 vendethiel joined #perl6-dev
01:15 [Coke] .
01:16 [Coke] BrokenRobot: There is a presaved query at http://rakudo.org/tickets/
01:16 [Coke] that links to tickets that need docs. I'll try to include the link the next time I mention it.
01:17 MasterDuke [Coke]: do you happen to have some sort of admin access to rt.perl.org?
01:22 MasterDuke .seen timotimo
01:22 yoleaux2 I saw timotimo 5 Jul 2016 20:18Z in #perl6-dev: <timotimo> ooooh
01:24 jdv79 [Coke] is an admin or more iirc
01:24 jdv79 at least for the p6 stuff
01:26 Zoffix [Coke], out of all those links, only the testsneeded URL is working. The rest give query error
01:26 MasterDuke excellent, then i hope he returns soon
01:27 Zoffix And I'm surprised the tests one doesn't give the CSFR error
01:29 Zoffix Actually all of them have CSRF errors if I try another browser (not logged in there)
01:29 Zoffix " There was an error parsing your search query: Wrong query, expecting a VALUE in 'Queue=%>27perl6<--here%27 AND Status=%27new%27'. Your RT admin can find more information in the error logs. "
01:31 [Coke] awwaiid - added you on RT
01:31 [Coke] MasterDuke: I have admin rights to the perl6 bugadmin queue.
01:32 Zoffix That error sounds a lot like the one I was getting a few days ago when I was trying to use RT's REST API. This URL worked after lots of twiddling: https://github.com/zoffixznet/Rele6sr/blob/master/lib/Rele6sr/RT.pm6#L44
01:32 MasterDuke [Coke]: hmm, would you be able to fix my account?
01:32 Zoffix ¯\_(ツ)_/¯
01:32 MasterDuke i can't see/edit tickets when i'm logged in
01:33 [Coke] For the errors, we can try to find a URL that works now, or we can open a ticket with the perl rt admins.
01:33 [Coke] MasterDuke: All i can do is give you admin privs to perl6 tickets.
01:34 [Coke] If you're having other issues, you need to talk to the perl rt admins.
01:36 MasterDuke ok. i tried in irc.perl.org:#rt and irc.freenode.net:#rt a couple days ago, but haven't heard anything from either
01:37 MasterDuke and i think part of my problem is my emails aren't getting through
01:37 Zoffix Register a throw-away email on gmail.com and try that? Try creating a new RT account?
01:37 Zoffix ¯\_(ツ)_/¯
01:38 MasterDuke i did try another gmail account that i never use for anything
01:38 Zoffix No idea, sorry.
01:40 timotimo i've spoken up against migrating away from RT in the past, but a few of us are getting absolutely screwed over by that piece of ... software
01:41 [Coke] tbrowder: your rt question about "top 10 tickets" isn't something I can help with
01:42 [Coke] MasterDuke: what email address did you try to send the report from?
01:42 [Coke] and to? (privmsg me)
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
01:57 vendethiel joined #perl6-dev
02:41 Zoffix joined #perl6-dev
05:38 psch hm, do we get any info to the user about post constraints on MAIN with what fixed #127977?
05:38 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127977
05:38 psch 'cause that's kinda the coolest bit that happened in the branch tadzik linked in the ticket
07:05 RabidGravy joined #perl6-dev
07:30 psch alright, the getextype problem is because we're actually not creating a VMException in throwcatdyn_c
07:30 psch which seems somewhat wrong, considering getextype needs one
07:31 psch but i think we can just create one in throwcatdyn_c, so i'm gonna try that
07:44 [Tux] This is Rakudo version 2016.06-150-g41b685e built on MoarVM version 2016.06-9-g8fc21d5
07:44 [Tux] test            16.005
07:44 [Tux] test-t           9.593
07:44 [Tux] csv-parser      16.777
08:01 psch humm, creating a VMException there seems to really blow up compilation time o.o
08:02 psch 'bout 20 minutes now, and it's only at stage2/NQP.nqp
08:05 nine You sure it's still doing something usefull?
08:11 psch yeah, it's still going, at Perl6-Actions.nqp now
08:12 psch i mean, driving total compilation time up by some 300% is a bit much to explain with "throwcatdyn_c is a really hot method", but it's not completely impossible vOv
08:13 psch otoh, compared to previously, it now allocates a VMExceptionInstance *and* a Throwable for the Backtrace
08:14 psch and i think especially the Backtrace is probably rather expensive
08:16 nine What's it doing with the VMExceptionInstance anyway?
08:17 psch the handler for lexical &return needs a VMExceptionInstance
08:18 nine But what for?
08:18 psch to know what kind of Exception it is?
08:18 psch &EXCEPTION in src/core/Exception.pm:250 for example
08:20 nine How do you create the VMExceptionInstance?
08:21 psch pretty much exactly as die_s_c does
08:21 psch that is, get the exType from the hllConfig, call allocate on the STable
08:21 psch well, the REPR
08:21 psch then set field
08:22 psch +s
08:22 psch i'm pretty sure the biggest performance impact is the Backtrace, and i'm not sure we actually need it
08:22 nine Can't you leave out the nativeTrace in throwcatdyn_c? Considering that we got by without a VMExceptionInstance at all previously, we may not actually need everything.
08:23 psch right, i'm still gonna let the build finish, can't be longer than another 20 to 30 minutes... :)
08:23 nine All other fields should be dirt cheap
08:23 psch gotta get more coffee and some breakfast anyway
08:23 nine coffee++
08:27 psch also i'm kinda curious what stage parse comes out as heh
08:28 nine You must be a very patient man
08:37 psch well, i'm doing other things on the side, so it's not so bad
08:41 psch not even 9 minutes for stage parse, not so bad :P
09:05 psch ...but over 20 minutes stage jast, which i am now fed up with hah
09:42 brrt joined #perl6-dev
09:58 skids joined #perl6-dev
10:02 jnthn psch: I suspect constructing a new Throwable on every single return/next/last etc. could easily do it
10:02 jnthn psch: That's really expensive 'cus it snapshots the entire call stack
10:03 psch jnthn: right, which is why i took that out.  but apparently even allocating the VMExceptionInstance takes long enough for an unbearable impact
10:03 psch as in, i've been running Configure.pl without the new Throwable for almost an hour now
10:04 psch not what else to try there, tbh, i don't think leaving a static VMExceptionInstance around would work
10:05 jnthn iirc, on Moar we only construct the VMException instance if the target handler actually needs it
10:05 jnthn Handlers that are just "goto"-ish don't need it
10:05 jnthn And you can figure that you from the handler metadata, I believe.
10:05 jnthn Same should be possible on JVM
10:06 psch i don't think i know all of the handler fields
10:06 jnthn In fact must be, otherwise we'd not know to invoke the handler on the top of the call stack.
10:06 psch i *think* handlerInfo[1] is the extype, but does that tell me if it needs an vmExObj..?
10:07 jnthn /* Exception handler kinds. */
10:07 jnthn public static final int EX_UNWIND_SIMPLE = 0;
10:07 jnthn public static final int EX_UNWIND_OBJECT = 1;
10:07 jnthn public static final int EX_BLOCK = 2;
10:07 jnthn It's whatever is getting compared agaisnt those constants
10:07 psch ah, okay
10:08 psch oh ffs
10:08 psch i actually commented the new Throwable in die_s_c, not throwcatdyn_c ._.
10:09 psch at least that easily explains why it didn't seem faster than the compile before...
10:29 Zoffix joined #perl6-dev
10:32 Zoffix timotimo, the problem I see with all the calls to migrate from RT is no one's offering to be the person to do the enormous amount of work involved.
10:33 Zoffix IIRC MadcapJake offered to make a better interface for bug reporting, but I'm not aware of even that being completed. Actually migrating would be orders of magnitude more work.
10:55 AlexDaniel joined #perl6-dev
10:56 AlexDaniel Zoffix: migrate where?
10:57 AlexDaniel if given enough permissions to work on stuff, I can do it. And I think that there are others who will happily help with it. The problem is that we can't decide what we should use instead of RT
10:58 cognominal joined #perl6-dev
11:06 Zoffix nine++ with RT#128457 gone I can now write my Mojolicious + Perl 6 article \o/
11:06 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128457
11:06 skids joined #perl6-dev
11:06 Zoffix Based on all the likes my peak-preview of the Perl 6 Mojo app got, it should be a well-read post.
11:06 Zoffix *peek
11:08 nine Yeah!
11:13 psch well, i've got the getextype fixed with always creating a VMExceptionInstance, and that shows we still get the BEGIN EVAL problem
11:14 psch i'll probably change the getextype to "only create if the handler needs it" as jnthn++ suggested, though, so no commit yet
11:15 nine psch: the last thing rakudo-j needs is slower build times :)
11:15 psch well, allocating a VMExceptionInstance doesn't really seem to impact it
11:15 psch clean build still at around 13min
11:15 nine oh
11:15 nine So it really was just those backtraces
11:15 psch as mentioned, i commented the new Throwable in die_s_c instead of throwcatdyn_c
11:15 psch yeah
11:32 brrt joined #perl6-dev
11:46 dalek rakudo/nom: c843682 | lizmat++ | src/core/Array.pm:
11:46 dalek rakudo/nom: Make Array.push|append about 40% faster
11:46 dalek rakudo/nom:
11:46 dalek rakudo/nom: - remove ensure-allocated, integrate in code where needed
11:46 dalek rakudo/nom:   This is really the big win: the ensure-allocated method for some
11:46 dalek rakudo/nom:   reason did *not* get JITted.
11:46 dalek rakudo/nom: - rewrite hot code completely using nqp ops
11:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c843682f3b
11:52 * lizmat hopes for some good test-t effects
11:52 yoleaux2 5 Jul 2016 21:41Z <AlexDaniel> lizmat: fwiw, numeric overflow changes were before 2015.12, but you can still find it with bisectable: bisect: good=2015.10 2 ** 99999999999999999999999999999999999
12:02 vendethiel joined #perl6-dev
12:06 BrokenRobot wow! lizmat++ that's awesome!
12:07 BrokenRobot Looks like test-t soon (already?) will be in the 8s rnage \o/
12:11 * lizmat hopes so
12:41 travis-ci joined #perl6-dev
12:41 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make Array.push|append about 40% faster
12:41 travis-ci https://travis-ci.org/rakudo/rakudo/builds/142733653 https://github.com/rakudo/rakudo/compare/41b685ee102b...c843682f3b58
12:41 travis-ci left #perl6-dev
13:06 brrt joined #perl6-dev
13:10 * [Coke] goes back to work today! (bah!)
13:31 gfldex jnthn: i'm getting «Internal error: invalid thread ID 111254976 in GC work pass» when use Gumbo;. Is there any easy way to provide you with debug info?
13:36 DrForr For those of you needing an excuse to get cheap Guinness - http://conferences.oreilly.com/oscon/open-source-eu/public/schedule/detail/53512
13:38 nine DrForr: in your bio "for Parrot née Perl 6" looks like a typo?
13:39 DrForr The ' née ' bit? I thought that was the proper way to spell that, with the accent.
13:39 perlpilot it is
13:40 nine Oh, then I just learned a new English word :)
13:40 nine DrForr++
13:40 DrForr https://www.wordnik.com/words/nee # The second definition.
13:43 DrForr It's pretty rare, but when you're looking for the right words...
13:48 gfldex please update Pod::To::HTML on docs.perl6.org to get https://github.com/perl6/Pod-To-HTML/commit/6131c1aa95ee98aea8470af08d688c478f36407c
13:49 Skarsnik joined #perl6-dev
13:50 Skarsnik Skarsnik> Hello, I am not sure if someone remember my leak issue with rakudo/moar and the XML module. I was curious if it's finally fixed, but it's still here (even if it's smaller than before) https://gist.github.com/Skarsnik/03b970d2a4b827ba1e1d  It was fixed for some revision it seem according to this gist
13:52 timotimo at least one thing in there has been fixed since
13:52 timotimo i remember reversing the order of nfg and fsa destroying
13:53 Skarsnik Let me add an updated output
13:53 timotimo because it used to destroy the FSA first, then try to free the NFG thing which had been allocated inside the FSA
13:54 timotimo that'd be good
13:55 Skarsnik I added a 2a - recent
13:55 Skarsnik I don't remember how to get the valgrind output thou
13:59 timotimo valgrind --leak-check=full, and don't forget to --full-cleanup for moarvm
13:59 psch well, perl6-valgrind-m exists
13:59 timotimo right, but i'm not sure it has --full-cleanup by default
14:00 timotimo and it also doesn't allow you to give valgrind options
14:00 timotimo really, someone who knows a bit about shell scripting ought to have a quick look at that thing
14:00 psch yeah
14:00 Skarsnik I need to rebuild moarvm ?
14:00 timotimo (that's how i spell "not me")
14:00 timotimo no, you do not
14:00 Skarsnik or just edit the option
14:00 timotimo yeah, just put it into the shell script
14:01 psch okay this is just weird
14:01 psch the handler that gets invoked doesn't take any arguments, according to ArgsExpectetation
14:01 psch but it apparently invokes something that needs the vm_ex
14:01 psch ...how does that work
14:02 psch and how does the handler pass on the vm_ex when i create it in throwcatdyn_c
14:03 timotimo doesn't it get passed through the throwing mechanism?
14:03 psch 'cause according to the backtrace it's the invokeDirect call in ExceptionHandling.java:215 that calls the handler
14:03 * timotimo just guessing
14:03 psch and that calls something that doesn't take args, the insightfully named method B9E5B486DDF0CC0DE86076CC049FDA9257D5E15D.qb_12146
14:04 Skarsnik what
14:04 Skarsnik root@testperl6:~/piko# head  /root/.rakudobrew/bin/perl6-valgrind-m
14:04 Skarsnik #!/usr/bin/env perl
14:04 Skarsnik # I AM RAKUDOBREW. ALSO POSSIBLY SPARTACUS. OUTLOOK CLOUDY, ASK AGAIN LATER.
14:04 Skarsnik use strict;
14:05 psch oh.  both hll routines that could refer to get their args with p6argvmarray
14:05 BrokenRobot 0.o
14:05 tadzik it is self aware
14:05 tadzik sorry
14:05 BrokenRobot :)
14:06 psch okay, yeah, i'm gonna stick with the "just always build a VMExceptionInstance" approach
14:06 timotimo Skarsnik: are 2a recent and 2a - recent the same file?
14:06 psch it works, it doesn't seem to significantly impact performance, and i kinda understand it vOv
14:07 Skarsnik Yeah timotimo, I though it does not added the file or I am blind and add it again x)
14:07 timotimo hehe.
14:11 Skarsnik hm, using the correct perl6-valgrind-m (and adding the full-cleanup stuff and co) I get Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'
14:11 Skarsnik at <unknown>:1  (/root/.rakudobrew/moar-nom/perl6.moarvm:<dependencies+deserialize>)
14:12 jnthn gfldex: Probably, file as good reproduction instructions as you can unless you fancy further hunting. In the latter case, you can go to your MoarVM folder, and in src/gc/debug.h turn the MVM_GC_DEBUG define to 1, make clean, make install, and see if you get a different error. If yes, then a run under gdb (or your favorite tool) with a breakpoint set in MVM_panic and then getting the backtrace would also perhaps give some clues. Depends how mu
14:13 dalek nqp: 32ad2eb | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
14:13 dalek nqp: Always create a VMExceptionInstance in throwcatdyn_c.
14:13 dalek nqp:
14:13 dalek nqp: Otherwise we have cases in Rakudo where we expect a control exception, but get
14:13 dalek nqp: null instead. There's probably a more specific place where this could be
14:13 dalek nqp: solved, but it eludes me.
14:13 dalek nqp: review: https://github.com/perl6/nqp/commit/32ad2eb01e
14:13 dalek rakudo/nom: 0295443 | peschwa++ | / (2 files):
14:13 dalek rakudo/nom: Add two debug ENV variables.
14:13 dalek rakudo/nom:
14:13 dalek rakudo/nom: Those are RAKUDO_JDB_PORT in perl6-jdb-server for setting the jdb port and
14:13 dalek rakudo/nom: RAKUDO_PRECOMP_NESTED_JDB, which, when set, uses perl6-jdb-server with
14:13 dalek rakudo/nom: increasing ports for precompilation.
14:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0295443849
14:13 dalek rakudo/nom: d505a8c | peschwa++ | tools/build/NQP_REVISION:
14:13 dalek rakudo/nom: Bump NQP_REVISION, for a getextype fix.
14:14 dalek rakudo/nom:
14:14 dalek rakudo/nom: This prevents reaching nqp::getextype calls without a valid argument.
14:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d505a8c4ad
14:27 Skarsnik this take forever to run in valgrind x)
14:27 timotimo of course it does :)
14:27 timotimo but valgrind still has a very good pay-off for its cost
14:29 Skarsnik a libpath was removed for some reason in the valgrind script btw
14:29 timotimo huh.
14:30 Skarsnik I edited the wrong file, I need to rerun this thing again x)
14:30 timotimo oh
14:31 Skarsnik I mean the wrong perl6 script
14:31 Skarsnik not the valgrind shell script
14:32 Skarsnik --libpath="/root/.rakudobrew/moar-nom/install/share/perl6/runtime" this was missing
14:32 Skarsnik or whatever is generated from
14:34 * timotimo is a bit wary of rakudobrew's generated forwarder scripts
14:35 tbrowder joined #perl6-dev
14:43 Skarsnik timotimo, https://gist.github.com/Skarsnik/03b970d2a4b827ba1e1d#file-2a-valgrind-trace
14:43 timotimo ugh, no line numbers
14:47 [Coke] RT: 1340; CONC: 7; GLR: 6; JVM: 70; LHF: 1; LTA: 73; NYI: 28; OSX: 6; PERF: 16; POD: 3; PRECOMP: 4; RFC: 22; SEGV: 22; STAR: 1; TESTNEEDED: 14; TODO: 9; UNI: 5; WEIRD: 3
14:48 lizmat afk&
14:53 sno [Tux]: do you have a moment wrt. DBD::File? (query?)
15:10 gfldex moritz: please update Pod::To::HTML on docs.perl6.org to get https://github.com/perl6/Pod-To-HTML/commit/6131c1aa95ee98aea8470af08d688c478f36407c
15:11 moritz gfldex: doing it now
15:13 moritz ... done
15:13 gfldex thanks
15:40 Tux_ sno, yes, but I don't think this channel is the right spot
15:40 sno Tux_: that's why I suggested a query
16:18 BrokenRobot ENODALEK
17:05 dalek joined #perl6-dev
17:05 synopsebot6 joined #perl6-dev
17:31 vendethiel joined #perl6-dev
18:21 tadzik joined #perl6-dev
19:02 [Tux] This is Rakudo version 2016.06-153-gd505a8c built on MoarVM version 2016.06-9-g8fc21d5
19:02 [Tux] test            16.186
19:02 [Tux] test-t           9.331
19:02 [Tux] csv-parser      17.269
19:05 dalek roast: 98952f9 | (Zoffix Znet)++ | S06-traits/is-readonly.t:
19:05 dalek roast: Fix broken plan
19:05 dalek roast: review: https://github.com/perl6/roast/commit/98952f995a
19:06 skids joined #perl6-dev
19:29 FROGGS joined #perl6-dev
20:40 travis-ci joined #perl6-dev
20:40 travis-ci Rakudo build errored. Pepe Schwarz 'Bump NQP_REVISION, for a getextype fix.
20:40 travis-ci https://travis-ci.org/rakudo/rakudo/builds/142773456 https://github.com/rakudo/rakudo/compare/c843682f3b58...d505a8c4ad46
20:40 travis-ci left #perl6-dev
21:29 lizmat m: say 0.rand   # sorta expected to see Nil there
21:29 camelia rakudo-moar d505a8: OUTPUT«0␤»
21:30 vendethiel joined #perl6-dev
21:35 timotimo that'd be a strange edge-case, IMO
21:36 lizmat well, it's an edge case that perhaps needs to be highlighted somehow
21:36 lizmat because usually it means that the value you want a rand of, was not initialized
21:37 lizmat or somehow lost its value
21:37 lizmat not really important, though
21:37 timotimo that sounds more like you want to warn when you use an actually undefined value
21:37 timotimo i can see having the invocant be a number that varies between 0 and whatever
21:38 dalek rakudo/nom: 55c359e | lizmat++ | src/core/ (2 files):
21:38 dalek rakudo/nom: Make Array use List.is-lazy
21:38 dalek rakudo/nom:
21:38 dalek rakudo/nom: No reason to special case Array
21:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/55c359e8e4
22:31 Zoffix m: say 09
22:31 camelia rakudo-moar 55c359: OUTPUT«Potential difficulties:␤    Leading 0 does not indicate octal in Perl 6.␤    Please use 0o9 if you mean that.␤    at <tmp>:1␤    ------> say 09⏏<EOL>␤9␤»
22:31 Zoffix m: say 08
22:31 camelia rakudo-moar 55c359: OUTPUT«Potential difficulties:␤    Leading 0 does not indicate octal in Perl 6.␤    Please use 0o8 if you mean that.␤    at <tmp>:1␤    ------> say 08⏏<EOL>␤8␤»
22:31 Zoffix PR to Fix: https://github.com/rakudo/rakudo/pull/812
22:31 Zoffix And I'll do tests for https://rt.perl.org/Ticket/Display.html?id=119339 if/when the PR is merged.
22:34 Zoffix Oh, wait. Made a booboo.
22:35 Zoffix ($value can be more than 1 digit)
22:36 travis-ci joined #perl6-dev
22:36 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make Array use List.is-lazy
22:36 travis-ci https://travis-ci.org/rakudo/rakudo/builds/142887649 https://github.com/rakudo/rakudo/compare/d505a8c4ad46...55c359e8e448
22:36 travis-ci left #perl6-dev
23:13 Zoffix K, now  it's good: https://github.com/rakudo/rakudo/pull/813
23:33 gfldex Zoffix: if you got the time please review https://github.com/perl6/Pod-To-HTML/commit/2a7449325b3098bda2f31065dbea0ec87b589b26

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