Geth | roast: 0832cfbaeb | (Ronald Schmidt)++ | fudgeandrun fudgeandrun - remove error report for valid non-zero exit code |
01:21 | |
roast: cd19dd62f8 | (Ronald Schmidt)++ | fudgeandrun Merge pull request #243 from ronaldxs/fix2-fudgeandrun-exit fudgeandrun - remove error report for valid non-zero exit code |
|||
rakudo/nom: dc5fb20735 | (Jonathan Worthington)++ | src/Perl6/World.nqp Improve CHECK errors. They now state that it was a CHECK block that went wrong, and give a line number, rather than just SORRY and the exception text. |
10:24 | ||
nqp: 3dff0f3cdb | (Jonathan Worthington)++ | tools/build/MOAR_REVISION Bump MOAR_REVISION for exception SEGV fix. |
10:25 | ||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...3-ga95639c | |||
rakudo/nom: b2eb1155a7 | (Jonathan Worthington)++ | tools/build/NQP_REVISION Get latest MoarVM. Fixes a SEGV in exception handler resolution in `sub { INIT return }`. |
10:26 | ||
¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....6-g3dff0f3 | |||
roast: 8bc33ae5e5 | (Jonathan Worthington)++ | S04-statements/return.t Tests to cover RT #130825. |
10:27 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130825 | ||
IOninja | did it now.. | 11:55 | |
buggable!! y u eat 2.1GB of RAM! | 11:56 | ||
buggable tell Geth you're sorry for chewing through all the RAMs. | 11:57 | ||
huggable: hug Geth | |||
huggable hugs Geth | |||
lizmat | jnthn: would it be an idea to mark 42 xx foo lazy when foo is a bigint, and non-lazy otherwise ? | 12:00 | |
dogbert11 | huggable: buggable | 12:05 | |
huggable | dogbert11, nothing found | ||
jnthn | lizmat: Not sure about that. I guess my first surprise was that it returned List, not Seq... | 12:30 | |
lizmat: But even then, a List can have lazy parts | |||
rt.perl.org/Ticket/Display.html?id=130812 is a bit funny to hunt down | 12:31 | ||
I can't understand how it manages to parse... | |||
IOninja | m: say WHAT (42 xx *) | 12:32 | |
camelia | (Seq) | ||
jnthn | o.O | ||
m: say WHAT (42 xx 10) | 12:33 | ||
camelia | (List) | ||
jnthn | I...don't much like that discontinuity... | ||
IOninja neigther | |||
jnthn | If we can get away with it, I'd prefer Seq all the time | ||
Guess we'd have to see what spectest has to say | |||
nqp: / "[" ~? "]"/ | 12:47 | ||
camelia | Quantifier quantifies nothing. at line 2, near " \"]\"/" at gen/moar/stage2/NQPHLL.nqp:765 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic) from gen/moar/stage2/NQPP6QRegex.nqp:87 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPP6QRege… |
||
jnthn | m: / "[" ~? "]"/ | ||
camelia | ===SORRY!=== Cannot find method 'rxtype' on object of type NQPMu |
||
jnthn | What on earth | ||
Oh... | 12:48 | ||
Geth | rakudo/nom: 91a4ac5a67 | (Jonathan Worthington)++ | src/Perl6/Grammar.nqp Panic upon solitary quantifiers in regexes. The error case here is unable to construct an AST that will not blow up in interesting ways later on in compilation, so we need to abort. Fixes RT #130812, where the `sorry` rather than `panic` led to an internal error because of follow-up operations on a malformed AST. |
13:01 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130812 | ||
roast: a62d2cfe78 | (Jonathan Worthington)++ | S05-metachars/tilde.t Test to cover RT #130812. |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130812 | ||
[Coke] | jnthn++ | 13:04 | |
Geth | roast: 3085a00cbf | (Jonathan Worthington)++ | S02-types/baggy.t Correct test sensitive to hash ordering. |
13:44 | |
nqp: a0de23c86b | (Jonathan Worthington)++ | tools/build/MOAR_REVISION Bump MoarVM for two SEGV fixes. |
13:45 | ||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...7-g3d85900 | |||
IOninja | huh | 13:46 | |
Geth | rakudo/nom: 1cafc67b1a | (Jonathan Worthington)++ | tools/build/NQP_REVISION Get latest MoarVM. * Fix SEGV on xx with a huge value on the right side * Fix SEGV when an enormous number of combiners were put on a char |
||
¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....7-ga0de23c | |||
IOninja | m: my class Foo does Baggy {}; my $b = Foo.new: <a a b>; say WHAT $b.invert | ||
camelia | (Seq) | ||
IOninja | oh OK | 13:47 | |
thought it were a baggy and was worried the infix:<eqv> got broken for them | |||
Geth | roast: 00c3c04394 | (Jonathan Worthington)++ | S15-nfg/many-combiners.t Test to cover SEGV in RT #129227. |
13:48 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129227 | ||
IOninja | the stresstest's been weird lately. Highly variable in how long it takes to finish up, to the point I often suspect it hanged | 14:23 | |
h'sbeen sittin' on t/spec/S17-procasync/stress.t for a few minutes now :/ | |||
and it's done... and t/spec/S17-channel/stress.t was super fast. Other times in reverse, I don't even notice procasync one, but it takes ages to do t/spec/S17-channel/stress.t | 14:24 | ||
and what's more annoying is I'm running this on a 24-core VM but end up waiting for 2 test files to complete one after the other. >:| | 14:43 | ||
lizmat | IOninja: I guess the "slow" algorithm needs some tuning then :-) | 14:45 | |
IOninja | Hm. Wonder if this new weird behaviour have to do with my marking these files as `slow`: github.com/rakudo/rakudo/commit/26...9d441877c9 | ||
Maybe. | |||
lizmat | basically, the "slow" files are "spread out" evenly over the available test files | 14:46 | |
IOninja | ZOFVM: Files=1225, Tests=132903, 243 wallclock secs (22.75 usr 3.50 sys + 4567.17 cusr 284.20 csys = 4877.62 CPU | ||
and there probably ends up one at the very end? The one I end up waiting on. | |||
lizmat | so given say 1000 test files and say 50 slow files, one slow file will be started for each set of 20 test files | ||
IOninja looks at code | |||
lizmat | perhaps they should be evenly spread over the first half | 14:47 | |
IOninja | Will look more at it later. Need to do other stuff ATM. | ||
Geth | rakudo/nom: a08e953018 | (Zoffix Znet)++ | 2 files Fix .comb(Int) failing to work on Cool - Simply forward the capture from the Cool.comb method to Str.comb - Make Cool.comb an `only` method to prevent infiniloop in dispatch when .comb is given wrong args Bug find: irclog.perlgeek.de/perl6-dev/2017-...i_14120030 |
14:50 | |
roast: ec65112712 | (Zoffix Znet)++ | S32-str/comb.t Test .comb(Int) works with Cool invocant Rakudo fix: github.com/rakudo/rakudo/commit/a08e953018 |
14:51 | ||
IOninja | b2gills: done. | ||
Geth | rakudo/nom: 742573724c | (Zoffix Znet)++ | 2 files Fix hang in dispatch of .lines/.words when given wrong args The Cool candidates take a capture and forward it to Str candidates. When the methods are given wrong arguments, we end up stuck in an infinite loop with the Cool and Str candidates passing the stuff to each other. Fix by making Cool candidates `only` methods. Bug find: irclog.perlgeek.de/perl6/2017-02-22#i_14144282 |
15:06 | |
roast: c4ccaa4ce0 | (Zoffix Znet)++ | 2 files Test .lines/.words with wrong args do not hang Rakudo fix: github.com/rakudo/rakudo/commit/742573724c |
15:08 | ||
travis-ci | Rakudo build failed. Jonathan Worthington 'Panic upon solitary quantifiers in regexes. | 15:20 | |
travis-ci.org/rakudo/rakudo/builds/204184707 github.com/rakudo/rakudo/compare/b...a4ac5a671b | |||
buggable | [travis build above] ✓ All failures are due to timeout (0), missing build log (1), or GitHub connectivity (0). | ||
jnthn | buggable++ | 15:47 | |
[Coke] | getting a sporadically failing example test on doc/Type/IO/Socket/INET.pod6 (chunk 1) when run under load. seems to be fine on its own. | 16:00 | |
ww. | |||
Geth | rakudo/nom: 755e25bd57 | (Elizabeth Mattijsen)++ | src/core/Numeric.pm Make %% about 14x faster for Int,Int case - add candidate for Int:D, Int:D - use native mod_i if possible This makes "($_ if $_%%5 for 1..1000000).sum" about 3.3x faster |
19:50 | |
IOninja | cool | 19:52 | |
m: use nqp; say nqp::mod_I(nqp::decont(42),nqp::decont(0),Int)) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unexpected closing bracket at <tmp>:1 ------> 3od_I(nqp::decont(42),nqp::decont(0),Int)7⏏5) |
||
IOninja | m: use nqp; say nqp::mod_I(nqp::decont(42),nqp::decont(0),Int) | ||
camelia | Division by zero in block <unit> at <tmp> line 1 |
19:53 | |
IOninja | aww | ||
m: use nqp; say nqp::mod_I(nqp::decont(42),nqp::decont(0),Num) | |||
camelia | P6opaque: get_boxed_ref could not unbox for the representation '20' of type Num in block <unit> at <tmp> line 1 |
||
IOninja | m: use nqp; say nqp::mod_n(nqp::decont(42),nqp::decont(0)) | ||
camelia | This type cannot unbox to a native number: P6opaque, Int in block <unit> at <tmp> line 1 |
||
IOninja | m: use nqp; say nqp::mod_n(42e0,0e0) | 19:54 | |
camelia | 42 | ||
IOninja | interesting... | ||
timotimo | fantastic, lizmat | 19:59 | |
IOninja | What's this char = 2 bytes is from? github.com/rakudo/rakudo/blob/7425...le.pm#L589 | 20:17 | |
lizmat | UTF-16 ? | 20:19 | |
or rather, words rather than bytes ? | 20:20 | ||
lizmat is not sure about JVM internals | |||
IOninja | m: "I♥u".bytes.say | ||
camelia | No such method 'bytes' for invocant of type 'Str' Did you mean '.encode($encoding).bytes'? in block <unit> at <tmp> line 1 |
||
IOninja | m: "I♥u".encode.elems.say | 20:21 | |
camelia | 5 | ||
IOninja | Hm. Well, it's wrong. Wondering what the Right™ is. | ||
j: "/tmp/Foo.pm6".IO.spurt: "I♥u so very much"; "/tmp/Foo.pm6".IO.open.readchars(3).say | |||
camelia | I♥u | ||
IOninja | j: "/tmp/Foo.pm6".IO.spurt: "I love you so very much"; "/tmp/Foo.pm6".IO.open.readchars(3).say | ||
camelia | I love | ||
ugexe | m: say "I♥u".ords.elems | 20:22 | |
camelia | 3 | ||
IOninja | m: .encode.elems.say "u", "♥", "\c[rainbow flag]" | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3.encode.elems.say7⏏5 "u", "♥", "\c[rainbow flag]" expecting any of: infix infix stopper statement end statem… |
||
IOninja | m: .encode.elems.say for "u", "♥", "\c[rainbow flag]" | ||
camelia | 1 3 14 |
||
IOninja | m: .chars.say for "u", "♥", "\c[rainbow flag]" | 20:23 | |
camelia | 1 1 2 |
||
IOninja | two? | ||
I thought it was ZWS stuff | |||
moritz | m: say "\c[ranbow flag]".substr(0).uniname | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized character name [ranbow flag] at <tmp>:1 ------> 3say "\c[ranbow flag7⏏5]".substr(0).uniname |
||
moritz | m: say "\c[rainbow flag]".substr(0).uniname | ||
camelia | WAVING WHITE FLAG | ||
moritz | m: say "\c[rainbow flag]".substr(1).uniname | ||
camelia | RAINBOW | ||
IOninja | m: say "\c[eye in speech bubble]".chars | 20:24 | |
camelia | 1 | ||
IOninja | m: say "\c[eye in speech bubble]".substr(0).uniname | ||
camelia | EYE | ||
IOninja | m: say "\c[eye in speech bubble]".substr(*-1).uniname | ||
camelia | EYE | ||
IOninja | m: say "\c[eye in speech bubble]".substr(1).uniname | ||
camelia | Nil | ||
IOninja | .ask samcv is it normal that "\c[rainbow flag]".chars == 2 ? It's listed in ZWJ sequence: unicode.org/emoji/charts/emoji-zwj-...ences.html | 20:25 | |
yoleaux2 | IOninja: I'll pass your message to samcv. | ||
lizmat | m: use nqp; say nqp::mod_I(-13,4,Int); say nqp::mod_i(-13,4) # shouldn't these be the same ? | 20:31 | |
camelia | 3 -1 |
||
lizmat | jnthn: ^^^ ? | ||
ah, there's already a RT #128318 | 20:38 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128318 | ||
IOninja | it's not wrong, but just inconsistent, innit? | 20:40 | |
geekosaur | make sure that inconsistency isn't deliberate. soemtimes you *want* floating point to behave differently (remember the whole negative zero thing?) | 20:48 | |
...although you might ten need to actually change _I to check the type | |||
instead of (presumably) assuming someone wanting the integer behavior uses _i | |||
IOninja | Well, I don't know yet if it's right, I'm still trying to find the formula :} | ||
m: say -13**5 mod -13 | 20:49 | ||
camelia | 0 | ||
IOninja | m: use nqp; say nqp::mod_I(-13**5, -13) | 20:50 | |
camelia | ===SORRY!=== Arg count 2 doesn't equal required operand count 4 for op 'mod_I' |
||
IOninja | m: use nqp; say nqp::mod_I(-13**5, -13, Int) | ||
camelia | 0 | ||
IOninja | m: use nqp; say nqp::mod_i(-13**5, -13) | ||
camelia | 0 | ||
IOninja | 0 is good | ||
I don't know what I'm doing \o/ | 20:51 | ||
IOninja relocates | |||
Geth | rakudo/nom: 5ec25177b7 | (Elizabeth Mattijsen)++ | src/core/Int.pm Make Int % Int about 8x faster - use nqp::mod_i if possible (hacked for RT #128318) If RT #128318 would have been fixed, this would have made Int % Int about 10x faster. |
20:59 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128318 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128318 | ||
b2gills | my disconnect from earlier was caused by Perl 6 code that occasionally managed nearly 500% cpu on a 4 core (+4 hyperthreads) machine, according to `top` | 21:16 | |
moritz | .oO( know your ulimits ) |
21:19 | |
b2gills | It was the RAM usage and swapping that forced me to boot up another computer and ssh in to kill it | 21:20 | |
timotimo | jvm always uses utf16, i think? | 21:52 | |
lizmat | yeah, I think the 2*chars was a rude approximation :-) | 21:53 | |
IOninja | I filed it as rt.perl.org/Ticket/Display.html?id...et-history seems its in want of a proper nqp::readcharsfh impl on JVM | 22:03 | |
jnthn | The JVM backend is in want of a proper strings impl :) | 22:06 | |
MasterDuke | anyone have any thoughts on the modified-as-of-yesterday-to-take-into-account-system-bittedness-(which-i-hope-isn't-a-real-word-but-i-can't-think-of-the-right-one) github.com/rakudo/rakudo/pull/1021? | 22:25 | |
lizmat | hmmm... it appears that if I turn foo xx N into a Seq, it breaks >>xx<< :-( | 22:34 | |
jnthn | Hmmm :S | 22:35 | |
MasterDuke | heh, thought the '>>xx<<' was another emoticon at first read | ||
jnthn | Cross-eyed with big ears? :) | ||
MasterDuke | sad elephant instead of sad panda? | 22:36 | |
jnthn | hehe | 22:37 | |
MasterDuke | jnthn: btw, any pointers on my Binder.java problem? | 22:40 | |
jnthn | MasterDuke: I'm about to go to sleep now, but ask me again tomorrow and I'll take a look :) | ||
MasterDuke | thanks, will do | 22:41 | |
lizmat | fwiw, it breaks with consumed iterator error | ||
jnthn | m: say ((1,2),(3,4)) >>Z<< (<a b>, <c d>) | 22:43 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing << or >> at <tmp>:1 ------> 3say ((1,2),(3,4)) >>Z<7⏏5< (<a b>, <c d>) expecting any of: infix infix stopper |
||
jnthn | m: say ((1,2),(3,4)) >>[Z]<< (<a b>, <c d>) | 22:44 | |
camelia | This Seq has already been iterated, and its values consumed (you might solve this by adding .cache on usages of the Seq, or by assigning the Seq into an array) in block <unit> at <tmp> line 1 |
||
jnthn | Seems it's a more general problem than just xx | ||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you so very much"; with "/tmp/Foo.pm6".IO.open { .read(2); .seek: 1, SeekFromCurrent; .tell.say } | 22:54 | |
camelia | 3 | ||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you so very much"; with "/tmp/Foo.pm6".IO.open { .readchars(2); .seek: 1, SeekFromCurrent; .tell.say } | 22:55 | |
camelia | 24 | ||
IOninja | looks .readchars messes up the current position as far as seekage is concerned (it's fine if you try to read more, for example) | ||
lizmat | jnthn: ah, good point | ||
IOninja | only on moarvm | ||
lizmat | that means I'll direct my attention to that tomorrow first | ||
jnthn | I...didn't know we had readchars :P | 22:57 | |
Oh wait, maybe I did :) | |||
IOninja: fwiw, note current position for reading chars is...involved | 22:58 | ||
Note sufficiently to be that far off | |||
But it's at byte level | |||
And we have to read ahead at the bye level to know the next thing isn't a combining char or other non-break thingy in order to hand back the char before it | |||
*byte | 22:59 | ||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you so very much"; with "/tmp/Foo.pm6".IO.open { .readchars(2).say; .tell.say } | ||
camelia | I 3 |
||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you so very much"; with "/tmp/Foo.pm6".IO.open { .readchars(2).say; .readchars(3).say; .tell.say } | ||
camelia | I lov 6 |
||
IOninja | Seems only .seek is affected though | ||
b2gills | sounds like `readchars` is buffered | ||
jnthn | Yeah, something's odd with seek there | ||
Buffered - well kinda :) | 23:00 | ||
IOninja | m: say "I love you so very much".chars | ||
camelia | 23 | ||
IOninja | aha | ||
m: "/tmp/Foo.pm6".IO.spurt: "I love you\nso very much"; with "/tmp/Foo.pm6".IO.open { .readchars(2); .seek: 1, SeekFromCurrent; .tell.say } | |||
camelia | 24 | ||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you\nso very much" x 100; with "/tmp/Foo.pm6".IO.open { .readchars(2); .seek: 1, SeekFromCurrent; .tell.say } | ||
camelia | 2301 | ||
jnthn | Anyway, just sayin' that if it's off-by-one it's actually not lying :) | ||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you\nso very much" x 10000; with "/tmp/Foo.pm6".IO.open { .readchars(2); .seek: 1, SeekFromCurrent; .tell.say } | ||
camelia | 32769 | ||
IOninja | m: "/tmp/Foo.pm6".IO.spurt: "I love you\nso very much" x 20000; with "/tmp/Foo.pm6".IO.open { .readchars(2); .seek: 1, SeekFromCurrent; .tell.say } | ||
camelia | 32769 | ||
IOninja | b2gills++ indeed looks like something buffering or something | 23:01 | |
jnthn | Yeah, that looks like some kinda buffering | ||
IOninja will just file this one | |||
Too hard for me, yet :) | |||
jnthn | The .tell being off-by-some without .seek is the thing I was talking about, to be clear. | ||
I don't really consider that part a bug | |||
The .seek doing something way off, otoh... | 23:02 | ||
Sleep time; 'night | |||
IOninja | night | ||
filed as rt.perl.org/Ticket/Display.html?id=130843 | 23:10 | ||
Geth | rakudo/nom: 90dfdf581d | (Nick Logan)++ | tools/install-dist.pl Refactor install-dist.pl * Create just one Distribution class per routine * Add more descriptive CLI option names * Fix missed `Distribution::Path.new(s/:file/:meta-file/)` switch-a-roo |
23:18 | |
ugexe | nine: github.com/rakudo/rakudo/blob/90df...ist.pl#L20 deleting the version file here makes its non-functional because upgrade-repository() will be rerun on it again (it errors trying to upgrade from v0->v1, since the repo was is actually v2) | 23:23 | |
so I suspect we need a way to determine if a repo without a version file is actually v0 or not | 23:24 | ||
MasterDuke | timotimo: i was surprised by the time difference between $a+=5 and $a=$a+5, a profile is kind of interesting. += is 25% spesh, 75% jit, 6000262 frames entered (1999795 eliminated by in-lining). = + is 100% jit, 671 frames entered(5999385 eliminated by in-lining) | 23:33 | |
for `my $a = 0; loop (my $b = 0; $b <= 10000000; $b+=5) { $a+=$b }; say $a` vs `my $a = 0; loop (my $b = 0; $b <= 10000000; $b=$b+5) { $a=$a+$b }; say $a` | 23:34 | ||
lizmat | good night, #perl6-dev! | 23:45 | |
IOninja | night | 23:56 | |
samcv | IOninja, it should be 1 character. there are some that show up as multiple characters still | 23:58 |