Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-02-01

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

All times shown according to UTC.

Time Nick Message
00:00 AlexDaniel joined #perl6-dev
00:23 Geth ¦ rakudo/nom: d69f3751d5 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
00:23 Geth ¦ rakudo/nom: Streamline Any::IterateOneWithoutPhasers.sink-all
00:23 Geth ¦ rakudo/nom:
00:23 Geth ¦ rakudo/nom: - put return value in signature
00:23 Geth ¦ rakudo/nom: - remove unnecessary $running flag
00:23 Geth ¦ rakudo/nom: - simplify next handling
00:23 Geth ¦ rakudo/nom: - indicate extra scope is for optimization only
00:23 Geth ¦ rakudo/nom:
00:23 Geth ¦ rakudo/nom: Makes for @a { ... } about 1% faster.  Normally I wouldn't take this
00:23 Geth ¦ rakudo/nom: but this is for a *very* common idiom, so feels like somethingw we
00:23 Geth ¦ rakudo/nom: want anyway.
00:23 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d69f3751d5
00:24 lizmat which depleted my tuits for today
00:24 lizmat good night, #perl6-dev!
00:24 brokenchicken night
00:36 pmurias joined #perl6-dev
01:07 pyrimidine joined #perl6-dev
01:52 pyrimidine joined #perl6-dev
02:06 kalkin- joined #perl6-dev
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:05 mr_ron joined #perl6-dev
05:11 mr_ron joined #perl6-dev
05:31 geekosaur joined #perl6-dev
06:27 [Tux] joined #perl6-dev
06:50 RabidGravy joined #perl6-dev
07:06 Geth ¦ nqp: f21c8f1668 | TimToady++ | 2 files
07:06 Geth ¦ nqp: get rid of $*ACTIONS
07:06 Geth ¦ nqp:
07:06 Geth ¦ nqp: The current actions class is now passed via the cursor.
07:06 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/f21c8f1668
07:06 Geth ¦ rakudo/nom: 9493ffb90c | TimToady++ | 2 files
07:06 Geth ¦ rakudo/nom: get rid of $*ACTIONS
07:06 Geth ¦ rakudo/nom:
07:06 Geth ¦ rakudo/nom: The current actions class is now passed via the cursor.
07:06 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9493ffb90c
07:06 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.01-46-g501c53f...2017.01-64-gf21c8f1
07:06 Geth ¦ rakudo/nom: 951a441d10 | TimToady++ | tools/build/NQP_REVISION
07:06 Geth ¦ rakudo/nom: bump NQP to get new actions patch
07:06 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/951a441d10
07:07 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.01-46-g501c53f...2017.01-64-gf21c8f1
07:28 mr_ron joined #perl6-dev
07:45 [Tux] This is Rakudo version 2017.01-131-g951a441d1 built on MoarVM version 2017.01-25-g70d4bd53
07:45 [Tux] csv-ip5xs        2.748
07:45 [Tux] test            12.182
07:45 [Tux] test-t           4.834
07:45 [Tux] csv-parser      13.224
07:45 [Tux] second run 4.880
08:27 mr_ron joined #perl6-dev
08:37 TimToady parsing seems a percent or so faster now, I think
08:38 TimToady though we mostly got rid of $*ACTIONS because it was the right thing to do
08:39 masak I love it when performance and the right thing to do come together
10:03 Geth ¦ roast: ac12ffeb5f | usev6++ | S17-promise/nonblocking-await.t
10:03 Geth ¦ roast: Fudge some newly added tests for JVM
10:03 Geth ¦ roast: review: https://github.com/perl6/roast/commit/ac12ffeb5f
10:36 samcv how do i stop this error payload: don't change grammar in the setting, please!
10:36 samcv if trying to add an op
10:37 lizmat well, that seems to be 6.d then ?
10:37 lizmat *6.d material
10:38 lizmat jnthn: is the "Introducing spesh" part in https://6guts.wordpress.com/2014/04/12/optimization-concurrency-and-moar/ still correct ?
10:39 lizmat samcv: what are you trying to do ?
10:39 lizmat having been in that situation in the past  :-)
10:39 samcv https://gist.github.com/samcv/d633ebd66fb5eeda88c71e2492d7217b to Str.pm
10:41 lizmat ok
10:41 lizmat you need to add it to the Grammar.nqp
10:42 lizmat although this *could* be 6.d material: adding methods to classes ok, adding ops wasn't if I recall correctly
10:43 samcv lizmat, which one?
10:43 lizmat src/Perl6/Grammar.nqp
10:43 jnthn lizmat: Yes, if incomplete
10:43 jnthn lizmat: It's out of date in that we now *can* also product machine code at the end
10:44 jnthn *produce
10:44 lizmat ok  :-)
10:44 jnthn lizmat: And since then, importantly, it supports inlining and OSR
10:44 samcv lizmat, thanks :)
10:45 samcv <sym> >> <O(|%structural)> # not sure what this means but just gonna steal the one for cmp and leg
10:45 jnthn lizmat: Can also resolving multi-dispatches at spesh time too
10:45 jnthn *resolve
10:45 jnthn Guess you can just put "And many other little opts" :)
10:46 lizmat jnthn
10:46 lizmat samcv: that's a start
10:46 lizmat you would also need to add it to src/core/precedence.pm I think
10:46 samcv well good sign, it compiled
10:47 jnthn <sym> means "match whatever is in :sym<here>", >> means word boundary, <O(...)> specifies precedence, associativity, etc.
10:48 lizmat jnthn: are you ok with adding this to 6.c instead of 6.d.PREVIEW ?
10:50 jnthn Well, according to the doc I did, it'd go in 6.d
10:50 jnthn How strictly we want to follow that at the moment is another matter.
10:51 jnthn `await` clearly needed to be because it's a notable behavior changes
10:51 samcv what are you guys discussing?
10:52 samcv there's so many changes, hard to keep up :P
10:52 [Tux] joined #perl6-dev
10:54 lizmat jnthn: I'm having trouble finding the doc you did about this
10:54 jnthn samcv: Whether or not unicmp belongs in 6.d.PREVIEW or not :)
10:54 samcv ah ok
10:55 jnthn lizmat: It got put into the Rakudo repo so we wouldn't have that problem, I tought? :P
10:55 samcv i'm not even sure what the final name for it is gonna be tho
10:55 jnthn *thought
10:55 jnthn samcv: That'd be even more reason to put it behing 6.d.PREVIEW :)
10:55 jnthn *behind
10:55 jnthn But for now, I guess, make it work at all :)
10:59 samcv though i mean a new op won't be noticed by anybody so idk if we need to hide it
10:59 samcv since it's not gonna be in the docs just yet
11:00 * samcv wonders if we could hide sorting strings with cmp to use unicmp_s in the preview
11:00 jnthn Yeah, I was wondering about that
11:00 jnthn I think it might be doable
11:00 jnthn Or if not, we can fix it to be doable :)
11:01 samcv heh
11:07 Geth ¦ rakudo: samcv++ created pull request #1009: Add unicmp op which uses unicmp_s nqp op to do string compare
11:07 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1009
11:09 samcv jnthn, lizmat thoughts on this pr
11:10 lizmat samcv: what does the 7,0,0 signify ?
11:10 samcv 7 means do primary secondary and tertiary collation
11:11 lizmat I wonder whether that should maybe be settable with a dynamic var?
11:11 samcv lizmat, full info here https://github.com/MoarVM/MoarVM/commit/875867d1
11:12 * samcv actually might change that 7, but atm the 7 doesn't actually change anything about what MVM does
11:13 lizmat something like $*TOLERANCE
11:13 samcv but i may change it to be 15, meaning primary, secondary tertiary, and 4th level is breaking ties by cp
11:13 lizmat perhaps $*COLLATION ?
11:13 samcv well
11:13 samcv read the whole thing, there's also countrys and languages
11:13 samcv let me know when you've read that mvm commit
11:16 lizmat read it  :-)
11:16 samcv kk
11:17 samcv so yeah maybe $*COLLATION
11:18 samcv but yeah about 95% sure that 7 is gonna be changed to a 15. because i think it might be useful to be able to call cmp and get "same" if the collation values was equal
11:18 lizmat could be a Collation object, with settings for primary/ secondary / ternary
11:18 lizmat and that would then map to 15,0,0 or so  for now
11:18 samcv yeah
11:18 samcv that sounds fine
11:19 lizmat jnthn: is that an idea?  so we can encapsulate that functionality in a simple unicmp operator, yet are able to change its meaning dynamically ?
11:19 samcv and if we have cmp do unicmp_s i think it should do language inspecific
11:20 samcv though there is something to say for always getting the same sorting order even if unicode changes things, though we have synthetics
11:20 jnthn Not sure about dynamically
11:20 samcv and those can be sorted differently based on what synthetic codepoint they are assigned to
11:20 jnthn Could certainly do adverbs, and a pragma
11:20 lizmat jnthn: I was thinking one liners and env variables   :-)
11:21 jnthn Please not env vars. :P
11:21 jnthn And one-liners could easily do it with the adverbs
11:21 lizmat ok
11:21 lizmat clearly I've not gotten rid of the cold yet  :-)
11:22 samcv haha.
11:22 samcv not good when the same program runs differently on different computers
11:22 * lizmat goes to clock another few hours in bed
11:22 samcv o/
11:22 jnthn lizmat: Feel better! o/
11:41 samcv wow suprised it made it 3x faster
11:41 samcv i already optimzed a ton of this part of the script but
11:42 samcv https://gist.github.com/3bf513759424aae24ae32fa616c278ff top took 1.5s, bottom took .5s
11:42 samcv which was already at least 3x faster than doing @dec.».parse-base(16), by using the nqp ops
11:46 samcv i have the sub that processes UnicodeData.txt now 2x faster than it was yesterday :)
11:46 brokenchicken \o/
11:46 samcv it still takes hours? idk some really long amount of time to do all cp
11:46 samcv i have not waited for it to finish
11:47 samcv well it's still going on the bisectable server, been at least a couple hours
11:51 brokenchicken The <sym> >> <O(|%structural)> stuff: <sym> is the same string as the :sym<....> on that particular proto regex. The `>>` is the right word boundary, and <O...> stuff is the precedence thingie being set up these settings https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Grammar.nqp#L3828 this stuff is briefly mentioned in Day 1 of Rakudo Internals course
11:52 samcv ah ok i will look at that more then, thanks :)
12:04 samcv is there a nqp noop?
12:06 arnsholt Why do you need a noop?
12:07 arnsholt If you're building a QAST tree, a Stmts with no children is fine
12:08 samcv just to put in placeholders things that want something there.
12:08 samcv m: use nqp; nqp::if(iseq_i(0,0), )
12:08 camelia rakudo-moar 951a44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    iseq_i used at line 1␤␤»
12:09 samcv anyway not super important but was curious if we had a noop
12:09 arnsholt Doesn't look like it
12:09 arnsholt There's a debugnoop listed in the docs, but looks like it's only on JVM
12:10 arnsholt But what kind of thing do you have that requires an op?
12:10 samcv it's not really important, i just wondered it, while i was trying to benchmark if statements compared to code without if statements
12:10 samcv and wanted to just put noop in there so it would compile
12:11 samcv string ne ''; is basically equivalent to nqp::isne_i( nqp::chars($stc), 0); ? at least that's what i'm doing to try and optimize this code
12:11 samcv unless there's a better way to do it
12:13 arnsholt Oh, something to pass nqp::if? Did you try just passing in an empty block?
12:13 samcv yea
12:15 arnsholt Then I'm all out of ideas. But if it's any consolation, nqp::if(..., nqp::noop()) wouldn't work either =)
12:16 arnsholt But from --target=ast it looks like if $cond { $consequent } compiles more or less directly to nqp::if anyways
12:17 samcv kk
12:18 samcv yeah i haven't gotten much speedup changing to nqp::if unless all the surrounding code is already nqp
12:18 samcv then i get a speedup
12:39 jnthn --target=ast doesn't show that the optimizer (output of --target=optimize to see) often optimizes away QAST::Block too
12:46 samcv i wish i could have macros that would go to nqp ops that wouldn't slow anything down
12:47 samcv macros seem slower than subs i guess. hmm. maybe i'll just make subs
12:48 samcv it seems making this thing i'm doing a sub is about the same speed
12:58 timotimo make: *** [gen/moar/stage1/nqpmo.moarvm] Illegal instruction (core dumped)
12:58 timotimo that's fun!
13:00 pyrimidi_ joined #perl6-dev
13:01 dogbert17_ joined #perl6-dev
13:02 geekosaur joined #perl6-dev
13:03 samcv jnthn, is there a way to make for sure something gets inlined?
13:03 samcv is raw and is pure, what effect do those have on that?
13:03 timotimo is raw is for what happens to the return value, is pure is for whether it'll be considered for compile-time evaluation
13:04 jnthn is pure means it can be constant folded
13:05 jnthn Most inlining happens in the VM, and it decides based on code size, heat, and whether there's things in the sub that make it impossible to inline
13:07 MasterDuke_ joined #perl6-dev
13:09 MasterDuke_ samcv: re that snippet you posted, `%decomp_spec{$cp}<mapping> = @dec.map( { nqp::atpos(nqp::radix(16, $_, 0, 0), 0) } )` was about twice as fast in my rough test
13:10 samcv faster than the faster test?
13:11 awwaiid joined #perl6-dev
13:13 MasterDuke_ yeah. .25s intead of .5s
13:13 samcv nice
13:13 MasterDuke_ oh, could also try `%decomp_spec{$cp}<mapping> = @dec.map(-> int $_ { nqp::atpos(nqp::radix(16, $_, 0, 0), 0) } )`, might be faster still
13:17 dogbert17_ jnthn: fun fact, the original reporter of https://github.com/MoarVM/MoarVM/issues/234 saw your changes from yesterday and closed the issue
13:17 timotimo very nice
13:18 dogbert17_ timotimo: how's your stomach?
13:18 timotimo it's recovered completely, thank god!
13:18 dogbert17_ horay
13:20 jnthn \o/ on both :)
13:20 samcv MasterDuke_, it's actually about exactly the same as what i ended up doing
13:20 MasterDuke_ the code or the speed?
13:21 timotimo so ... how do i get a working moarvm again? o_O
13:21 MasterDuke_ good either way i guess
13:21 samcv the speed
13:21 samcv MasterDuke_, this is what i'm doing now https://gist.github.com/samcv/566950400b063ba3a1e680a888a1c339#file-decmp-p6-L30
13:21 samcv though i might do what you said just to make it more readable
13:21 samcv compared to yours https://gist.github.com/samcv/566950400b063ba3a1e680a888a1c339#file-decmp-p6-L53
13:22 timotimo Program received signal SIGILL, Illegal instruction.
13:22 timotimo SHA1_Transform (state=state@entry=0x7fffffffdb20,
13:22 timotimo is my hardware dying?!
13:23 MasterDuke_ samcv: can't `if nqp::eqat(nqp::atpos($dec, 0), '<', 0) {` be simplified to `if nqp::eqat($dec, '<', 0) {`?
13:24 samcv does eqat allow arrays?
13:25 MasterDuke_ samcv: doh, nm, read your code wrong
13:25 timotimo no, it's only for strings
13:26 pyrimidine joined #perl6-dev
13:28 samcv actually yours is like 10% faster than mine. gonna go with yours
13:29 jnthn timotimo: No, it's just ill...
13:29 timotimo i'll give it a reboot and see if that changes things to the better
13:29 timotimo if not .. well, at least i still have my laptop to switch to
13:32 timotimo and rebooting is quite fast
13:33 timotimo well, that still asplodes ...
13:33 samcv MasterDuke_, also gonna use map in a different place and prolly speed things up
13:33 timotimo why do u do dis gcc
13:36 perlpilot joined #perl6-dev
13:40 timotimo just had to rm the sha1 .o and .a files
13:49 travis-ci joined #perl6-dev
13:49 travis-ci NQP build failed. Pawel Murias 'Test that 'local' variables are properly initialized.'
13:49 travis-ci https://travis-ci.org/perl6/nqp/builds/197113556 https://github.com/perl6/nqp/compare/501c53f2ca48...5490db6fe491
13:49 travis-ci left #perl6-dev
13:51 brokenchicken t/qast/01-qast.t ....................... Failed 1/119 subtests
13:55 dogbert17_ it's getting increasingly difficult to find bugs in MoarVM, argh :)
13:56 travis-ci joined #perl6-dev
13:56 travis-ci NQP build failed. Zoffix Znet 'Add rudimentary docs for `locallifetime`
13:56 travis-ci https://travis-ci.org/perl6/nqp/builds/197131227 https://github.com/perl6/nqp/compare/5490db6fe491...34a05465e84e
13:56 travis-ci left #perl6-dev
13:58 timotimo so we build some features instead and voila
13:58 timotimo more bugs for you
14:00 mr_ron joined #perl6-dev
14:00 jnthn dogbert17_: Your collecting info on them is making the quicker for me and others to fix, which works against your hunting. :-P
14:00 jnthn *making them
14:00 ggoebel joined #perl6-dev
14:02 brokenchicken I'm guessing I can't declare a var I plan on returning inside QAST::Op.new( :op('locallifetime'), ?
14:02 * brokenchicken tries anyway
14:02 timotimo returning out of it should be fine
14:02 timotimo things ought to be returned through a register, i'd assume
14:03 brokenchicken I know nothing about registers :) (yet)
14:04 travis-ci joined #perl6-dev
14:04 travis-ci NQP build failed. Zoffix Znet 'Merge pull request #344 from perl6/robust_dentin_dentout
14:04 travis-ci https://travis-ci.org/perl6/nqp/builds/197133735 https://github.com/perl6/nqp/compare/34a05465e84e...213f5515689d
14:04 travis-ci left #perl6-dev
14:09 travis-ci joined #perl6-dev
14:09 travis-ci NQP build failed. TimToady 'get rid of $*ACTIONS
14:09 travis-ci https://travis-ci.org/perl6/nqp/builds/197212396 https://github.com/perl6/nqp/compare/213f5515689d...f21c8f1668f8
14:09 travis-ci left #perl6-dev
14:15 [Coke] https://news.mit.edu/2017/optimizing-code-compiler-parallel-programs-0130
14:19 jnthn Will be interesting to read the papers :)
14:19 DrForr Hyperoptimizer?
14:19 jnthn :P
14:20 DrForr Oo, quantum compiler - simultaneously test all possible code paths.
14:22 brokenchicken What could error mean? There isn't a '{' or '}' for miles in sight.Unable to parse expression in blockoid; couldn't find final '}'  at line 7850, near "$past := Q"
14:22 brokenchicken And the code is a bunch of QAST nodes...
14:23 DrForr Are you using any #`(..) comments? I've had a few problems with nesting with those.
14:23 brokenchicken nope
14:24 timotimo it can mean you broke the parser :)
14:24 brokenchicken heh
14:25 jnthn May mean a mis-nested other brace too
14:25 timotimo seriously, though. many changes i've tried in moar in the past have caused the most random errors from parsing code
14:26 arnsholt Yeah, that sounds like NQP code. And the error reporting in NQP is in the tradition of most other compilers =)
14:26 arnsholt (That is, not terribly helpful in most cases)
14:27 MasterDuke_ samcv: replacing https://gist.github.com/samcv/566950400b063ba3a1e680a888a1c339#file-decmp-p6-L57-L62 with a ternary, e.g., `%decomp_spec{$cp}<type> = nqp::eqat(nqp::atpos(@dec, 0), '<', 0) ?? nqp::shift(@dec) !! 'Canonical'` would probably also be faster
14:27 brokenchicken *sigh* don't see it
14:27 * brokenchicken undos until last working version
14:28 [Coke] brokenchicken: got a URL or a patch or something? I can stare at code if it helps.
14:30 brokenchicken It's already gone, but thanks :)
14:30 [Coke] WOOT
14:30 [Coke] glad I could... "help"?
14:30 brokenchicken heh
14:31 timotimo :D
14:34 perlpilot .oO( ... and the cosmic joker arranges it such that brokenchicken's code still complains about a missing '}' even after backing out his changes )
15:31 Geth ¦ rakudo/nom: 97359ae42e | (Zoffix Znet)++ | src/Perl6/Actions.nqp
15:31 Geth ¦ rakudo/nom: Fix result variables of S///; perlpilot++ for tips
15:31 Geth ¦ rakudo/nom:
15:31 Geth ¦ rakudo/nom: Currently S/// uses $/ to store the result of its operation, which
15:31 Geth ¦ rakudo/nom: clobbers the Matches it's supposed to have and causes numerous other
15:31 Geth ¦ rakudo/nom: issues due to returning a container that's re-used on multiple S/// calls.
15:31 Geth ¦ rakudo/nom:
15:31 Geth ¦ rakudo/nom: Fix by leaving the $/ alone (so it keeps the Match objects) and
15:31 Geth ¦ rakudo/nom: <…commit message has 20 more lines…>
15:31 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97359ae42e
15:33 Geth ¦ roast: 1ed4d128d2 | (Zoffix Znet)++ | S05-substitution/subst.t
15:33 Geth ¦ roast: Test S/// does not return $/ and so can be used in .map
15:33 Geth ¦ roast:
15:33 Geth ¦ roast: RT#130355: https://rt.perl.org/Ticket/Display.html?id=130355
15:33 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/97359ae42e
15:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130355
15:33 Geth ¦ roast: review: https://github.com/perl6/roast/commit/1ed4d128d2
15:34 Geth ¦ roast: b15e0a0d9b | (Zoffix Znet)++ | S03-operators/andthen.t
15:34 Geth ¦ roast: Unfudge now passing S/// andthen S/// tests
15:34 Geth ¦ roast:
15:34 Geth ¦ roast: RT#127822: https://rt.perl.org/Ticket/Display.html?id=127822
15:34 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/97359ae42e
15:34 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b15e0a0d9b
15:34 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127822
15:36 perlpilot brokenchicken: see?  I told you, you'd do better  :)
15:37 brokenchicken :)
16:03 brokenchicken hm...
16:03 brokenchicken m: 'foo'.match: :g, /o/; say $/
16:03 camelia rakudo-moar 97359a: OUTPUT«(「o」 「o」)␤»
16:03 brokenchicken m: 'foo'.subst: :g, /o/, 'x'; say $/
16:03 camelia rakudo-moar 97359a: OUTPUT«「o」␤»
16:03 brokenchicken m: ($ = 'foo').subst-mutate: :g, /o/, 'x'; say $/
16:03 camelia rakudo-moar 97359a: OUTPUT«「o」␤»
16:03 brokenchicken m: S:g/o/x/ given 'foo'; say $/
16:03 camelia rakudo-moar 97359a: OUTPUT«(「o」 「o」)␤»
16:04 brokenchicken Seems .subst/.subst-mutate don't set $/ to all the matches when :g is used
16:05 brokenchicken and that was so since before 2015.12
16:06 Geth ¦ roast: 4b949eb583 | usev6++ | 2 files
16:06 Geth ¦ roast: [JVM] Fudge newly failing tests for r-j
16:06 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4b949eb583
16:11 brokenchicken :(
16:11 pyrimidine joined #perl6-dev
16:41 pyrimidine joined #perl6-dev
16:48 brokenchicken hm, no idea how to fix it.
16:48 brokenchicken Don't get why its broken either. It seems to just call .match under the hood, fowarding the $/ up the food chain
16:57 brokenchicken RaKUDOBUgged: https://rt.perl.org/Ticket/Display.html?id=130688
17:00 pyrimidine joined #perl6-dev
17:29 geekosaur joined #perl6-dev
17:29 AlexDaniel joined #perl6-dev
17:32 pyrimidine joined #perl6-dev
17:44 jdv79 this is as good as i can golf this bug so far:  https://gist.github.com/anonymous/d6011770f200f34bfd5beac70ac4465a
17:44 jdv79 can anybody repro that or better yet have any ideas?
17:46 brokenchicken That has a feel of a concurrency bug.
17:47 jdv79 i know.  oddly if you only have one class i can repro it.
17:47 brokenchicken reproed on 4th run on 2017.01-121-gf94cb21
17:48 jdv79 also even the for loop has to have a pair or whatever that is in there - 1..1 kills the repro.
17:48 jdv79 so weird
17:49 jdv79 i guess that's golfed enough to report
17:49 brokenchicken mhm, stick [CONC] at the start of the subject line
17:49 jdv79 oops.  i meant can't repro with jut one class
17:49 jdv79 that's our best guess?
17:49 jdv79 sure
17:49 timotimo the message seems very much like a concurrency bug, yeah
17:50 jdv79 thanks
18:00 pyrimidine joined #perl6-dev
18:02 timotimo how long do i have to run it every time to get it to explode in valgrind before i decide "it's run long enough, this time it's probably fine"
18:03 jdv79 for me it usually kicks in a few seconds or i just restart and it'll hit in a handful
18:03 travis-ci joined #perl6-dev
18:03 jdv79 sometimes it never hits
18:03 travis-ci Rakudo build errored. Jonathan Worthington 'Only generate static inline info when native args.
18:03 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197004056 https://github.com/rakudo/rakudo/compare/f94cb21ef5f7...f8b346943910
18:03 travis-ci left #perl6-dev
18:03 buggable [travis build above] ✓ All failures are due to timeout (0), missing build log (3), or GitHub connectivity (0).
18:03 jdv79 initial state?
18:04 timotimo jdv79: the thing is that valgrind makes things between 10x and 100000x slower :)
18:04 jdv79 its #130690
18:04 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130690
18:04 timotimo so do i run it for 5 minutes? 10 minutes? 1 hour?
18:04 jdv79 ew
18:05 jdv79 i run it for no more than 30s and then just ctrl-c and do it again if it hasn't hit
18:05 jdv79 most of the time
18:05 jdv79 you can repro it without valgrind?
18:05 timotimo yeah
18:06 timotimo i can
18:06 jdv79 huh
18:09 timotimo valgrind also serializes threads, so ...
18:11 timotimo ==24651== More than 1000 different errors detected.  I'm not reporting any more.
18:11 timotimo ==24651== Final error counts will be inaccurate.  Go fix your program!
18:11 timotimo helgrind be like -^
18:13 jdv79 haha
18:13 timotimo i'm having a hard time interpreting the firehose that is helgrind
18:14 timotimo disabling spesh seems to make it harder to repro, can you confirm?
18:16 pyrimidine joined #perl6-dev
18:17 timotimo i've tried like 20 times and didn't get it to crash once
18:18 timotimo SPESH_INLINE_DISABLE doesn't seem to prevent repro, on the other hand
18:19 timotimo SPESH_OSR_DISABLE also doesn't prevent the crash
18:20 timotimo JIT_DISABLE also doesn't prevent it
18:21 timotimo but i still can't repro when MVM_SPESH_DISABLE is set
18:27 pyrimidine joined #perl6-dev
18:40 Geth ¦ geth: 5f3744acad | (Zoffix Znet)++ | lib/Geth/Plugin/GitHub.pm6
18:40 Geth ¦ geth: Use bold instead of italics
18:40 Geth ¦ geth:
18:40 Geth ¦ geth: italics don't seem to be displaying right in irc clients
18:40 Geth ¦ geth: review: https://github.com/perl6/geth/commit/5f3744acad
18:42 Geth joined #perl6-dev
18:52 pyrimidine joined #perl6-dev
18:57 travis-ci joined #perl6-dev
18:57 travis-ci Rakudo build canceled. Jonathan Worthington 'Only generate static inline info when native args.
18:57 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197004056 https://github.com/rakudo/rakudo/compare/f94cb21ef5f7...f8b346943910
18:57 travis-ci left #perl6-dev
18:57 buggable [travis build above] ✓ All failures are due to timeout (0), missing build log (3), or GitHub connectivity (0).
19:00 buggable joined #perl6-dev
19:07 FROGGS joined #perl6-dev
19:20 pyrimidine joined #perl6-dev
19:31 Geth ¦ rakudo: ronaldxs++ created pull request #1010: replace s///r in fudgeandrun for compatibility with perl 5.10
19:31 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1010
19:34 Geth ¦ rakudo/nom: ac37a20e9e | (Ronald Schmidt)++ | t/fudgeandrun
19:34 Geth ¦ rakudo/nom: replace s///r in fudgeandrun for compatibility with perl 5.10
19:34 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac37a20e9e
19:34 Geth ¦ rakudo/nom: bc53f6770f | (Zoffix Znet)++ | t/fudgeandrun
19:34 Geth ¦ rakudo/nom: Merge pull request #1010 from ronaldxs/new-fancier-fudgeandrun
19:35 Geth ¦ rakudo/nom:
19:35 Geth ¦ rakudo/nom: replace s///r in fudgeandrun for compatibility with perl 5.10
19:35 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bc53f6770f
19:50 pyrimidine joined #perl6-dev
20:01 FROGGS joined #perl6-dev
20:18 pyrimidine joined #perl6-dev
20:32 travis-ci joined #perl6-dev
20:32 travis-ci Rakudo build canceled. Elizabeth Mattijsen 'Streamline Any::IterateOneWithoutPhasers.sink-all
20:33 travis-ci https://travis-ci.org/rakudo/rakudo/builds/197151628 https://github.com/rakudo/rakudo/compare/b9d9279a6d2a...d69f3751d50d
20:33 travis-ci left #perl6-dev
20:33 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
20:35 RabidGravy ah
20:37 RabidGravy with "use 6.d.PREVIEW" if you take the server example from https://docs.perl6.org/type/IO$COLON$COLONSocket$COLON$COLONAsync and add a $conn.close after the write it craps out after the second connection every time
20:37 brokenchicken report it
20:37 RabidGravy Unhandled exception in code scheduled on thread 9
20:37 RabidGravy Attempt to unlock mutex by thread not holding it
20:38 brokenchicken on ticket tracker
20:38 RabidGravy yeah
20:42 RabidGravy is there a way to get a backtrace from an exception in a thread?
20:42 brokenchicken If you stick CATCH {} into it
20:43 brokenchicken CATCH { default { .gist.say } }
20:44 RabidGravy Hmm not it seems
20:45 timotimo i think the recent await changes also made backtraces for threads better?
20:45 RabidGravy no backtrace
20:46 RabidGravy can't seem to catcch
20:51 RabidGravy ah there is no backtrace
20:51 pyrimidine joined #perl6-dev
20:53 RabidGravy I'll RT it, it'll probably be obvious to someone
21:02 jnthn Hm, that's an interesting one :)
21:03 RabidGravy Quite bizarre
21:03 RabidGravy and I can't make a ticket on rt
21:04 RabidGravy what?
21:04 timotimo only via mail
21:04 timotimo has been that way for what, three months now?
21:04 timotimo maybe longer
21:05 RabidGravy pfft
21:12 RabidGravy it's RT #130692
21:12 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130692
21:14 AlexDaniel joined #perl6-dev
21:22 jnthn Thanks
21:22 jnthn Will look when less exhausted :)
21:24 RabidGravy definitely odd
21:33 jnthn For anyone who found the article linked (I think) here on fork-join in the LLVM IR, https://cpc2016.infor.uva.es/wp-content/uploads/2016/06/CPC2016_paper_12.pdf is the actual paper
21:33 jnthn Which hopefully is less hand-wavey :)
21:33 jnthn Argh, wait, it's one page
21:34 jnthn http://wsmoses.com/tapir.pdf seems to be the full thing :)
22:15 MasterDuke joined #perl6-dev
22:31 Geth ¦ rakudo/nom: 9f15a4d649 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
22:31 Geth ¦ rakudo/nom: Streamline Any::IterateTwoWithoutPhasers.push-all
22:31 Geth ¦ rakudo/nom:
22:31 Geth ¦ rakudo/nom: - add another case of .slip-all
22:31 Geth ¦ rakudo/nom: - simplify code for handling Slip
22:31 Geth ¦ rakudo/nom: - add scope for magic performance improvement
22:32 Geth ¦ rakudo/nom:
22:32 Geth ¦ rakudo/nom: This make my @b = @a.map: -> \a,\b { } about 15% faster
22:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f15a4d649
22:49 Geth ¦ rakudo/nom: 7384939eb1 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
22:49 Geth ¦ rakudo/nom: Streamline Any::IterateTwoWithoutPhasers.sink-all
22:49 Geth ¦ rakudo/nom:
22:49 Geth ¦ rakudo/nom: - remove unnecessary flag
22:49 Geth ¦ rakudo/nom: - simplify next handling
22:49 Geth ¦ rakudo/nom:
22:49 Geth ¦ rakudo/nom: Makes for @a -> \a, \b { } about 2% faster.  It's not a lot, but for
22:49 Geth ¦ rakudo/nom: such a common idiom, I guess we'll take it.
22:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7384939eb1
22:51 pyrimidine joined #perl6-dev
23:02 ggoebel joined #perl6-dev
23:42 timotimo i got myself a nice toy
23:43 timotimo "cyber clean" "the high-tech cleaning compound"

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