Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:00 buggable ???????????? It's time for the monthly Accidental /win Lottery ???????????? We have 12 ballots submitted by 8 users! DRUM ROLL PLEASE!...
00:00 buggable And the winning number is 14! Congratulations to nine! You win a can of WD40!
00:14 Geth ¦ rakudo: skids++ created pull request #1148: Special-case FailGoal to adhere to S05 (Fix RT#130528)
00:14 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1148
00:14 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130528
00:17 japhb Can someone with power over buggable update and restart it please?
00:23 MasterDuke joined #perl6-dev
00:41 MasterDuke hm, i just tried profiling one of the end stages of a `make install` (./perl6-m --profile tools/build/install-core-dist.pl /home/dan/Source/perl6/install/share/perl6), but would get a backtrace or segfault
00:46 MasterDuke https://gist.github.com/MasterDuke17/3b0b6209fb06ba5ddecb9e66f1144eb0
01:05 travis-ci joined #perl6-dev
01:05 travis-ci Rakudo build errored. lizmat 'Merge pull request #1145 from MasterDuke17/simplify_ignoremark_and_ignorecase_in_INTERPOLATE
01:05 travis-ci https://travis-ci.org/rakudo/rakudo/builds/270457466 https://github.com/rakudo/rakudo/compare/8b5d283cb616...067f5407ef31
01:05 travis-ci left #perl6-dev
01:05 buggable [travis build above] ? All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0).
01:06 Geth ¦ roast: skids++ created pull request #300: Add tests for RT#130451
01:06 Geth ¦ roast: review: https://github.com/perl6/roast/pull/300
01:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130451
01:06 Geth ¦ roast: d56d08d9c4 | skids++ | S02-types/array-shapes.t
01:06 Geth ¦ roast: Add tests for RT#130451
01:06 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d56d08d9c4
01:06 Geth ¦ roast: 6b151a174a | skids++ (committed using GitHub Web editor) | S02-types/array-shapes.t
01:06 Geth ¦ roast: Merge pull request #300 from skids/rt130451
01:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130451
01:06 Geth ¦ roast:
01:06 Geth ¦ roast: Add tests for RT#130451
01:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130451
01:06 Geth ¦ roast: review: https://github.com/perl6/roast/commit/6b151a174a
01:34 Ven`` joined #perl6-dev
01:52 ilbot3 joined #perl6-dev
01:52 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
01:53 MasterDuke TimToady: hm, would that also mean what i'm trying to do here isn't possible? https://irclog.perlgeek.de/perl6-dev/2017-08-31#i_15098626
01:54 MasterDuke oops, wrong channel
02:03 AlexDaniel can I have admin access on perl6/doc repo so that I can manage the webhook for the upcoming SQUASHathon?
02:04 AlexDaniel I can of course bother somebody to set it up (and then resend stuff if something happens, and also remove it after the event, …), but it'd be easier if I can do it myself
02:44 Geth ¦ roast: skids++ created pull request #301: Stop skipping tests that have been working since 2015.10
02:44 Geth ¦ roast: review: https://github.com/perl6/roast/pull/301
02:44 Geth ¦ roast: 46046f8f2a | skids++ | S06-operator-overloading/prefix.t
02:44 Geth ¦ roast: Stop skipping tests that have been working since 2015.10
02:44 Geth ¦ roast: review: https://github.com/perl6/roast/commit/46046f8f2a
02:44 Geth ¦ roast: b854dfd358 | skids++ (committed using GitHub Web editor) | S06-operator-overloading/prefix.t
02:44 Geth ¦ roast: Merge pull request #301 from skids/prefixrts
02:44 Geth ¦ roast:
02:44 Geth ¦ roast: Stop skipping tests that have been working since 2015.10
02:44 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b854dfd358
02:44 MasterDuke skids++ bunch of rakudo and roast PRs recently
02:48 skids someone else will have to 'resolve' 124974, I get no option to reply/close in the RT UI on that one.
02:50 MasterDuke i have the resolve option, i'll resolve it now
02:51 MasterDuke done
04:14 samcv working on my monthly grant update, almost done
04:31 samcv MasterDuke, looks like MVM_string_equal is the 5th most cpu usage of a mvm function
04:31 samcv 2.8% but let me see i think i can speed up that function by at least 50%
04:32 MasterDuke when doing what?
04:32 samcv compiling the setting
04:32 MasterDuke oh, nice!
04:32 samcv hmm it may already be fast hmm. i remember it being slower than my revised unicode one though
04:32 samcv the unicmp that is
04:33 samcv not sure if you read/heard about how i sped that up
04:33 MasterDuke i usually read that stuff, but i don't remember the details
04:34 samcv ok it doesn't seem to in my previous grant status update, hmm i may have done it since then. it was in my YAPC-EU presentation https://cry.nu/YAPC-EU-2017/MoarVM-Internals/#/ here are the sslides if you're niteresting
04:34 samcv *ed
04:35 samcv but i made a ring buffer that i used a grapheme iterator, and when i found a differing one i refered that ring buffer (the previous 3 graphemes) to the function. so you can unicmp a string that's 1000000's of graphemes long and it doesn't have to get the collation data for all but the last 3 before where it differs
04:35 samcv pretty cool
04:36 MasterDuke good deal. i haven't read those yet, but i now have a tab opened for tomorrow
04:36 samcv cool
04:36 MasterDuke i'm off to sleep, later...
04:43 travis-ci joined #perl6-dev
04:43 travis-ci Rakudo build failed. lizmat 'Merge pull request #1147 from MasterDuke17/use_eqat_instead_of_index_in_INTERPOLATE
04:43 travis-ci https://travis-ci.org/rakudo/rakudo/builds/270566641 https://github.com/rakudo/rakudo/compare/e717d14db1fc...d135728b71ce
04:43 travis-ci left #perl6-dev
04:43 buggable [travis build above] ? All failures are due to timeout (0), missing build log (0), GitHub connectivity (1), or failed make test (0).
04:44 Geth ¦ nqp: 0ead16794b | (Samantha McVey)++ | tools/find-undocumented-ops.p6
04:44 Geth ¦ nqp: Add script to find undocumented NQP ops
04:44 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/0ead16794b
04:47 samcv oops forgot i hadn't pushed this!
04:57 Geth ¦ nqp: d93277beeb | (Samantha McVey)++ | docs/ops.markdown
04:57 Geth ¦ nqp: Regenerate table of contents for oplist doc
04:57 Geth ¦ nqp:
04:57 Geth ¦ nqp: Also make a few changes for consistency. This fixes a lot of links which
04:57 Geth ¦ nqp: did not work. Generated with `markdown-toc`
04:57 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/d93277beeb
05:36 brrt joined #perl6-dev
06:20 [TuxCM] joined #perl6-dev
06:23 [Tux] This is Rakudo version 2017.08-25-g7d1ece805 built on MoarVM version 2017.08.1-32-gcd41322e
06:23 [Tux] csv-ip5xs        1.322 - 1.368
06:23 [Tux] test            10.147
06:23 [Tux] test-t           3.523 - 3.538
06:23 [Tux] csv-parser      12.261
06:44 brrt joined #perl6-dev
06:53 AlexDaniel Zoffix: hm, not quite sure what to do with the timezone thingy. Currently I've set the bot to use Saturday × UTC-12..UTC+14, but that turns it into a two day squashathon… I mean, sure, that's *very inclusive*, but it does not sound like something we want
06:55 AlexDaniel or maybe that's OK? Maybe somebody wants to start on Friday evening and stop on Sunday morning… :-)
06:55 Geth ¦ rakudo/nom: 51709e01c0 | (Elizabeth Mattijsen)++ | src/core/Instant.pm
06:55 Geth ¦ rakudo/nom: Fix for RT #132006
06:55 Geth ¦ rakudo/nom:
06:55 Geth ¦ rakudo/nom: AlexDaniel++ for spotting
06:55 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/51709e01c0
06:55 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132006
06:57 AlexDaniel I guess if people don't want to start early they simply don't have to, and given the current activity most people won't even notice the point when UTC+14 squashathon starts
07:02 Geth ¦ rakudo/nom: ed4f6cc998 | skids++ | src/Perl6/Grammar.nqp
07:02 Geth ¦ rakudo/nom: Special-case FailGoal to adhere to S05 (Fix RT#130528)
07:02 Geth ¦ rakudo/nom:
07:02 Geth ¦ rakudo/nom: (...also, clean up whitespace debris produced during parsing)
07:02 Geth ¦ rakudo/nom:
07:02 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130528
07:02 Geth ¦ rakudo/nom:   The general-case behavior of the rx ~ operator is correctly
07:02 Geth ¦ rakudo/nom:   implemented, but it results in an internal variable name
07:02 Geth ¦ rakudo/nom:   leaking, which contradicts an example in S05.
07:02 Geth ¦ rakudo/nom:
07:02 Geth ¦ rakudo/nom:   This is an ugly fix, but doing it "right" would impact
07:02 Geth ¦ rakudo/nom:   compile-time hot paths.  This solution confines the mess
07:02 Geth ¦ rakudo/nom:   entirely to the error handling path.
07:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed4f6cc998
07:03 Geth ¦ rakudo/nom: 909688953e | lizmat++ (committed using GitHub Web editor) | src/Perl6/Grammar.nqp
07:03 Geth ¦ rakudo/nom: Merge pull request #1148 from skids/rt130528
07:03 Geth ¦ rakudo/nom:
07:03 Geth ¦ rakudo/nom: Special-case FailGoal to adhere to S05 (Fix RT#130528)
07:03 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130528
07:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/909688953e
07:06 Zoffix AlexDaniel: why not something we want? People don't have to stay around for the whole thing... I was actually thinking of squashatonning on EST Friday, so I could have the 3-day weekend entirely free :)
07:06 AlexDaniel ehh timezones
07:06 AlexDaniel Zoffix: alright then, the bot will be up in an hour or two
07:07 Zoffix \o/
07:07 AlexDaniel Zoffix: ah, can you make me an admin on perl6/doc so that I can manage the webhook?
07:10 moritz AlexDaniel: done
07:10 AlexDaniel yay \o/
07:10 AlexDaniel moritz: thanks
07:25 Zoffix .tell japhb update and restart buggable? But there's not been any new updates to it? To send multi-line responses, ATM you need to do the Plugin role: https://github.com/zoffixznet/huggable/blob/master/lib/IRC/Client/Plugin/Hug.pm6#L1-L2  and then use $.irc to send stuff https://github.com/zoffixznet/huggable/blob/master/lib/IRC/Client/Plugin/Hug.pm6#L1-L2
07:25 yoleaux Zoffix: I'll pass your message to japhb.
07:29 Skarsnik joined #perl6-dev
07:41 buggable joined #perl6-dev
07:41 Zoffix buggable: speed 20:4
07:41 buggable Zoffix, ?????????            dates: 2017-08-18–2017-09-01
07:41 buggable Zoffix, ?????????            range: 3.471s–4.592s
07:41 buggable Zoffix, ????????? ??? ?      speed: 25% faster
07:41 buggable Zoffix, ????????????????????
07:41 Zoffix .tell japhb nm; saw the update in your fork and pulled it in and restarted buggable
07:41 yoleaux Zoffix: I'll pass your message to japhb.
07:51 Zoffix AlexDaniel: or maybe I'll wait for Saturday :) I kinda messed up my sleeping pattern. Woke up at 3am and I'm guessing I'll be looking forward to going to bed when I get back from work ^_^
07:52 AlexDaniel Zoffix: I feel ya
08:20 squashable6 joined #perl6-dev
08:21 AlexDaniel squashable6: status
08:21 squashable6 AlexDaniel, Next SQUASHathon in ?1 hour (2017-09-02 UTC-12?UTC+14)
08:23 travis-ci joined #perl6-dev
08:23 travis-ci Rakudo build passed. lizmat 'Merge pull request #1148 from skids/rt130528
08:23 travis-ci https://travis-ci.org/rakudo/rakudo/builds/270716120 https://github.com/rakudo/rakudo/compare/51709e01c078...909688953eab
08:23 travis-ci left #perl6-dev
08:31 [TuxCM] joined #perl6-dev
08:45 samcv Hot off the presses! Unicode grant status update 4! https://cry.nu/perl6/grant-status-update-4/ tons of exciting things
08:47 samcv Zoffix, i'm hoping i made some of that faster? what test is that running?
08:47 samcv buggable, release
08:48 samcv NeuralAnomaly, status
08:48 NeuralAnomaly samcv, Use releasable6 bot instead. e.g. try: releasable6: status
08:48 samcv releasable6, status
08:48 releasable6 samcv, Next release in 15 days and ?10 hours. No blockers. Changelog for this release was not started yet
08:48 releasable6 samcv, Details: https://gist.github.com/55e7995b0946858688b834dec4c40bac
08:48 samcv plenty of time
08:48 samcv so many great things!
10:01 squashable6 joined #perl6-dev
10:24 Skarsnik damn I love the API I wrote to register lib in NC x)
10:26 Zoffix samcv: it's just reporting Tux's data
10:26 Zoffix huggable: csv
10:26 huggable Zoffix, https://github.com/Tux/CSV (see `bench csv` for how to run bench)
10:26 Zoffix huggable: bench csv
10:26 huggable Zoffix, export PATH=`pwd`/install/bin:$PATH; cd CSV; for i in $(seq 1 10000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv; time perl6 -Ilib -MText::CSV test-t.pl </tmp/hello.csv
10:34 Skarsnik I will be able to write https://gist.github.com/Skarsnik/8687bba8063422798d1a2e83e859c195 in all my libxml binding file x)
10:39 squashable6 joined #perl6-dev
10:42 buggable joined #perl6-dev
10:43 Zoffix Skarsnik: awesome \o/
11:05 AlexDaniel if squashable6 gets annoying, just tell it to shut up and it will
11:15 nine Skarsnik: what does that do?
11:18 Skarsnik this PR https://github.com/rakudo/rakudo/pull/716
11:18 Skarsnik I am making mergable if one day someoine want to merge it x)
11:22 nine Skarsnik: I wonder, if we should rethink the whole NativeCall interface and make that available via use NativeCall :api<2>;
11:22 Skarsnik well it work along side the existing code
11:22 nine yes
11:23 nine Thanks to lexical module loading :)
11:23 nine This would be one of the prime use cases for that :)
11:24 Skarsnik but yeah NC/Test does not have a well defined version managment
11:25 Skarsnik a NC v2 for me will force the use of type called like c-int32 to avoid confusion with rakudo native type x)
11:25 nine what confusion?
11:26 Skarsnik the fact that int32 is VM native type and both a C 'native' type
11:27 nine But they are meant to be the same?
11:28 Skarsnik I mean it lead to confusion some time. int is native but not a good C native type for NC
11:29 Skarsnik Zoffix, hm where is the 6.d idea repo?
11:34 nine Skarsnik: I still kinda like the old idea of a way to avoid repetition like native-library 'foo' { sub foo() is native { * }; sub bar() is native { * }; }
11:35 Skarsnik well it will still work
11:36 Skarsnik I wonder if we could add stuff to list routine associated with a lib
11:36 Skarsnik Not sure what the use could be
11:38 Skarsnik can we get property of the block a routine is in ?
11:38 nine Well this is Perl 6. I guess there is a way to implement this :)
11:39 Skarsnik I have to admit that look like a neat syntax : native-lib 'foo' { all my def}
11:40 Zoffix huggable: 6.d
11:40 huggable Zoffix, Proposals for 6.d language: https://github.com/perl6/6.d-prep/blob/master/TODO/FEATURES.md
11:40 Zoffix Skarsnik: ^
11:40 Skarsnik not sure if possible to avoid the is native even in block like this
11:42 Skarsnik nine, some of my thought on NC https://github.com/perl6/6.d-prep/blob/master/for-review/NativeCall.md
11:43 MasterDuke joined #perl6-dev
11:48 [Coke] RT #132003 - this should probably be RFC not NYI (if NYI, should have a pointer to where we've said it's going to happen)
11:48 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132003
11:48 yoleaux 31 Aug 2017 02:10Z <AlexDaniel> [Coke]: A *tiny* update on the Malformed UTF-8 issue. There's hope! https://rt.perl.org/Ticket/Display.html?id=131961#txn-1486102
11:51 Skarsnik could be neat if we could write grammar for binary string
11:52 [Coke] AlexDaniel, thanks.
12:01 Zoffix I see some mentions of the speculations as reference for marking that ticket NYI: https://rt.perl.org/Public/Bug/Display.html?id=132003#txn-1486259
12:02 Zoffix m: say "?u" ~~ m:bytes  / .**2 /;
12:02 camelia rakudo-moar 909688: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Adverb bytes not allowed on m?at <tmp>:1?------> 3say "?u" ~~ m:bytes  / .**2 /7?5;?»
12:03 nine I'm not sure grammars are the right tool for binary data.
12:04 Skarsnik hm
12:04 Skarsnik for like a dissambler it could be usefull?
12:04 nine Text formats where grammars shine are all about tokenization and deciding after each token what may come next. I don't know of any binary format that works this way.
12:05 nine Ok, maybe a disassembler is a good example :)
12:06 nine But what I more often see is some well defined format with data structures that may have some header word that tells us what structure it is. Also lot's of offsets in the byte stream (think image file header with the offset of the first data chunk)
12:06 Skarsnik not even sure what needed to make a keyword 'stuff' {} work. A trait on a block?
12:06 nine Parsing TCP headers is about "is this flag in byte 23 set?"
12:08 nine Really many binary formats can be better described by NativeCall's CStruct. Except that the latter implies some alignment.
12:09 Skarsnik m: multi sub trait_mod:<is>(Block $s, :$foo) { say 'foo'}; foo {};
12:09 camelia rakudo-moar 909688: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    foo used at line 1??»
12:13 Skarsnik m: multi sub trait_mod:<is>(Block $s, :$foo) { say 'foo'}; {} is foo;
12:13 camelia rakudo-moar 909688: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Strange text after block (missing semicolon or comma?)?at <tmp>:1?------> 3d:<is>(Block $s, :$foo) { say 'foo'}; {}7?5 is foo;?    expecting any of:?        infix?        infix stopper?  …»
12:14 Zoffix m: class foo {}; sub infix:<is> (&s, foo) {say "foo"}; {;} is foo
12:14 camelia rakudo-moar 909688: OUTPUT: «foo?»
12:15 Zoffix {} is a Hash, not a Block, although even were you to fix that, that code won't work.
12:15 Skarsnik hm was there a named block syntax?
12:15 Zoffix m: my &foo = {say "foo"}; foo
12:15 camelia rakudo-moar 909688: OUTPUT: «foo?»
12:15 Zoffix (I only know of that one)
12:16 Skarsnik like to use with a goto
12:16 Skarsnik *should buy a perl 6 book*
12:16 Zoffix We don't got goto yet
12:16 Zoffix Though we do have labels already
12:17 Zoffix m: FOO: loop { loop { say "hi"; last FOO if $++ > 2 } }; say "outta here"
12:17 camelia rakudo-moar 909688: OUTPUT: «hi?hi?hi?hi?outta here?»
12:31 llfourn joined #perl6-dev
13:19 MasterDuke is it just me, or does this list of arguments ( https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L10052-L10061 ) look wrong, considering this is the method signature ( https://github.com/rakudo/rakudo/blob/nom/src/core/Match.pm#L193-L201 )?
13:23 nine MasterDuke: assuming the QAST::SVal.new( :value('INTERPOLATE') ) is used to find the method, it looks fine to me?
13:23 Zoffix MasterDuke: yeah, especially considering the same QAST a few lines below doesn't have the extra int arg
13:23 MasterDuke Zoffix: yeah incorrect, or yeah agree with nine?
13:23 Zoffix extra int before the monkey stuff
13:24 Zoffix MasterDuke: it looks wrong to me too
13:24 MasterDuke yep, that's what stuck out to me
13:25 Zoffix gah, git blame on that page killed my browser =(
13:26 MasterDuke heh, it takes a couple seconds on the command line
13:26 MasterDuke most of those lines are from 2013 or 2015
13:27 MasterDuke essentially an initial commit to add interpolate to P5 regexes, and then a single commit to add ignoremark support (which i think was done off-by-one)
13:27 Skarsnik git still cnfuse me o no end
13:27 Skarsnik git checkout -b switch branch?
13:27 MasterDuke that creates a branch and switches to it
13:27 nine -b is for a new branch
13:28 nine Zoffix: the last int is optional
13:28 Skarsnik duh
13:28 Skarsnik how it let me create a branch that exist
13:28 Skarsnik fuck this
13:29 MasterDuke nine: yeah, but the order of the first few seems wrong
13:29 MasterDuke the non-optional ones
13:29 Zoffix MasterDuke: well, now I'm unsure. is $<codeblock>.ast, the invocant or passed as \val?
13:29 Skarsnik best git command : rm -rf
13:31 Zoffix nine: assuming `int $monkey` gets value from QAST::IVal.new( :value(monkey_see_no_eval($/)) ) the code MasterDuke linked to has 4 values before the monkey line, while the same code block below has only 3 values. That makes me think at least one of them is wrong
13:33 * Zoffix sees neither QAST::Regex nor QAST::NodeList in https://github.com/perl6/nqp/blob/master/docs/qast.markdown :(
13:33 * Zoffix &
13:33 MasterDuke can also compare with P6 regex stuff around line 9848
13:34 MasterDuke which seem to match the 3 args before monkey, not the 4
13:39 Skarsnik AlexDaniel, added you a source port for https://github.com/rakudo/rakudo/pull/1137 x)
13:41 Skarsnik dunno if I want to work on async now
13:42 Geth ¦ roast: skids++ created pull request #302: Tests for matters surrounding RT#130528
13:42 Geth ¦ roast: review: https://github.com/perl6/roast/pull/302
13:42 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130528
13:42 Geth ¦ roast: 03c04c711c | skids++ | S32-exceptions/misc.t
13:42 Geth ¦ roast: Tests for matters surrounding RT#130528
13:42 Geth ¦ roast: review: https://github.com/perl6/roast/commit/03c04c711c
13:42 Geth ¦ roast: 2cef80a326 | skids++ (committed using GitHub Web editor) | S32-exceptions/misc.t
13:42 Geth ¦ roast: Merge pull request #302 from skids/rt130528
13:42 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130528
13:42 Geth ¦ roast:
13:42 Geth ¦ roast: Tests for matters surrounding RT#130528
13:42 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130528
13:42 Geth ¦ roast: review: https://github.com/perl6/roast/commit/2cef80a326
13:48 skids joined #perl6-dev
14:32 nine Zoffix: yes, that does look fishy, indeed.
14:35 brrt joined #perl6-dev
14:40 Geth ¦ rakudo: MasterDuke17++ created pull request #1149: Make INTERPOLATE's parameters non-optional
14:40 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1149
15:14 MasterDuke joined #perl6-dev
15:21 brrt joined #perl6-dev
15:30 Skarsnik hm running efence on rakudo perl 6 is not that helpful x)
15:31 Skarsnik crashing on a malloc is not fun to debug
15:42 timotimo crashing on a malloc? that doesn't make much sense unless the internal structures malloc uses have gotten busted
15:43 timotimo like a free list entry pointing at an incorrect location?
15:44 Skarsnik generally it's a bug somewhere else. from what I remember when I work with this
15:45 Skarsnik it crash on that : https://github.com/MoarVM/MoarVM/blob/master/src/6model/reprs/VMArray.c#L1155 (runing a perl6 -e '')
15:46 Skarsnik the malloc size is normal
15:46 Skarsnik hm
15:46 Skarsnik I don't remeber if efence is thread safe actually
15:49 MasterDuke Skarsnik: MVM_SPESH_DISABLE=1 should make it not use any threads at startup (i think)
15:55 timotimo aye, and if you have something multithreaded, you may be able to just my $*SCHEDULER = CurrentThreadScheduler.new();
15:55 b2gills joined #perl6-dev
15:55 Skarsnik hoo
15:55 Skarsnik it run out of page to create
15:56 timotimo ah, ok, memory exhaustion, then?
15:57 Skarsnik just went above the max memory pages
15:58 Skarsnik not memory avalaible
15:58 Skarsnik damn again
15:59 timotimo efence wastes memory left, right and center
16:00 timotimo after all, it allocates like a whole page left and right of every allocation, or something like that?
16:00 Skarsnik yes
16:00 timotimo there's a few things i'd like to reduce the amount of individual allocations for in the future
16:01 Skarsnik echo 16553500 > /proc/sys/vm/max_map_count :)
16:01 timotimo like p6opaque's many description pieces
16:01 Skarsnik like 500 time the default
16:01 timotimo oh wow
16:01 Skarsnik ok better
16:01 Skarsnik does not crash right away
16:03 Skarsnik [Inferior 1 (process 21870) exited normally]
16:03 Skarsnik damn
16:05 Zoffix MasterDuke: have you considered sending the CLA and getting commit bit to rakudo?
16:05 Zoffix huggable: CLA
16:05 huggable Zoffix, http://www.perlfoundation.org/contributor_license_agreement  print it out, sign it, scan it in (resize your scan to 250KB or less). Email to trademark -at- perlfoundation.org
16:06 Skarsnik EF_ALLOW_MALLOC_0=1 LD_PRELOAD=/usr/lib/libefence.so.0 ./install/bin/perl6-gdb-m -I ../../benchmark/exemel/lib/ -I ../../benchmark/perl6-gumbo/lib/ ../../benchmark/crashgumbo.p6
16:06 * Skarsnik goes for a 1 break
16:06 Skarsnik 1h
16:12 Skarsnik I wonder if I should run spec test like this
16:27 robertle joined #perl6-dev
16:35 Skarsnik_ joined #perl6-dev
16:37 Skarsnik__ joined #perl6-dev
16:37 japhb Zoffix: Sorry for the confusion re: buggable.  I'd forgotten that I was pushing to a fork.  Anyway, hope you like the change.
16:37 yoleaux 07:25Z <Zoffix> japhb: update and restart buggable? But there's not been any new updates to it? To send multi-line responses, ATM you need to do the Plugin role: https://github.com/zoffixznet/huggable/blob/master/lib/IRC/Client/Plugin/Hug.pm6#L1-L2  and then use $.irc to send stuff https://github.com/zoffixznet/huggable/blob/master/lib/IRC/Client/Plugin/Hug.pm6#L1-L2
16:37 yoleaux 07:41Z <Zoffix> japhb: nm; saw the update in your fork and pulled it in and restarted buggable
16:38 Zoffix Yeah, it
16:38 Zoffix Yeah, it's good. japhb++
16:46 dogbert2 joined #perl6-dev
17:04 Skarsnik__ hm
17:04 Skarsnik__ ElectricFence Exiting: mmap() failed: [New Thread 0x7fff70f0d700 (LWP 22235)]
17:04 [TuxCM] joined #perl6-dev
17:05 Geth joined #perl6-dev
17:09 Geth ¦ doc: fb2d3fc024 | (Zoffix Znet)++ | 2 files
17:09 Geth ¦ doc: Improve object clonning docs
17:09 Geth ¦ doc:
17:09 Geth ¦ doc: - Document clone behaviour of %. and @. attributes
17:09 Geth ¦ doc:     (Closes #1458)
17:09 Geth ¦ doc: - Shorten wording
17:09 Geth ¦ doc: - Move custom clone examples to Mu.clone docs
17:09 Geth ¦ doc: - Mention private attrs get cloned too
17:09 Geth ¦ doc: - Remove "magical"; we don't have any magic
17:09 Geth ¦ doc: - Remove incorrect and somewhat rambly paragraph about
17:09 Geth ¦ doc:     Mu.clone being a submethod… it isn't
17:09 Geth ¦ doc: review: https://github.com/perl6/doc/commit/fb2d3fc024
17:09 Zoffix oops; wrong chan -_-
17:22 Geth ¦ roast: skids++ created pull request #303: Fix incorrect/skipped test for RT#124848 (RT#69192)
17:22 Geth ¦ roast: review: https://github.com/perl6/roast/pull/303
17:22 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124848
17:22 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=69192
17:23 Geth ¦ roast: e4a2c0b589 | skids++ | S12-methods/multi.t
17:23 Geth ¦ roast: Fix incorrect/skipped test for RT#124848 (RT#69192)
17:23 Geth ¦ roast:
17:23 Geth ¦ roast: The results of this test are correct for a runtime
17:23 Geth ¦ roast:   mixin where roles were added one at a time... which
17:23 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124848
17:23 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=69192
17:23 Geth ¦ roast:   is one of the reasons why "does (Role1, Role2, Role3)"
17:23 Geth ¦ roast:   exists.  So use it.  What probably happened in #124848
17:23 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124848
17:23 Geth ¦ roast:   was the wrong fix was applied to the test after
17:23 Geth ¦ roast:   "does" lost the associativity it was not supposed to have.
17:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/e4a2c0b589
17:23 Geth ¦ roast: 0cf960cf29 | skids++ (committed using GitHub Web editor) | S12-methods/multi.t
17:23 Geth ¦ roast: Merge pull request #303 from skids/rt124848
17:23 Geth ¦ roast:
17:23 Geth ¦ roast: Fix incorrect/skipped test for RT#124848 (RT#69192)
17:23 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124848
17:23 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=69192
17:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0cf960cf29
17:44 lizmat joined #perl6-dev
17:44 Skarsnik should https://github.com/MoarVM/dyncall/blob/1dabd7c2fd438920502c85eaf9ca4212d722c4b5/dynload/dynload_syms_elf.c#L132 check for a failure and die?
17:49 lizmat .
17:52 Skarsnik AlexDaniel, did you try your rakudo crash with latest rakudo?
17:52 AlexDaniel Skarsnik: which crash exactly?
17:52 Skarsnik *gumbo
17:53 Skarsnik I ran it with efence and it's still alive for now (but it's very slow)
17:53 AlexDaniel Skarsnik: well, I'll try right now, but IIRC it was still broken after 2017.08
18:08 Skarsnik I wonder if it cradh with one of the first revision of the module (no Gumpo::Parser class)
18:19 brrt joined #perl6-dev
18:39 Skarsnik haaa a crash finally
18:46 Skarsnik maybe it's gumbo fault. hm
19:05 Skarsnik damn I can't watch the value of a MVMint64 in gdb
19:10 Skarsnik https://github.com/MoarVM/MoarVM/blob/master/src/core/nativecall.c#L691 I dont get this comment x)
19:12 AlexDaniel Skarsnik: yep, just tried it again and got MoarVM panic
19:16 Skarsnik cptr = *((void **)(storage + repr_data->struct_offsets[i])); that crash on this. and I am not sure this is safe
19:31 Skarsnik https://www.securecoding.cert.org/confluence/display/c/INT36-C.+Converting+a+pointer+to+integer+or+integer+to+pointer
19:35 Skarsnik AlexDaniel, can you try replacing the line 754 in nqp/MoarVM/src/core/nativecall.c with cptr = *((void **)((uintptr_t) storage + (uintptr_t) repr_data->struct_offsets[i]));
19:36 Skarsnik it does not crash anymore for me
19:36 Skarsnik but I am getting tired/strained on typing with one hand :(
19:42 buggable joined #perl6-dev
19:44 buggable joined #perl6-dev
19:45 buggable joined #perl6-dev
19:48 buggable joined #perl6-dev
19:51 AlexDaniel Skarsnik: er, maybe, I'm currently hacking on docs
19:51 AlexDaniel so possibly tomorrow or later
19:52 Skarsnik I tried on a rakudo-2016.10
19:53 AlexDaniel Skarsnik: I've linked this discussion so that it's not lost https://rt.perl.org/Ticket/Display.html?id=131003#txn-1486588
19:57 Skarsnik this look very likely it's the cause. if this + manage to generate a signed that goesback to -xxx it goes boom when trying to do a ptr with it
20:13 AlexDani` joined #perl6-dev
20:29 lizmat joined #perl6-dev
20:39 MasterDuke what's an example of something prohibited in regex interpolation unless `use MONKEY` is on?
21:00 lizmat joined #perl6-dev
21:09 samcv MasterDuke, how much speed increase did you get from changing things from index* to eqat* in INTERPOLATE?
21:13 samcv oh and previously you also changed it from a while loop and ordbaseat/other things into the proper ops
21:19 MasterDuke samcv: i didn't measure it directly, but didn't really notice any speedup
21:21 MasterDuke the index*->eqat* changes would probably slow it down, but index* was wrong
21:22 samcv wait why would eqat be slower than index
21:22 MasterDuke checks at every position
21:23 samcv isn't that what index does?
21:23 samcv .o( eventually i want to have knuth morris pratt on ignoremark and ignore case as well. that will be sweet )
21:23 samcv for index* that is
21:23 MasterDuke but there's the overhead of the INTERPOLATE each time
21:24 MasterDuke instead of just once (for index)
21:25 samcv well you changed it from index to eqat in the exact same location so that should be faster
21:27 samcv maybe i'm missing something
21:27 MasterDuke i'll explain in a couple min
21:28 samcv kk
21:38 MasterDuke ok. so INTERPOLATE is called for each position in the haystack until there's a match
21:38 samcv just noticed a point where a user could overflow the stack. doesn't appear to crash it though
21:39 MasterDuke this used to be done via the loop+ordbaseat, is now done via eqat
21:39 MasterDuke i accidentally used index
21:39 samcv ah ok
21:40 MasterDuke which would be faster (since it does the whole walk each position in C, instead of via successive INTERPOLATE calls)
21:40 MasterDuke but is wrong, since the needle could change at each INTERPOLATE call
21:40 MasterDuke (in some situations)
21:41 samcv oh wait nvm wasn't triggering it properly
21:43 samcv with how i changed getting the property values, i allocate a string onto the stack. just realized if some malicious user requested a property value string that was larger than the stack
21:43 samcv then you'd get a SIGSEGV. so gonna put bounds on it
21:46 MasterDuke heh, yeah, that shouldn't be allowed
21:46 samcv like it is super unlikely anyone would do it. but safety is good
21:46 samcv anywhere you're allocating onto the stack or into memory with user input
22:06 samcv oh MasterDuke i thought you might like this article http://llewellynfalco.blogspot.com/2016/02/dont-use-greater-than-sign-in.html
22:07 samcv on how to get clairity in conditionals and consistency. i've adopted its suggestions and it's made the conditionals i write clearer and more consistent
22:07 samcv and faster to read and understand quickly
22:26 samcv interestingly the bottom function is 1.5x faster than the top one, testing it only for numbers under 1000 https://gist.github.com/77c241e6d25c035213ea6230c6011a01
22:26 samcv i'm curious how that compiles
22:27 samcv or numbers under 100 even
23:42 skids joined #perl6-dev

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