Zoffix | c: bad26 say 'This commit is pretty bad' | 00:03 | |
committable6 | Zoffix, ¦bad26: «This commit is pretty bad» | ||
Zoffix | ^_^ | ||
AlexDaniel- | ouch. This should probably complain | 00:04 | |
github for example refuses to show it github.com/rakudo/rakudo/commit/bad26 | |||
Zoffix | it is a valid commit tho :) | 00:05 | |
`git show` also shows it :) | |||
AlexDaniel- | right | ||
fwiw you can craft a commit with as many zeros as you … um… let your computer run :) preferably thousands of years | 00:06 | ||
but 8 zeros shouldn't be that big of a deal maybe | |||
Zoffix | ZofBot: and that's why we can't have nice things! | 00:15 | |
ZofBot | Zoffix, ) Note, however, that it does no flattening of its list items: @x = lol(item (1,2),(3,4)) # @x eqv LoL( (1,2), (3,4) ) * The "list" contextualizer list foo() Forces the subsequent expression to be evaluated in list context | ||
mst | Zoffix: what have you done to git? | 00:17 | |
Zoffix | mst: whatumean? | ||
mst | Zoffix: bad26? | 00:18 | |
Zoffix | mst: It's one of the commits. bad2657d4f37e4ae73adfc931a769e64ee7588c1 | ||
mst | ok but if github won't show it I'm curious how you broke it | ||
Zoffix | I'm guessing github just doesn't accept shas shorter than N, while git doesn't mind | 00:19 | |
Zoffix goes to bed | 00:20 | ||
mst | ah, right, yeah, maybe it can't handle that bit | ||
AlexDaniel- | and I guess they do it so that people won't be using links idiotic links with too short shas | ||
s/links// | |||
IMO they already go too far by allowing 6 | 00:21 | ||
mst | six is the common way to shorthand a commit though | 00:34 | |
AlexDaniel- | not if you want to post that as a link somewhere | 00:38 | |
because a few moments later it is suddenly pointing to another commit… | |||
or does it? | |||
mst | the git binary tells you there's more than one and makes you think about it | ||
MasterDuke | ooo, now making real progress, INTERPOLATE seems to be ~25% faster | 01:17 | |
Geth | nqp: 31a40557c2 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6bigintInstance.java [jvm] Avoid failure in getattr An exception was raised in getattr, because we tried to set the first field found (which was 'private static final'). A better fix might be to change the logic in getattr, but this helps for now. |
06:16 | |
travis-ci | NQP build passed. usev6 '[jvm] Avoid failure in getattr | 06:33 | |
travis-ci.org/perl6/nqp/builds/286879401 github.com/perl6/nqp/compare/e9bca...a40557c2c9 | |||
[TuxCM] | This is Rakudo version 2017.09-380-g4b8a0ef65 built on MoarVM version 2017.09.1-594-gb9d3f6da | 07:23 | |
csv-ip5xs 1.159 - 1.161 | |||
test 9.572 - 9.632 | |||
test-t 3.093 - 3.150 | |||
csv-parser 0.831 - 0.894 | |||
timotimo | it hasn't been this close to below 3 has it? | 07:37 | |
ah, *now* i get integers with json::fast and enums | 08:05 | ||
i guess ... the reboot fixed it? | |||
(but i'd like the enum pieces to show up as strings instead) | 08:08 | ||
jnthn | m: ('hello', 1, 22/7, 42, 'world').classify: { .Str.chars }; | 10:42 | |
camelia | ( no output ) | ||
jnthn | m: ('hello', 1, 22/7, 42, 'world').classify: { .Str.chars }.^name.say | ||
camelia | Block Cannot resolve caller classify-list(Hash[Any,Any]: Bool, List, :as(Callable)); none of these signatures match: (Hash $: &test, \list, :&as, *%_) (Hash $: %test, |c is raw) (Hash $: @test, |c is raw) (Hash $: &test, **@list… |
||
jnthn | m: ('hello', 1, 22/7, 42, 'world').classify({ .Str.chars }).^name.say | 10:43 | |
camelia | Hash[Any,Any] | ||
jnthn | m: ('hello', 1, 22/7, 42, 'world').categorize({ .Str.chars }).^name.say | ||
camelia | Hash[Any,Any] | ||
jnthn | m: ('hello').categorize({ .Str.chars }).^name.say | ||
camelia | Hash[Any,Any] | ||
jnthn | m: ('hello').classify({ .Str.chars }).^name.say | ||
camelia | Hash[Any,Any] | ||
Geth | nqp: 4d312edbfb | pmurias++ | 2 files [js] Fix typed access to multidims and make positional refs use typed acess |
11:25 | |
nqp: fb2f34a486 | pmurias++ | t/nqp/102-multidim.t Test access of uninitialized elements of multidims with nqp::atpos_* ops |
|||
Zoffix | buggable: speed 100 | 12:34 | |
buggable | Zoffix, ▅▅▆↑▇↑▆▅▅▅▅▆▅▅▄▄▅▇▆▆↑↑▅▅▅▅▄▄▅▅▄▅▄▄▅▄▄▆▄▅▄▄▄▄▄▅▅▆▄▆▄▃▆↑█▆▃▃▂▂▃▂▃▂▂▂▄▅▃▄▃▃▆▃▂▂▂▂▃▂▃▃▃▃▂▂▃▃▂▃▂▂▂▁▂▂▄▂▁▂ dates: 2017-09-08–2017-10-12; range: 3.093s–4.237s; speed: 15% faster (widths: 10/3) | ||
Zoffix | buggable: speed 80 | ||
buggable | Zoffix, ↑↑▇▇▆▇▆▅▆▆▆▆▅▅▆▆▅█▆▆▅▅▅▆▆▆▇▇▆▇▆▄█↑↑█▄▃▂▃▃▂▃▃▃▃▅▇▄▅▃▄█▄▂▂▂▃▃▃▃▄▄▃▃▃▄▄▂▄▂▂▃▂▂▂▆▃▁▂ dates: 2017-09-16–2017-10-12; range: 3.093s–4.237s; speed: 14% faster (widths: 10/3) | ||
Zoffix | Made it sample averages from both ends, so it's less sensitive about which commit the endpoint is at. | 12:35 | |
(widths: 10/3) => average 10 commits from the past end and 3 commits from the recent end | |||
c: 2017.04 { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; for ^10000 { start say $_ } } | 12:40 | ||
committable6 | Zoffix, ¦2017.04: «» | ||
Zoffix | c: 2017.04 { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; for ^10000 { start say $_ } } | ||
committable6 | Zoffix, ¦2017.04: «» | ||
Zoffix | c: 2017.04 { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; for ^10000 { start say $_ } } | ||
committable6 | Zoffix, ¦2017.04: «9995» | ||
Zoffix | ^ wtf? Why does that one end up on STDOUT instead of the handle I po... oh ok neverfmind | 12:41 | |
There's no await | |||
m: { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; start { sleep 1; say 42; } }; sleep 2 | 12:42 | ||
camelia | 42 | ||
Zoffix | Tho wonder if this should be concidered a bug or not | ||
m: my $*x = 42; { my $*x = 70; start { sleep 1; say $*x; } }; sleep 2 | 12:43 | ||
camelia | 70 | ||
Zoffix | m: my $*x = 42; { temp $*x = 70; start { sleep 1; say $*x; } }; sleep 2 | 12:44 | |
camelia | 42 | ||
AlexDaniel- | Zoffix: hey, I've seen that you tried to use quotable6 a couple of times without much success. It's a little bit better now, maybe give it a try | ||
quotable6: squashathon | |||
quotable6 | AlexDaniel-, OK, working on it! This may take up to three minutes (4412528 messages to process) | ||
Zoffix doesn't remember using it | |||
AlexDaniel- | well, a few weeks ago :) | ||
quotable6 | AlexDaniel-, Found nothing! | 12:45 | |
AlexDaniel- | WHAT? | ||
AlexDaniel- facepalms | |||
ZofBot: can you teach your little fella? | 12:47 | ||
ZofBot | AlexDaniel-, For security reasons, many operating systems limit this functionality to the superuser | ||
AlexDaniel- | quotable6: squash | 12:49 | |
quotable6 | AlexDaniel-, OK, working on it! This may take up to three minutes (4412528 messages to process) | ||
jnthn | start blocks don't make a complete clone of the dynamic scope, so they'll see any mutations in it | 12:50 | |
They just have a reference to the context they were invoked in | |||
quotable6 | AlexDaniel-, gist.github.com/a59458684f0ae2cb0f...765643430a | 12:51 | |
AlexDaniel- | ↑ I know it's a bit LTA, but enough to be useful | 12:52 | |
Zoffix | jnthn: I just filed it as rt.perl.org/m/ticket/show?id=132275 lol | ||
AlexDaniel- | except that I have no idea why it failed to match “squashathon” | ||
Zoffix | jnthn: so should it be closed? | ||
AlexDaniel- | good night everybody o/ | ||
jnthn | o/ AlexDaniel- | ||
Zoffix: Yeah, I mean, what would a fix look like? | |||
Zoffix shrugs and closes :) | 12:53 | ||
jnthn | You'd basically be asking for it to walk down the entire call stack on each start block, identify every dynamic variable, and clone it, to some depth or other | ||
Hmm... | 12:56 | ||
Just looking at Seq | |||
Oh, maybe it's OK but odd | 12:57 | ||
Zoffix | What is it? | ||
jnthn | I'm guessing Iterator.count-only and Iterator.bool-only, if defined, must be able to produce the result wihtout actually doing any kind of iteration work? | ||
But even then it's a tad weird | 12:58 | ||
There's code like this: | |||
nqp::if( | |||
nqp::can($!iter,'bool-only'), | |||
$!iter.bool-only, | |||
nqp::if( | |||
nqp::can($!iter,'count-only'), | |||
?$!iter.count-only, | |||
self.cache.Bool | |||
) | |||
), | |||
The optimized paths aren't equivalent to self.cache.Bool though | |||
Because self.cache takes the iterator | |||
And the optimized paths don't | 12:59 | ||
So you can get inconsistent semantics | |||
Depending on if the Seq just happens to have an iterator under it that supports count-only or bool-only | |||
But also the optimization *relies* on keeping the iterator around :/ | |||
Zoffix | Yeah | 13:00 | |
But you can think of it that part of optimization is you don't have to cache stuff for iterators that can do bool-only and count-only | |||
jnthn | But it makes "This sequence has already been consumed" behavior inconsistent | 13:01 | |
my \s = get-some-seq(); say s.elems; for s { ... } | |||
If get-some-seq() returns something that has the count-only optimization then this code accidentally works | 13:02 | ||
Then you do some seemingly harmless refactor inside of get-some-seq (which may come from a module you don't control) | |||
(Or you might control the module but not the downstream code) | |||
And then boom, breakage. | |||
For code that never should have worked in the first place anyway | |||
So the optimization violates the Seq contract | 13:03 | ||
Zoffix | No, it works in all the cases. If optimization exists, `.elems` won't steal iterator and `for` will use it. If optimization doesn't exist, .elems will cache the sec and for will use the cached iterator | 13:04 | |
jnthn | We...used the cached iterator? | ||
Hm, we do | |||
Zoffix | m: my $s := Seq.new: class :: does Iterator { method zool-only { say 42 }; method pull-one { $++ and IterationEnd } }.new; say $s.elems; .say for $s | ||
camelia | 1 0 |
||
Zoffix | m: my $s := Seq.new: class :: does Iterator { method bool-only { say 42 }; method pull-one { $++ and IterationEnd } }.new; say $s.elems; .say for $s | ||
camelia | 1 0 |
||
jnthn | Did that change at some point? I'm sure I didn't have it that way in the first place | 13:05 | |
But yeah, then it is OK | |||
Zoffix | Yeah, I changed it a few months ago | ||
jnthn | OK, I guess I can live with it | ||
Zoffix | Basically things that want an iterator when they can't find it also check if our Seq is already cached and use that | ||
jnthn | It's DWIM-y I guess | 13:06 | |
Zoffix thought old version was a bug :o | |||
:) | |||
jnthn | No, I had it that way so that if you were dealing with a Seq that you were expecting to be just iterating and throwing things away, then you'd be loudly told about it | 13:07 | |
Rather than surprise memory retention | |||
Zoffix | Ah. From my POV it was: why doesn't it just use the already-cached version instead of complaining at me ^_^ | 13:09 | |
jnthn | But it's one of those things I can argue either way. On the one hand, it's nice if the user doesn't have to care and write .cache in some more places. On the other hand, it meant you had to be explicit about the use of the caching | ||
Zoffix | Some things implicitly cached tho (like .elems) | ||
jnthn | So you could more easily spot O(n) vs O(1) memory use | ||
True | 13:10 | ||
Though a relatively small set of them (those that are involved in indexing) | |||
I guess by this point we can't change it back without breaking a bunch of code that now relies on things, though | 13:11 | ||
s/things/the new semantics/ | 13:12 | ||
At least elems and friends aren't as inconsistent as I thought, though | |||
And I guess we can rely on having better allocation/memory profiling tools to help users spot their caching issues | |||
Zoffix | We could, since it's not part of any language release yet. Though IME I haven't ran into "seq already consumed" errors recently and haven't seen many users complain about iterated Seqs. The complain is nice when you know what you're doing and can fix it, but can be quite annoying for people who haven't mastered Seq vs. List vs. Array vs Slip; especially since many methods return Seqs. | 13:14 | |
jnthn | *nod* | ||
I think we can leave it as it is | 13:15 | ||
Zoffix | \o/ | ||
jnthn | I just noticed this stuff 'cus I'm pulling a Sequence role out of Seq, which HyperSeq and RaceSeq will also do | ||
And was thinking what does/doesn't go into said role | |||
Zoffix | .oO( teach fudger to handle stress tests: you mark a particular test as stress test so it only runs during `make stresstest` and not `make spectest` ) |
13:43 | |
'cause some of the tests just cover the bugs and don't really need to be part of spectest, but creating a whole nuther file just for one test is kinda meh | |||
.ask AlexDaniel- OOC, is there a CLI interface to commitable? Kinda a waste of time to be going to view at gists all the time to read output, while trying to make some code that covers a bug. Looking for something like `./commitable-cli.p6 2017,HEAD file-with-code.txt` or `./commitable-cli.p6 2017,HEAD -e 'some code'` and it'd just dump all the output into terminal | 13:56 | ||
yoleaux | Zoffix: I'll pass your message to AlexDaniel-. | ||
Geth | roast: ccdbc68336 | (Zoffix Znet)++ | MISC/bug-coverage-stress.t Add MISC/bug-coverage-stress.t For an oddball bugs to cover and to run only under stresstest |
13:57 | |
rakudo/nom: 37689a3e57 | (Zoffix Znet)++ | t/spectest.data Add MISC/bug-coverage-stress.t to list of files to run |
13:58 | ||
Zoffix | Oh oops.. Add MISC/bug-coverage-stress.t ... also include tests to cover mutex deadlock for RT#132042 | ||
synopsebot | RT#132042 [open]: rt.perl.org/Ticket/Display.html?id=132042 [TESTNEEDED] [CONC] Concurrently calling `say` can cause Rakudo to hang | ||
Geth | roast: 57b039fb48 | (Zoffix Znet)++ | MISC/bug-coverage-stress.t List RT number in test |
13:59 | |
Zoffix & | 14:01 | ||
So I got myself a helper that does some HTML work... He made a dozen <p> elems in a row, each with class="bluefont". That's bad, but not funny... The funny part is in CSS it's defined as: `.bluefont { color: black; font-size: 22px; }` | 14:19 | ||
timotimo | .o( naming things and off-by-one level of nesting ) | 14:23 | |
Zoffix | :) | 14:24 | |
Zoffix looks at github.com/rakudo/rakudo/pull/1160/files | 15:52 | ||
Oh, nm. | |||
Confused "no buffering on TTY handles" vs "no buffering on stdout" | |||
AlexDaniel-: IMO this feels like pointless waffle: github.com/perl6/doc/commit/700842...448bfa7aaf The docs site documents the language, not an implementation and the bug has now been fixed, and I've no idea if that comment was reverted or not | 16:09 | ||
without going to docs site and trying to find it | |||
I thought you could merge STDOUT/STDERR with Proc::Async... looks like the info's gone from the docs, even though the code has $!merge_blah blah in it | 16:11 | ||
jnthn | It's just .Supply | ||
Zoffix | Thanks | 16:12 | |
jnthn | $ perl6-m -e 'my $p = Proc::Async.new("perl6", "-e", "say 42; note 43"); react { whenever $p.Supply { print "Merged got $_" }; $p.start }' | 16:13 | |
Merged got 42 | |||
Seems to work :) | |||
Merged got 43 | |||
Zoffix | Looks like some of the output gets lost tho. Or maybe Proc::Async.kill ain't resulting in the signal I'm expecting :/ | 16:16 | |
m: gist.github.com/zoffixznet/4914127...34b466610f | |||
camelia | 1..1 Proc::Async is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method new at src/RESTRICTED.setting line 32 in block <unit> at <tmp> line 4 # Looks like you planned 1 test, but ran 0 |
||
Zoffix | bah | ||
c: HEAD gist.githubusercontent.com/zoffixz...46a7/p6.p6 | |||
e: HEAD gist.githubusercontent.com/zoffixz...46a7/p6.p6 | 16:17 | ||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/N4AA_yPQeN Confuse… |
||
Zoffix, Full output: gist.github.com/2c50a327cd2226acee...9eae412cf4 | |||
Zoffix | e: gist.githubusercontent.com/zoffixz...46a7/p6.p6 | ||
evalable6 | Zoffix, Successfully fetched the code from the provided URL. | ||
(exit code 1) 1..1 not ok 1 - Supply.merge on signals does not crash # Failed test 'Supply.merge on signals does not crash' # at /tmp/5A_ipjDGOA line 14 # expected: "pass" # got: "" # Looks like you failed 1 test of 1 |
|||
Zoffix | `got: ""` even tho there's some output produced both before react block and within it when signal is tapped | 16:18 | |
jnthn | Is that unique to the merged version? | 16:19 | |
Or does .stdout do the same? | |||
Zoffix | .stdout does the same | 16:20 | |
jnthn | Hm, I don't see anything silly in Proc::Async or down in the VM that'd be closing the handles too soon on a kill being sent | 16:23 | |
As in, it all looks like it just sends the signal and that's it | |||
Zoffix | Looks to be Proc::Async.kill that's the culprit. If I kill from the shell, instead with .kill, then it gets all the output | 16:25 | |
s/instead with .kill/instead of .kill/; | |||
Zoffix files | |||
ohhh | 16:29 | ||
Never mind no bug. It just kills it before the Proc has a chance to start and sign up for signal handling | 16:30 | ||
jnthn | m: say 2.97 / 0.71 | 16:36 | |
camelia | 4.183099 | ||
Geth | roast: 016aa10f8e | (Zoffix Znet)++ | MISC/bug-coverage-stress.t Test Supply.merge on signals does not crash RT#132016: rt.perl.org/Ticket/Display.html?id=132016 Rakudo fixes: github.com/rakudo/rakudo/commit/1f411693bd github.com/rakudo/rakudo/commit/13b6a33c20 |
16:40 | |
jnthn | Current design/implementation sketching for hyper/race: gist.github.com/jnthn/754292747161...207d077d74 | ||
synopsebot | RT#132016 [open]: rt.perl.org/Ticket/Display.html?id=132016 [TESTNEEDED] Supply.merge and signals ( signal(SIGTERM).merge(signal(SIGINT)) ) | ||
Zoffix | huggable: hyper :is: New hyper/race implementation exploration: gist.github.com/jnthn/754292747161...207d077d74 | 16:41 | |
huggable | Zoffix, Added hyper as New hyper/race implementation exploration: gist.github.com/jnthn/754292747161...207d077d74 | ||
jnthn | Will continue to fill it out | 16:42 | |
And at some point, move it into CORE.setting | 16:44 | ||
Given the current hyper/race are so busted, I guess the threshold for inclusion isn't too high :P | 16:45 | ||
But want to get a bit further first | 16:46 | ||
Geth | nqp: c4e1d6c984 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncProcessHandle.java [jvm] Don't wait for child when program ends With a user thread the following program sleeps for another 18 seconds after saying bye: my $proc = Proc::Async.new('sleep', '20'); my $promise = $proc.start; ... (6 more lines) |
16:47 | |
nqp: 7528e8104d | (Jonathan Worthington)++ (committed using GitHub Web editor) | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncProcessHandle.java Merge pull request #373 from usev6/jvm_procasync [jvm] Don't wait for child when program ends |
|||
Zoffix | .tell AlexDaniel- can you revert this now? The ticket is fixed github.com/perl6/doc/commit/700842...448bfa7aaf | 16:52 | |
yoleaux | 16:43Z <[Coke]> Zoffix: Proc::Q fails its tests here. | ||
Zoffix: I'll pass your message to AlexDaniel-. | |||
Geth | nqp: usev6++ created pull request #374: Jvm killprocasync |
17:51 | |
AlexDaniel- | . | 18:29 | |
yoleaux | 13:56Z <Zoffix> AlexDaniel-: OOC, is there a CLI interface to commitable? Kinda a waste of time to be going to view at gists all the time to read output, while trying to make some code that covers a bug. Looking for something like `./commitable-cli.p6 2017,HEAD file-with-code.txt` or `./commitable-cli.p6 2017,HEAD -e 'some code'` and it'd just dump all the output into terminal | ||
16:52Z <Zoffix> AlexDaniel-: can you revert this now? The ticket is fixed github.com/perl6/doc/commit/700842...448bfa7aaf | |||
AlexDaniel | . | ||
Geth | roast: c9d52eea5e | (Zoffix Znet)++ | MISC/bug-coverage-stress.t Remove useless multiplication |
18:44 | |
roast/6.c-errata: 8857362ba5 | (Zoffix Znet)++ (committed using GitHub Web editor) | 26 files Use `v6.c` instead of `v6` so we get right language version (#336) |
|||
Zoffix | This "removing content from docs site because there's a bug in an implementation X" feels counter-productive to me. You're deliberately hiding features of the language making potential users re-invent the wheel, instead of potentially volunteering to fix the bug. | 18:50 | |
AlexDaniel- | Zoffix: ok, so, commit reverted, but I also added a note mentioning brokenness on rakudo versions before 2017.09. | ||
I'm not saying that we should remove content, but if we know that things are broken why can't we be honest about it | 18:51 | ||
Zoffix | We are honest about it: fail.rakudo.party/ | 18:52 | |
If I haven't read through that RT I wouldn't even know the feature is commented out. | 18:53 | ||
And Proc::Async.Supply was fixed months ago. | |||
AlexDaniel- | I didn't revert the commit right away because there was no rakudo release at the time | ||
Zoffix | It's about separation of concerns. The docs site documents the language. It's not a bug tracker. | ||
AlexDaniel- | there was a TODO left in the docs | ||
ahhh… Look, I totally understand that | 18:54 | ||
timotimo | jnthn: i can't run your gist, does it have to be put into rakudo to work? it complains about Sequence being an invalid typename, and just replacing it with Seq won't fly | ||
AlexDaniel- | but expecting people to go through 1000+ bugs to know what they can and cannot use is unrealistic | ||
and unfair | |||
Zoffix | But it's fair to force them to re-implement features the language provides? | 18:55 | |
AlexDaniel- | as a user, I want the docs to be practical. I don't need some theoretical info about some imaginary features that have no (or broken) implementation | 18:56 | |
Zoffix | Re-implementing a feature from scratch instead of fixing a possibly easy bug is not my definition of "practical" | 18:57 | |
And faffing around creating and reverting a million commits just takes away more time from fixing said bug | |||
s | |||
Same as a bunch of RTs created for fudged tests when the fudges are already known. | 18:58 | ||
ZofBot: complain all the things! | |||
ZofBot | Zoffix, The "redo" operator, as a variant of "goto", directly transfers control to the first statement of the lexotically enclosed loop | ||
AlexDaniel- | Zoffix: you're not wrong, it's just that we can do better | 18:59 | |
Zoffix | GitHub now has dependency graphs.. neat github.com/rakudo/rakudo/network/dependencies | ||
I mean help.github.com/articles/listing-t...epends-on/ | |||
AlexDaniel- | and by “better” I mean for the user, and you're trying to solve a problem for yourself :) | 19:00 | |
Zoffix | Oh "You can see your project's Ruby and JavaScript dependencies in the dependency graph." | ||
Seems oddly specific. I guess that's just for start and they'll add more langs later | 19:01 | ||
AlexDaniel- | can we somehow add support for META6.json? | ||
jnthn | timotimo: Needs a commit introducing Sequence, which is in a branch that I probably forgot to push | 19:02 | |
timotimo | i see! | 19:04 | |
AlexDaniel- | c: 2017.07 gist.githubusercontent.com/AlexDan...t131763.p6 | 19:08 | |
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
synopsebot | RT#131763 [new]: rt.perl.org/Ticket/Display.html?id=131763 [ANNOYING] Merged output of Proc::Async does not work (whenever $proc { … }) | ||
committable6 | AlexDaniel-, ¦2017.07: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | ||
AlexDaniel- | bisect: old=2017.07 gist.githubusercontent.com/AlexDan...t131763.p6 | ||
bisectable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, Bisecting by exit signal (old=2017.07 new=37689a3). Old exit signal: 1 (SIGHUP) | 19:09 | ||
AlexDaniel-, bisect log: gist.github.com/e62286d91420b51fda...47347dd457 | |||
AlexDaniel-, (2017-09-13) github.com/rakudo/rakudo/commit/d2...d43ad42da2 | |||
AlexDaniel- | huh | 19:10 | |
c: d2eb7423127 gist.githubusercontent.com/AlexDan...t131763.p6 | |||
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, ¦d2eb742: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | |||
AlexDaniel- | no, that's not it | ||
AlexDaniel- moves to #whateverable | |||
Zoffix | AlexDaniel-: They are already tests covering this bug: github.com/perl6/roast/commit/ae3e...6df346a457 | 19:11 | |
s/They/There/; | 19:12 | ||
AlexDaniel- | I don't think it does | 19:13 | |
or… maybe it does | |||
IIRC you needed at least 20 iterations to make it fail | |||
so it's a good candidate for stress testing | 19:14 | ||
“Merge branch 'better-sched' into nom” – I think this is what fixed it | 19:16 | ||
Zoffix | ZofBot: bug reporters should report their versions | 19:22 | |
ZofBot | Zoffix, ) Binding within an "else" automatically binds the value tested by the previous "if" or "elsif", which, while known to be false, might nevertheless be an *interesting* value of false | ||
timotimo | i wonder what ) Binding is | 19:23 | |
Zoffix | m: if Failure.new {} else { $^meows.say } | 19:24 | |
camelia | (HANDLED) Failed |
||
AlexDaniel- | Zoffix: OK I retagged RT #131763 and left a comment there | 19:25 | |
synopsebot | RT#131763 [new]: rt.perl.org/Ticket/Display.html?id=131763 Merged output of Proc::Async does not work (whenever $proc { … }) | ||
AlexDaniel- | Zoffix: any other problematic tickets? | ||
Zoffix | AlexDaniel-: I can't find a commit where ^ that problem exists | ||
AlexDaniel- | OK, I'll take a look | 19:26 | |
Zoffix: ticket id? | |||
Zoffix | AlexDaniel- the RT you retagged | ||
The Proc thing | 19:27 | ||
AlexDaniel- | Zoffix: ah | ||
Zoffix: ce12e480316 | |||
Zoffix | Thanks | ||
AlexDaniel- | c: ce12e480316 gist.githubusercontent.com/AlexDan...t131763.p6 | 19:28 | |
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, ¦ce12e48: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | |||
AlexDaniel- | it's one of the parents of the “better-sched” merge commit | ||
(timeout *is* the buggy behavior, it gets stuck forever) | 19:29 | ||
Zoffix | Ah ok | ||
[Coke] | Speaking of Diwali, I am apparently joining folks in the office in wearing a Kurta next week. (need to pick one up.) | 19:37 | |
Zoffix | I thought we were renaming Diwali to something or other | 19:39 | |
6.d Dismorphia :) | |||
github.com/perl6/6.d-prep/tree/mas...ODO#naming | 19:40 | ||
There was some bikeshedding on some commit somehwere | |||
timotimo | mighty dismorphing power perlers | ||
ugexe | metal gear style: Diwali Dismorphia | 19:42 | |
timotimo | Compilers of the Perltriots | 19:43 | |
Zoffix | :) | ||
:S | 19:45 | ||
Geth didn't announce my commit and if I look at it on GitHub it says it was made "11 minutes from now": github.com/perl6/roast/commit/e821...c07792e13c | |||
Oh, I guess the clock is messed up on this box | 19:46 | ||
12 minutes into the future | |||
ZofBot: I think I entered into a pocket of time radiation and traveled into the future a bit... weeeeee | 19:48 | ||
ZofBot | Zoffix, weird | ||
Zoffix | Ya I kno | ||
AlexDaniel- | Zoffix: as for the command-line version of committable, there's no such thing *yet*. My goal was to make the bots runnable locally (in some kind of non-irc mode), where all required builds are pulled from the server on demand. This will only work for 64-bit linux of course, but for many purposes it should be good enough. | 20:41 | |
no progress on that yet :( | |||
I want to get trisectable (rakudo-nqp-moar) to work properly first | 20:42 | ||
and instead of that right now I'm trying to revive regressionable | |||
fwiw, volunteers welcome. I can provide hints on how these things can be done | 20:44 | ||
pmurias | Zoffix: in the old time the synopsis (which served as docs back in the day) had something called smartlinks (so you could see a test for the feature in the docs) | 21:12 | |
Zoffix: the smartlinks had a status which show if they pass or fail | 21:13 | ||
Zoffix | Considering this feature is dead, it's kind'f indicative that it's not maintainable. | 21:14 | |
AlexDaniel-: I was thinking even if it were possible to do on the commitable server. Give the IRC::Plugins a faked out IRC::Client::Message and reply to terminal | 21:15 | ||
Not really important, I guess. I won't need it after the ~40 testneeded RTs are closed | |||
pmurias | Zoffix: it was really cool, it would be great to have something like that for user modules | ||
which is an extra reason not to display module docs on the evil github | 21:16 | ||
AlexDaniel- | Zoffix: thinking about it, there's an IRC server running on the same server (used for all whateverable tests). I guess you can run any bot with TESTABLE=1 env variable, then join a corresponding channel using some cli irc client, and then you'll be able to see the content of all gists in /tmp/whateverable/tist | 21:20 | |
a bit convoluted, but let me know if you want to go with this | |||
Zoffix calls it a day | 21:21 | ||
ZofBot: good night, sweet prince! | |||
ZofBot | Zoffix, (You could write a macro that violates this, but resist the urge | ||
AlexDaniel- | lol… these answers are very on point | ||
maybe | |||
MasterDuke | jnthn: i tried increasing MVM_INTERN_ARITY_LIMIT from 8 to 9 and 16, but that causes segfaults; however, i didn't re-build nqp and rakudo | 21:23 | |
i was able to work around the arity limit by combining two parameters into one | 21:24 | ||
but do you think that limit is going to stay the same? | 21:25 | ||
Zoffix | geth is ded "We couldn’t deliver this payload: Couldn't connect to server" | 21:31 | |
And I tried killing geth so it respawns and `service restart geth` and it restarted, but error is still there. And been there for an hour already | |||
$ telnet geth.niner.name | 21:33 | ||
Trying 78.47.60.231... | |||
telnet: Unable to connect to remote host: Connection refused | |||
something's ain't right | |||
(same if I try geth's port) | 21:34 | ||
nine: are you around by any chance? Any idea how to get geth back? | 21:38 | ||
tis the right IP if I go to www.whatismyip.com/ from the box | 21:41 | ||
(amusingly, site itself rejected me 'cause I used HTTP1.0, but the error page includes IP details :P) | 21:42 | ||
moritz: do you know how to fix this? For some reason services can't connect to the box with geth on it | 21:53 | ||
or timotimo | 21:54 | ||
No errors in geth when sending hooks... Seems it's not getting through to the box | 21:56 | ||
telnet 78.47.60.231 8888 from geth box don't work but telnet localhost 8888 does | 21:57 | ||
jdv79 | who telnets anymore | 21:58 | |
Zoffix | people debugging connections | ||
lol | 22:00 | ||
root's password: | |||
Where did you learn to type? | |||
I love nine's box. It's so polishly setup. | |||
Zoffix gives up | 22:02 | ||
No idea how this box is set up to reach outside world. | |||
But I commited this, in case anyone wanted to double-check: "Replace cryptic code with direct <.ws> call": github.com/rakudo/rakudo/commit/1a...88f2d61363 | 22:05 | ||
Zoffix & | |||
AlexDaniel- | samcv: I think you're the first (and only) person in the whole IRC history who actually attempted to run 「rm -rf /」 on the evalbot :D | 22:34 | |
and I'm quite surprised | |||
a lot of people attempted to do delete specific files like irclog.perlgeek.de/perl6/2016-01-23#i_11928519 | 22:35 | ||
but not with “-rf /” | |||
private messages excluded, of course | |||
gist.github.com/AlexDaniel/515ecdf...3a54e3d3b3 | 22:37 | ||
that first one probably counts also | |||
jnthn | MasterDuke: You may have to rebuild the extops you bump that; I see no reason we couldn't increase it to 16 if we actually have real-world use cases | 22:45 | |
timotimo | do we count nameds douple in the figure we're using for size limits? | 22:46 | |
jnthn | yeah | ||
iir | |||
c | |||
timotimo | i can imagine having like an invocant and 7 nameds | 22:47 | |
jnthn | Yeah | ||
MasterDuke | jnthn: this is what i did to work around the limit for INTERPOLATE: github.com/MasterDuke17/rakudo/com...b18085f950 | 22:54 | |
is there any great cost to increasing the limit? | |||
Zoffix | m: $*OUT.^lookup("open").signature.params.elems.say | 22:55 | |
camelia | 21 | ||
Zoffix | yikes | ||
timotimo | MasterDuke: looking up %*RX over and over could be costly, but this code only runs rarely, doesn't it? | 22:56 | |
jnthn | MasterDuke: I don't think so | 22:57 | |
Zoffix: This is about callsites | |||
Zoffix: Which is the argument side | |||
It'd be odd to pass all 21 of them :P | |||
And all the limits on opt stuff are on arguments, not parameters | 22:58 | ||
If open is really hot enough, spesh is typically able to eliminate branches in the specialization | |||
MasterDuke | timotimo: only when interpolating into regexes. fwiw, initial testing of my branch (after that last commit to reduce the number of arguments by one) shows `./perl6-m -e 'my @l = "sm.sql".IO.lines; my $s = "Perl6"; my $t = now; my @m = @l.grep(/ $s /); say @m.elems; say now - $t'` ~25% faster (10k lines in the file) | 23:02 | |
timotimo | wow, 25% is a great win! | 23:03 | |
how big's the change without the latest commit, ooc? | |||
MasterDuke | 3x slower | ||
but i'll try increasing MVM_INTERN_ARITY_LIMIT to 16 and then rebuilding nqp and rakudo and then measure again | 23:04 | ||
timotimo | waitwhat | 23:06 | |
3x slower o_O | |||
MasterDuke | because i converted INTERPOLATE into multis, but the method lookup wasn't being cached | 23:09 | |
this is what you and jnthn were helping me debug yesterday | |||
timotimo | aaah | ||
MasterDuke | turns out it's because the callsites weren't being interned, and that was because of the MVM_INTERN_ARITY_LIMIT | 23:10 | |
timotimo | understood | ||
MasterDuke | heh. took me quite a bit longer to figure out, only a couple sentences to explain | 23:11 | |
timotimo | i know that feeling :) | ||
jnthn | :) | 23:12 | |
Sleep time; 'night | 23:13 | ||
timotimo | gnite jnthn :) | ||
MasterDuke | gains on my branch are significantly less for <$s> compared to just $s, and even less for @s (with 4 elements) | 23:14 | |
Zoffix | Ah, I see | ||
MasterDuke | later, thanks for the help! | ||
Zoffix: see something related to what i'm doing? | 23:17 | ||
Zoffix | MasterDuke: nah, it was re "Zoffix: This is about callsites" | ||
MasterDuke | ah, i see ;) | 23:18 | |
hm. changing MVM_INTERN_ARITY_LIMIT to 16 and then trying to rebuild nqp also results in immediate segfaults | 23:19 | ||
backtrace if anyone is interested, looks the same as the one i got when just re-running my perl6 code after rebuilding moar yesterday: gist.github.com/MasterDuke17/60679...587e405610 | 23:22 | ||
samcv | AlexDaniel-, hah. well i knew it wouldn't work :P | 23:43 | |
Zoffix | Well, until we figure out how to fix Geth, I'm gonna add more hooks to send stuff to Geth in the meantime | 23:52 | |
done moarvm, rakudo, roast, and docs. The rest ain't that important | 23:55 |