samcv | hmm. i gotta do some more stuff before i get paid. merge the collation stuff. write some documentation. and fix the unicode property name clashes in the database. and Generate Hangul codepoint names algorithmically off the top of my head | 00:00 | |
and get the knuth-morris-pratt string search thing merged, tho that wasn't part of the grant, not a bad thing to do | 00:01 | ||
so fairly close | |||
AlexDaniel | samcv++ ? your work | 00:06 | |
BenGoldberg | Zoffix, is that a pink guitar, or a shiny red one lit with an unfortunately placed camera flash? | 01:24 | |
Zoffix | Don't know I'm colorblind. The salesman mentioned it being red while picking out the stap tho, so I guess it's red :) | 01:26 | |
BenGoldberg | Hmm... in that case, is it a dark color, or a light color? Pink just another word for pale red. | 01:29 | |
Zoffix | dark | 01:32 | |
AlexDaniel | pink? That's clearly red | 01:35 | |
nice red, by the way | 01:36 | ||
Zoffix | Here's a shot with different light: i.imgur.com/S8TV4c9.jpg | 01:37 | |
it gets lighter and has a bit of wood pattern visible, closer to the neck | 01:38 | ||
AlexDaniel | Hm, that's more likeā¦ maroon? | ||
Zoffix shrugs :) | 01:39 | ||
ugexe | windows failing to build asyncsocket.c | 04:25 | |
github.com/MoarVM/MoarVM/commit/5e...d01da8b953 | 04:26 | ||
Geth | rakudo/curfs-candidates-refactor: b378a157eb | (Nick Logan)++ (committed using GitHub Web editor) | src/core/CompUnit/Repository/FileSystem.pm Add candidates method as CURFS recommendation manager See #1125 for .candidates details Creates full Distribution for both -I. and -Ilib, where the later will use the directory recursion it was already doing (to determine id) to automatically populate meta data for provides and files (bin/, resources/). Makes it possible to do `sub MAIN("version") { $*REPO.need("My::Module").distribution.meta<ver> }` to allow scripts to give the right version regardless of CURI or CURFS being used to load it. |
05:55 | |
rakudo/curfs-candidates-refactor: d0a3fec997 | (Nick Logan)++ (committed using GitHub Web editor) | src/core/CompUnit/Repository/FileSystem.pm Reimplement files using .candidates |
06:15 | ||
nqp: 152094b76b | (Stefan Seifert)++ | 2 files Add support for %*ENV<NQP_LIB> to MoarVM and JS ModuleLoaders On the JVM we already support this and this is needed for replacing the hard coded '.' and 'blib' search paths during the build. |
07:26 | ||
pmurias | nine: you are working on fixing up rakudos build? (I have noticed the nqp commit and I don't want to duplicate work) | 08:09 | |
* are you | |||
nine | pmurias: I am | 08:30 | |
pmurias: already got a fix, but trying to implement a better one | 08:31 | ||
Geth | rakudo/nom: 7e40372456 | (Stefan Seifert)++ | 4 files Unbreak the build now that nqp no longer searches . and blib by default nqp commit dd25a924638958a6cdca4c81a0f8798182e52104 removed '.' and 'blib' from nqp's default module search paths. Those were needed only during rakudo's build as after a make install we will find nqp modules in nqp's libpath. This mirrors similar changes to Perl6::ModuleLoader. Would love to just pass on --nqp-lib to NQP's ModuleLoader, but our command line processing in main.nqp happens only after loading modules alredy. |
08:42 | |
nine | Second paragraph explains why my attempts at a better fix just didn't work out :/ | 08:43 | |
pmurias | nine: the installed perl6-m passes the argument with --libpath directly to the moar executable | 09:17 | |
stmuk_ | ping | 09:21 | |
stmuk | something odd on freenode .. seem to be banned on many channels | 09:22 | |
yoleaux | 16 Aug 2017 21:57Z <AlexDaniel> stmuk: you may be interested in this discussion: irclog.perlgeek.de/perl6-dev/2017-...i_15027543 | ||
jnthn | stmuk: Yeah, I was klined from the lot overnight | 09:24 | |
I'm guessing some accident | |||
stmuk | seems like it | 09:26 | |
hmm there problem should be a R* security fix release of some sort .. is the nqp execute fix a simple patch or more complex? | 09:27 | ||
s/problem/probably | 09:29 | ||
it's just nqp dd25a92 I guess? | 09:40 | ||
ah no :) | 09:43 | ||
travis-ci | Rakudo build passed. Stefan Seifert 'Unbreak the build now that nqp no longer searches . and blib by default | 09:47 | |
travis-ci.org/rakudo/rakudo/builds/265487131 github.com/rakudo/rakudo/compare/3...4037245655 | |||
Geth | rakudo/atomics: 22e25da2c6 | (Jonathan Worthington)++ | src/core/Atomic.pm Eliminate Atomic.foo methods for atomic-foo subs. These will be the "Texas form" of the atomic operations; will also add Unicode operator forms. |
09:57 | |
roast: e3d700548b | (Jonathan Worthington)++ | S17-lowlevel/atomic.t Follow atomics API changes in Rakudo. |
|||
roast: 1ca17ba664 | (Jonathan Worthington)++ | S17-lowlevel/atomic.t Test return values of atomic integer subs. |
10:05 | ||
roast: a921dbb029 | (Jonathan Worthington)++ | S17-lowlevel/atomic-ops.t Add tests for operator forms of atomic ops. |
10:06 | ||
rakudo/atomics: e7e33173a7 | (Jonathan Worthington)++ | 2 files Add operator forms of atomic operations. |
|||
rakudo/atomics: cdbb085852 | (Jonathan Worthington)++ | t/spectest.data Run S17-lowlevel/atomic-ops.t. |
|||
rakudo/atomics: 027e25fb59 | (Jonathan Worthington)++ | 4 files Rename to reflect no Atomic class any more. |
10:13 | ||
nqp/master: 4 commits pushed by (Jonathan Worthington)++ | 10:20 | ||
Ā¦ nqp/master: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...4-g88c6851 | |||
rakudo/nom: 18 commits pushed by (Jonathan Worthington)++ review: github.com/rakudo/rakudo/compare/7...92707fac6c |
10:33 | ||
Ā¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....8-gb084530 | |||
nqp: 47c4bc4d14 | pmurias++ | 2 files [js] Throw and exception if we have too many or too few positional args |
11:00 | ||
nqp: 6c4770c736 | pmurias++ | t/qast/01-qast.t Test that QAST::Block.custom_args is respected |
|||
stmuk | nine: NativeHelpers::Blob doesn't install any more | 11:41 | |
nine | stmuk: upgrade to rakudo/nom | 11:46 | |
Or downgrade to the last release :) | |||
stmuk | this is with 2017.07-161-gf1464e2 | 11:49 | |
nine | That's 29 commits behind rakudo/nom | 11:50 | |
stmuk | I'll try blead | 11:51 | |
odd Exception failure with URI2017.07-190-g92707fa | 12:01 | ||
test failure I mean | 12:02 | ||
Geth | rakudo/nom: a45ede9caa | (Jonathan Worthington)++ | src/core/atomicops.pm Don't return out-of-atomicint-bounds results. Ensures that any wrap-around will be reflected. |
13:11 | |
ilmari | wouldn't it be more logical to have the atomic pre-inc/dec operators be ++?/--? | 13:15 | |
jnthn | How so? | ||
brrt | these are 'atom' emoji, not sure if you can see | 13:16 | |
jnthn | (It didn't even occur to me that we might move the location of the atomic sign, tbh...) | 13:17 | |
timotimo | ƶyou mean the atom symbol should be between -- and $foo? | ||
brrt | $foo??++ we cold also do | ||
ilmari | $foo?++ , ++?$foo | ||
reads better to me than ?++$foo | |||
timotimo: yes | 13:18 | ||
timotimo | i tend to agree, it's a little closer to our hyperops for prefix and postfix ops | ||
ilmari | the atom should point at the thing that's being atomically modified | ||
brrt | oh, you're already using the atomic emoji :-o | 13:19 | |
had not seen | |||
wonder what the texas version of that is | |||
ilmari | functions | ||
jnthn | atomic-inc :) | ||
timotimo | i'm glad it shows up in my irc, though it's a little hard to make out | ||
brrt | atomic-inc($foo) | ||
like so? | |||
ilmari | github.com/perl6/doc/blob/master/d...icint.pod6 | ||
brrt | oh man, that's going to make for one cool 'neat tricks in perl6' talk in some future perl conference | 13:20 | |
ilmari | (not on docs.perl.org yet) | ||
s/perl/perl6/ | |||
jnthn | Yeah, I can buy the hyper op similarity argument | ||
timotimo | i'll sell it to you for very cheap | ||
i'm very proud of this product and i'd like it to get some ā¦ exposure | 13:21 | ||
ilmari | atomic exposure sounds dangerous | ||
dogbert17 | turns out that github.com/MoarVM/MoarVM/issues/554 still causes trouble, updated the issue | 13:30 | |
Zoffix | haha, we actually used the ?-- as an op? That's so awesome :D | 13:33 | |
m: my int $x = 42; say $x?-- | |||
camelia | 42? | ||
Zoffix | m: my int $x = 42; say $x?--; say $x | ||
camelia | 42?41? | ||
Zoffix | I guess it's Twitter trolling day today :D | 13:34 | |
damn, when will Unicode in logs get fixed? | |||
+1 on having prefixes as --?$foo ++?$foo | 13:35 | ||
$x ?+= 42;... so basically the rule is "atom symbol is closest to the variable the op works on" | 13:37 | ||
m: my int $x = 42; say ++?$x; say $x | 13:38 | ||
camelia | Cannot resolve caller prefix:<++>(Int); the following candidates?match the type but require mutable arguments:? (Mu:D $a is rw)? (Int:D $a is rw)??The following do not match for other reasons:? (Bool $a is rw)? (Mu:U $a is rw)ā¦ | ||
Zoffix | hehe | ||
jnthn | Yeah, I'll tweak that in a moment | 13:39 | |
Just finishing the docs for the scalar case | |||
Zoffix | jnthn++ | ||
lizmat | looking at gfldex.wordpress.com/2017/08/17/pa...g-nothing/ , perhaps we should lift | 13:42 | |
9501edae4f73a970e3270e3 until after the release and possibly to 6.d ? | |||
commute& | |||
Zoffix | m: say grammar { token TOP { \d+ } }.parse: '4' | 13:51 | |
camelia | ?4?? | ||
Zoffix | m: say grammar { token TOP { \d+ } }.parse: '' | ||
camelia | 5===SORRY!5=== Error while compiling <anon>?Confused?at <anon>:1?------> 3<BOL>7?5<EOL>?Actually thrown at:? in block <unit> at <tmp> line 1?? | ||
Zoffix | Confused? What is it confused about? | ||
m: my $x = grammar { token TOP { \d+ } }.parse: 'zzz'; say $x.exception.^name | |||
camelia | X::Syntax::Confused? | ||
jnthn | huh, it's using the X::Syntax::Confused exception? | 13:52 | |
Zoffix | That's an LTA exception IMO :\ | ||
jnthn | Yeah, using an exception intended for the compiler isn't going to work out so well... | ||
Zoffix | lizmat, yeah postponing for 6.d makes sense, as I recall a 6.c roast test had to be changed to accomodate the behaviour. | ||
timotimo | i'd expect many surprised faces when they get a SORRY! at run time | 14:00 | |
Zoffix | m: EVAL "x" | 14:02 | |
camelia | 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0?Undeclared routine:? x used at line 1?? | ||
Zoffix | :) | ||
jnthn | "We're only sorry about compiler errors" :) | ||
Zoffix | :) | ||
Geth | rakudo/nom: c67d7dd5dc | (Jonathan Worthington)++ | 2 files Place atomic symbol next to target always. Based on feedback from ilmari++ and timotimo++. |
||
roast: 266d9e6d57 | (Jonathan Worthington)++ | S17-lowlevel/atomic-ops.t Chase changes to prefix atomic operators. |
14:03 | ||
ilmari | jnthn++ # atomic power! | 14:07 | |
Zoffix | I guess now we just need to make a call to The Church of Atom :) | 14:08 | |
oh, Church of the Children of Atom :) | |||
timotimo | don't worry, a sheet of paper will protect you from alpha radiation | 14:09 | |
Zoffix | HeHeHeHe :) | 14:10 | |
jnthn | Tomorrow and/or Monday I'll see about teaching the JIT about these ops some | 14:13 | |
Geth | roast: c5587b95ee | (Jonathan Worthington)++ | S06-signature/named-parameters.t Test to cover RT #131857. |
14:22 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131857 | ||
jnthn | There goes the blocker. :) | ||
Zoffix | \o/ | 14:26 | |
jnthn | I wonder why I see lower memory use numbers locally than others are reporting | 14:27 | |
./perl6-m -e 'sub mem { "/proc/$*PID/statm".IO.lines[0].split(/\s/)[5] * 4096 / 1024 }; say mem(); run "echo"; say mem()' | |||
80624 | |||
107844 | |||
That a waaay smaller increase | |||
(Than the tickets suggest) | 14:28 | ||
Zoffix | On 2017.07-22-g02667bd I get 59168 / 216484 | ||
And on 2017.07-22-g02667bd 32-bit box I get 40796 / 68908 | 14:29 | ||
jnthn | 2017.07-191-ga45ede9 here | ||
ggoebel | backlogging... I'm surprised no one suggested using ? for atomic :-) | 14:43 | |
ilmari | ggoebel: uh, that's what is used | ||
ggoebel: see github.com/perl6/doc/blob/master/d...icint.pod6 | |||
Zoffix | m: my int $x = 42; say $x?++; say $x | 14:44 | |
camelia | 42?43? | ||
ilmari | m: my atomicint $total = 0; start { for ^2000 { $total?++ } } xx 4; say $total | 14:45 | |
camelia | 570? | ||
ilmari | uh? | ||
m: my atomicint $total = 0; await start { for ^2000 { $total?++ } } xx 4; say $total | |||
camelia | 8000? | ||
ilmari | jnthn: ^^ looks like the docs need some 'await' sprinkling | 14:46 | |
m: my atomicint $total = 0; await start { for ^2000 { $total++ } } xx 4; say $total | |||
camelia | 7200? | ||
ilmari | m: my atomicint $total = 0; await start { for ^2000 { $total++ } } xx 4; say $total | ||
camelia | 7128? | ||
Zoffix | huh, we got a new type too? | ||
jnthn | huh, thought I put the await | 14:47 | |
ilmari | yes, it's a native int that's of the right size to do cpu-atomic ops on | ||
jnthn | Oh, precednece maybe? | ||
ilmari | jnthn: only the cas example has await | ||
jnthn | m: my atomicint $total = 0; await (start { for ^2000 { $total++ } } xx 4); say $total | ||
camelia | 7195? | ||
ilmari | not the increment loop | ||
jnthn: that last one is without the atom | |||
jnthn | oh | ||
ilmari | is your IRC client not rendering it? | 14:48 | |
install the latest symbola font | |||
jnthn | No, my eyes just imagined it :P | ||
ilmari | ah | ||
ggoebel | pmurias /o | 14:52 | |
JimmyZ | jnthn: how about calling it 'atomic' instead of 'atomicint', or will it have something atomicnum ? | 15:20 | |
AlexDaniel | re revert of 9501edae4f73, see this: irclog.perlgeek.de/perl6-dev/2017-...i_15021994 | 15:21 | |
ugexe | consistency probably... we dont have a unum do we? | ||
AlexDaniel | 3 days is definitely not enough for this change, so yeah, not in 2017.08 at leastā¦ | ||
timotimo | atomint for radiantly fresh breath | 15:22 | |
jnthn | JimmyZ: atomic underspecifies what it is; it matters that it's an int | ||
Also I'd rather not steal the type name `atomic` :) | |||
And huffman arguments don't really make aint worth it :) | 15:25 | ||
JimmyZ | oh, java has many atomic type: docs.oracle.com/javase/7/docs/api/...mmary.html , haha | ||
jnthn | Well, of course they would :P | ||
huh, they have AtomicIntegerArray | 15:26 | ||
my int @a; atomic-inc(@a[0]) works fine enough for us :) | |||
TimToady | huh, so how the heck did I get K-lined 9 or so hours ago? | 15:27 | |
yoleaux | 13:38Z <gfldex> TimToady: canned worms alert up until irclog.perlgeek.de/perl6/2017-08-17#i_15032122 | ||
JimmyZ | yeah ,and AtomicLongArray :P | ||
jnthn | The Java design for it is consistent with itself and with Java though :) | ||
nine | AlexDaniel++ # being strict as release manager | ||
AlexDaniel | TimToady: almost everyone did | ||
nine | TimToady: Some network issue triggered freenode's spam protection which caused a lot of users to be banned. They are working on the issue | 15:28 | |
brrt read 'aint worth it' in the american sense | 15:29 | ||
JimmyZ | to me, atomicint makes me thinking it should have atomicnum too, haha | ||
TimToady | .tell gfldex $/ is in fact set by .parse | 15:30 | |
yoleaux | TimToady: I'll pass your message to gfldex. | ||
brrt | but i don't think atomicnum is a thing | ||
jnthn | brrt: I...uh...guess cas doesn't care, but yeah :) | 15:31 | |
atomic inc/dec/add sure ain't gonna work out on it :) | |||
AlexDaniel | releasable6: status | ||
releasable6 | AlexDaniel, Next release in 2 days and ?3 hours. No blockers. 164 out of 192 commits logged | ||
AlexDaniel, Details: gist.github.com/61c9c2df1a58bd2e0e...0e6dd2515d | |||
jnthn | Also, what would you do with it... :-) | ||
AlexDaniel | jnthn: thank you for fixing aliased params | ||
jnthn | Sorry for busting 'em :P | 15:32 | |
Though to be fair, they were already busted, I guess | |||
I just made optimization more aggressive and then it tripped over the issue | |||
We can actually specialize code like that better at some point in the future | |||
But ain't got time for that right now | 15:33 | ||
jnthn wonders why he gets sporadic DNS failure lookups of the ir clogs | 15:34 | ||
Anyway, some time back we got CSV's test-t under 4s thanks to spesh work | 15:35 | ||
Then I made the million lines benchmark faster. And we were so busy celebrating that we didn't notice test-t went back over 4s again | |||
Anyway, just pushed a commit to MoarVM HEAD that means we can have our cake and eat it. :) | 15:36 | ||
Zoffix | buggable: speed 20 | 15:37 | |
buggable | Zoffix, ???????????????????? data for 2017-08-04ā2017-08-12; range: 3.587sā4.925s; 18% slower | ||
Zoffix | hehe | ||
jnthn | What are the numbers, btw? :) | 15:39 | |
(like the 20 in speed 20) | |||
Zoffix | "use last 20 entries only" | ||
jnthn | Oh | 15:40 | |
And speed runs? | |||
Measurement of test-t? :) | |||
raschipi | m: '???????????????????'.chars.say # Why 19, then? | ||
camelia | 19? | ||
jnthn | Oh, maybe it just collects it from the channel :) | ||
Zoffix | jnthn: yeah, Tux produces them on some site; each day gets two or so | ||
jnthn | Alright | 15:41 | |
Well, guess next MoarVM HEAD bump brings it :) | |||
Zoffix | raschipi: you missed the outlier. The arrow at the end | ||
raschipi | Right, I explicitly deleted it, thinking it wasn't part of the data. The arrow means it's an outlier, I remember now. | ||
AlexDaniel | jnthn: re āI can't reproduce such an sizable increase at HEAD or MoarVM/NQP/Rakduoā, so what's your previous number? | 15:54 | |
jnthn: or do you want me to test again at HEAD? | |||
jnthn | AlexDaniel: Grap MoarVM HEAD also if you do; just added a tweak there that may help some cases | 15:56 | |
AlexDaniel | mmm that's gonna be more difficult | 15:57 | |
AlexDaniel reboot | 15:58 | ||
jnthn | *Grab | ||
Either way, I don't think I'll have time to dig much more into it soon | 15:59 | ||
AlexDaniel | There's now RT #131919 to discuss the .parse change | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131919 | ||
jnthn | And the longer term fix for things like Proc::Async memory use will be to have it spawn less threads | ||
Which needs an overhaul of ThreadPoolScheduler | |||
AlexDaniel | .tell Skarsnik by the way, does RT #131914 affect you in any way, or did you notice it by chance? | 16:01 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131914 | ||
yoleaux | AlexDaniel: I'll pass your message to Skarsnik. | ||
AlexDaniel | jnthn: alright, thanks! | 16:02 | |
TimToady | sure would be nice if there were a way to test the whole ecosystem for a given change... | 16:03 | |
ugexe | we kinda can | ||
well, Zoffix kinda can :) | |||
AlexDaniel | TimToady: we had toaster, but it doesn't seem to work right | ||
right now* | 16:04 | ||
:) | |||
Zoffix | Well, it can work if you run the toaster itself on an older (say 2017.07) Rakudo | ||
I'll try doing that | 16:05 | ||
TimToady: but yeah, there IS a way :) rakudo.party/post/Perl-6-Release-Q...em-Toaster | |||
TimToady | 'cuz it really makes a difference whether a change affects 1 module or 3 modules or 30 modules or 300 modules | 16:07 | |
if it's 1 module, a revert is overkill | 16:08 | ||
if it's 300 modules, then it's 6d | |||
most of the middle numbers mean wait a month | |||
Zoffix | But we made a promise to users we won't make any changes that break 6.c-errata. | ||
in 6.c | |||
AlexDaniel | āwait a monthā is not a bad strategy in cases when we don't know | 16:09 | |
TimToady | Zoffix: sure, but it's a bit of a judgement call whether 6.c-errata is testing something that wasn't intended to be tested | 16:11 | |
b2gills | my personal take on that code is it was slightly wrong anyway, it was looping once over Any but assumed it was an empty list | ||
TimToady | one could argue that the change alread caught a bug, yes | 16:12 | |
b2gills | sort of like all the bugs that 5.18 dredged up because of the randomized sort order | 16:14 | |
sort order of hashes | 16:15 | ||
TimToady | so as usual, we have to pick somewhere on the slippery going from "Damn the torpedoes, full speed ahead" through "No harm, no foul" all the way down to "If it ain't broke, don't fix it." | ||
we've done a lot things in 6.c that fall somewhere on that slope, because otherwise 6.d would have lots more bugs when it comes out :) | |||
b2gills | I still think we need to publish 6c-errata as v6.c.1 at some point | 16:16 | |
Zoffix | It would be nice to fight against the perception that we rip the floor from under our users all the time. Maybe start aiming to confine these changes to some particular releases, where we can say: look we changed untested stuff that might break your code. | ||
Releases like, the one right after R* release. | |||
TimToady | didn't we just do an R* release? :P | 16:17 | |
Zoffix | Yup :) | ||
TimToady | I love someone who can argue both sides of a problem :) | ||
Zoffix | heh | 16:18 | |
lucasb | github.com/rakudo/rakudo/blob/nom/...#L202-L252 | 16:20 | |
^^ Why there isn't a .Complex coercion method in Cool? | 16:21 | ||
(sorry to bother here, #perl6 is busy in a linenoise discussino :) | |||
Skarsnik | jnthn, for #131914 did you check your pagesize? (getpagesize()) maybe the 4096 in the calcul need to be changed if it's not 4096 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131914 | ||
Zoffix | m: "1+i".Numeric | 16:22 | |
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '031+?5i' (indicated by ?)? in block <unit> at <tmp> line 1?? | ||
Zoffix | m: "1+1i".Numeric | ||
camelia | ( no output ) | ||
Zoffix | lucasb: seems just an omission | ||
lucasb: PR it :) With tests :) | |||
lucasb | Zoffix: nice, I'll try | 16:23 | |
Zoffix | lucasb: "sorry to bother here"... IMO here *is* the right place for stuff like that. | 16:24 | |
Zoffix doesn't usually follow #perl6; too much traffic to take in | 16:25 | ||
Skarsnik | it's a good thing :) | ||
Zoffix | Yeah :) | ||
Skarsnik | hm | 16:39 | |
running a run 'echo', '-n' 20 times growns to 350Mbyte. if I do more it kinda stay the same | 16:44 | ||
[Coke] | There's a ticket. | 16:46 | |
Zoffix | Ohhhh. mystery solved on why Toaster crashes on bleedier rakudos. Messages in screen log: "not enough memory" | 16:47 | |
Skarsnik | yeah but it was for one run. I was curious if the memory usage grows or it was just one overhead of having Proc being Proc::async now | ||
I ran against a 2017.06 version | 16:48 | ||
I should look more at what is exactly the value given by statm | 16:49 | ||
[Coke] | rt.perl.org/Ticket/Display.html?id=131915 | 16:54 | |
AlexDaniel | (it's his ticket) | ||
[Coke] | OK. | 16:56 | |
Skarsnik | hm so the data field (the field used in this) is for memory allocated by the process. but it not the memory used. if I understand correctly | 17:00 | |
Dunno why it's called data + stack | 17:01 | ||
AlexDaniel | Skarsnik: should we test it again with resident (.[1]) ? | 17:12 | |
uh, I wanted to reboot | 17:13 | ||
Skarsnik | not sure | 17:16 | |
jnthn | Skarsnik: No, but the numbers that I saw correlated with the numbers from /usr/bin/time's maxrss | 17:21 | |
AlexDaniel | Ā¦92bd7e4f54a9^: Ā«72632Ā» Ā¦92bd7e4: Ā«72536Ā» Ā¦9658dd98c9dd8ec^^: Ā«78084Ā» Ā¦9658dd9: Ā«78068Ā» | 17:22 | |
that's with say "/proc/$*PID/statm".IO.lines[0].split(/\s/)[1] * 4096 / 1024 | 17:23 | ||
so what is ādata + stackā exactly? | |||
Skarsnik | resident is supposed to be data + code | 17:24 | |
but it's weird | |||
jnthn | Stack is presumably the C stack where function's invocation records live | ||
It'll typically be around a meg per thread | 17:25 | ||
Skarsnik | well if it's stack that get that big it's still not fun ^^ | ||
jnthn | Well, the thread pool will allow up to 16 threads, then there's the initial thread, and one created for running the specializer, so that's 18MB at most | 17:26 | |
Each thread then has a thread-local nursery | 17:27 | ||
Which is 4MB semispaces, so 8MB total | |||
m: say 9 * 18 | |||
camelia | 162? | ||
jnthn | The thread pool scheduler is fairly un-smart, though | 17:28 | |
It just spawns threads up to the limit each time there's work | |||
It thus can end up with more than it really needs | |||
Skarsnik | I wonder if there is a good api/lib somewhere to get clear information | 17:33 | |
Zoffix | hmmm, a 2017.07 toaster running a toast of 2017.07 release died due to not enough memory :( looks like it needs some sort of memory protection against rogue modules | 17:38 | |
Zoffix changes from 24GB to 100GB RAM and tries again | 17:39 | ||
Skarsnik | lol | 17:40 | |
jnthn | I'd imagine the toaster itself was using Proc::Async before, though, so I don't know it woulda ended up with extra use? But yeah, a rogue module could get hungry :) | 17:41 | |
Guess can run it with ulimit or some such | |||
ugexe | zef uses proc | 17:42 | |
Zoffix | Yeah, it always used Proc::Async and last release I toasted on near-2017.07 and everything worked. I'd guess it's some module | 17:43 | |
Skarsnik | Writing a binding to libxml2 with gptrixie to use it in gptrixie is interesting x) | 17:44 | |
Geth | rakudo: lucasbuchala++ created pull request #1131: Add .Complex coercion method to Cool |
17:47 | |
rakudo/nom: c9de2184dc | (Lucas Buchala)++ | src/core/Cool.pm Add .Complex coercion method to Cool |
17:50 | ||
rakudo/nom: a30ce6bca8 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Cool.pm Merge pull request #1131 from lucasbuchala/coomplex Add .Complex coercion method to Cool |
|||
lucasb | Zoffix: thank you | 17:51 | |
Zoffix | lucasb++ thank you! | 17:52 | |
TimToady | apparently :dba('foo') has been broken in user-level grammars since forever...it parses it but never does calls reduce on quote_EXPR for some reason | 17:58 | |
Zoffix | hehe, URI.pm fails its tests do to .parse changes | 18:09 | |
(it's used by Toaster and failed install :) | |||
s/do/due/; | 18:10 | ||
bah. Toaster itself doesn't seem to want to start. Says "Confused"; guessing the X::Syntax::Confused from .parse somewhere :/ | 18:16 | ||
Skarsnik | hm I am curious what should be expected with that | 18:18 | |
m: my $hash = {a => "b"}; class FHash { method AT-KEY($key) {"b"}}; say $hash<a>:exists; my FHash $fh .= new; say $fh<a>:exists; | |||
camelia | True?False? | ||
Zoffix | AlexDaniel: I give up again. | 18:20 | |
But I'd argue the fact that I can't even start toasting when running it on HEAD commit due is an indication the .parse() change has large impact. | |||
timotimo | Skarsnik: if you don't implement EXISTS-KEY, you'll get that :) | ||
Zoffix | Toaster doesn't even do much networking. | ||
Skarsnik | Haaa | ||
is there the same for defined-keys? | 18:21 | ||
timotimo | defined-keys? | ||
Skarsnik | m: my $hash = {a => "b"}; class FHash { method AT-KEY($key) {"b"}}; say $hash<a>:defined; my FHash $fh .= new; say $fh<a>:defined; | ||
camelia | Unexpected named argument 'defined' passed? in block <unit> at <tmp> line 1?? | ||
timotimo | i don't think that's a thing | ||
Skarsnik | m: my $hash = {a => "b"}; class FHash { method AT-KEY($key) {"b"}}; say $hash<a>:defined;; | ||
camelia | Unexpected named argument 'defined' passed? in block <unit> at <tmp> line 1?? | ||
Zoffix | It's .defined | ||
jnthn | TimToady: I had :dba in Rakudo as an NYI, fwiw | 18:22 | |
timotimo | you had me at "NYI" | 18:24 | |
Zoffix | But if anyone wants to run Toaster, just grab a brand new debian ISO, run it in some VM, and just copy-paste these instructions: github.com/zoffixznet/perl6-Toaste...e-vm-setup | 18:27 | |
You don't need a 64-core box :) You'd just have to wait longer. And I don't have the patience to do these builds that seem to crash in the middle of it :/ | |||
And on HEAD Toaster doesn't start. Says confused pointing to "Connection: closed", which I'm guessing some Grammar.parse failure in URI or some networking module | 18:28 | ||
TimToady | jnthn: but it just calls down into nqp's regex engine to parse, so it should at least call reduce on quote_EXPR, unless it's misparsing somehow...hmm.... | 18:35 | |
jnthn | Hm, true | 18:36 | |
AlexDaniel | Zoffix: it's ok, thank you for your effort. I simply didn't have enough time to get my hands on it, but will do after release | ||
TimToady | it IS misparsing! | 18:37 | |
m: say "abc" ~~ /:dba("foo") abc/ | |||
camelia | Nil? | ||
TimToady | m: say "abc" ~~ /:dba("") abc/ | ||
camelia | ?abc?? 0 => ??? | ||
TimToady | m: say "abc" ~~ /:dba("abc")/ | 18:38 | |
camelia | ?abc?? 0 => ?abc?? | ||
TimToady | that would definitely explain why it's not reducing the argument :) | 18:39 | |
jnthn | lol | ||
Geth | nqp: f48e972ad3 | (Robert Lemmen)++ | 3 files support hardware_concurrency op from moar and implement for jvm |
18:43 | |
nqp: 5ab70b5834 | (Robert Lemmen)++ | 3 files match renamed opcode "cpucores" in moar |
|||
nqp: fd1fefaff5 | niner++ (committed using GitHub Web editor) | 3 files Merge pull request #362 from robertlemmen/master support hardware_concurrency op from moar and implement for jvm |
|||
rakudo/curfs-candidates-refactor: d533d450da | (Nick Logan)++ (committed using GitHub Web editor) | src/core/CompUnit/Repository/FileSystem.pm Fix CURFS.id when files are added after first load Fixes spectest failures from caching too aggressively. This also returns to using a cached `$!id` |
18:48 | ||
rakudo: ugexe++ created pull request #1132: Add candidates method as CURFS recommendation manager |
19:14 | ||
Zoffix | .in 1hr check on Toast | 19:44 | |
yoleaux | Zoffix: I'll remind you at 20:44Z | ||
Zoffix relocates | |||
Skarsnik | interesting feature ^^ | 19:45 | |
nine | 5.898s for 100000 rows! | 20:07 | |
Less than a year ago it was ~9 seconds for just 10000 rows, i.e. 1/10 of the iterations :) | 20:13 | ||
brrt | badass | ||
Skarsnik | and I think xml parsing take half the time than last year or something like that | 20:14 | |
TimToady | jnthn: I think I figgered it out: rakudo's regex grammar mixes in STD, which defines starter/stopper as <!> rather than using dynvars, so quote_EXPR will never match | 20:43 | |
yoleaux | Zoffix: check on Toast | 20:44 | |
Skarsnik | yeah burned toast is not good | 20:55 | |
samcv | releasable6, status | 21:17 | |
releasable6 | samcv, Next release in 1 day and ?21 hours. 1 blocker. 164 out of 194 commits logged | ||
samcv, Details: gist.github.com/7b517b4462b475f813...e801fa20ef | |||
jnthn | TimToady: Yeah, quote_EXPR is kinda the NQP way of parsing quotes; Rakudo started out that way but took on STD's Q language approach | 21:23 | |
TimToady | changing nqp's starter/stopper rules to dynstarter/dynstopper makes :dba work in rakudo | 21:28 | |
Zoffix | greppable6: 030_default-log-level.t | ||
greppable6 | Zoffix, Found nothing! | ||
Zoffix | AlexDaniel: feature request: ability to find to which distro a filename belongs too; aka tree -f | grep XXX :) | 21:29 | |
also 020_ff.t | 21:30 | ||
jnthn | TimToady: Ah, cool :) | ||
Zoffix | phew killed them in a nick of time. The 030_default-log-level was using 50GB of RAM and 020_ff.t had two instances using 20GB each. | 21:31 | |
jnthn | o.O | ||
Zoffix | (nick being the VM having only 100GB of RAM and it was about to kill the Toast run :)) | ||
Note: this is on 2017.07, so I assume the problem is in module(s) | 21:32 | ||
TimToady | jnthn: though nqp's idea of :dba is a bit too dynamic, insofar as it only lists the alternatives you actually tried after filtering through LTM, not all the possible alternatives at that spt | ||
Zoffix | ./moznion/p6-Log-Minimal/t/030_default-log-level.t | ||
./moznion/p6-Log-Minimal/t/020_ff.t | |||
buggable: eco Minimal | 21:33 | ||
buggable | Zoffix, Found 11 results: JSON::Tiny, App::Mi6, Frinfon, Log::Minimal, PDF::Lite. See modules.perl6.org/s/Minimal | ||
Zoffix | Hm, nope. No changes in the module's code since ages ago... | ||
jnthn | TimToady: Oh, interesting... :) | 21:34 | |
TimToady: So maybe fixing that gets us better errors, or more spurious suggestions? :) | |||
Zoffix | Opened an Issue on author's module: github.com/moznion/p6-Log-Minimal/issues/8 | 21:39 | |
TimToady | also, doing it dynamically probably recalculates the same list over and over, so maybe we could find a good peg to hang it on and calculate expectations once per set | 21:41 | |
Zoffix | stmuk: re banned on Freenode: just got a user notice saying they're battling some massive spam so they kline was temporary | ||
TimToady | as for spurious, I'd rather list them all and then allow people to specify :dba('') to suppress the noisy ones | ||
jnthn | True | 21:43 | |
geekosaur | the new blog says they had a bot go slightly haywire and try to kline all active users | 21:44 | |
*news blog | |||
Skarsnik | wtf are these VM with 100Gb? | 21:45 | |
Zoffix | So the robot uprising begins? | ||
Skarsnik: Google Compute Engine. 100GB is nothing. Here's my current maximum: i.imgur.com/ceRzOZm.png | 21:46 | ||
bah | |||
.tell Skarsnik RE wtf are these VM with 100GB.... It's Google Compute Engine. 100GB is nothing. Here's my current maximum: i.imgur.com/ceRzOZm.png And I've seen news they plan to expand it to 128-core VMs (presumably with even more RAM) some time soonish | 21:47 | ||
yoleaux | Zoffix: I'll pass your message to Skarsnik. | ||
Geth | rakudo/curfs-candidates-refactor: 877e7dc0ca | (Nick Logan)++ (committed using GitHub Web editor) | src/core/CompUnit/Repository/FileSystem.pm Use version * for -Ilib; populate resources field |
21:50 | |
AlexDaniel | Zoffix: github.com/perl6/whateverable/issues/210 | 21:53 | |
Zoffix | cool | 21:57 | |
stmuk | wibble | ||
Zoffix | oh crap. This was actually a HEAD run, not 2017.07 (and 2017.07 finished without issues apparently) | 22:05 | |
holy shit | 22:08 | ||
buggable: toast | |||
buggable | Zoffix, Between 2017.07-194-ga30ce6b and 2017.07: 48 (5.60%) modules got burnt; 55 (6.42%) got unsucced; 367 (42.82%) out of 857 modules appear unusable. See toast.perl6.party/ for details. | ||
Zoffix | AlexDaniel: ^ lots of burnage | ||
I'm hoping those results aren't bogus due to some issues in Toaster itself | 22:09 | ||
Half the ecosystem is unusable :/ | |||
AlexDaniel | āAborting due to fetch failureā ? | ||
Zoffix | Which one is it? | 22:10 | |
Ah | 22:11 | ||
It's the version thing, innit? | |||
nope | |||
jnthn | I've looked at 5 so far and they are all that | ||
Zoffix | No idea why. The fetch failure is likely an error from zef | ||
Zoffix upgrades rakudo locally and tries to install Test::META | 22:12 | ||
jnthn | Also Can't extract non-existent path: /home/cpan/.zef/tmp/File-Find.git | ||
ugexe | sounds like rate limiting to me | 22:23 | |
it could also be that the toaster is using multiple zef processes, all of which are using the same tmp/ | 22:32 | ||
Zoffix | ugexe: then that is it. The toaster is using like 30 zef processes and if it's reporting ~/.zef/tmp then they're all saving there; I guess only --install-to is different | 22:34 | |
Yeah, no issues installing Test::META locally. :( | 22:35 | ||
ugexe | github.com/ugexe/zef/blob/33c18c90...t.pm6#L277 (if you comment this out, I think it'll work again) | 22:38 | |
it looks like tacking on a random directory in tmp/ works, which should fix it. testing that right now | 22:52 | ||
Zoffix | huggable: hymn of the butterfly :is: www.youtube.com/watch?v=aPy0hAmHu90 | 22:58 | |
huggable | Zoffix, Added hymn of the butterfly as www.youtube.com/watch?v=aPy0hAmHu90 | ||
Zoffix | \m/ | ||
Zoffix calls it a night | |||
Gonna try to re-run Toast on HEAD some time tomorrow. | 22:59 | ||
ugexe | i'll have a workaround in zef by then | ||
Zoffix | ugexe++ thanks | ||
ugexe | I think I fixed the localcache to be multi zef friendly too... so might be worth trying without disabling it | 23:00 | |
suspected fix in 0.1.27 | 23:25 |