IOninja dogbert17: t/spec/S17-supply/syntax.t is what I also see flap on occasion. Flapped just now while I was running a stresstest 00:16
04:32 pyrimidi_ joined 05:22 tbrowder_ joined 05:30 samcv_ joined 06:46 pyrimidine joined
samcv_ those darn flappers 08:16
09:36 domidumont joined 11:04 domidumont joined 11:21 geekosaur joined 12:06 geekosaur joined
dogbert17 runs a stresstest something I don't do wery often. also wonders which test in syntax.t failed for IOnija 12:14
s/IOnija/IOninja/ 12:15
MasterDuke dogbert17: have you looked into rt.perl.org/Ticket/Display.html?id...et-history at all? 12:17
or rt.perl.org/Ticket/Display.html?id=125500
dogbert17 it looks vaguely familiar, does that code even run on the current rakudo (remembers something about a Supply complaint) 12:18
MasterDuke nope 12:20
complains that you can't do Supply.new
dogbert17 heh, the stresstest segfaulted (harness6). Wonders if jnthn had an idea what was wrong with that or if it's still a mystery. 12:21
MasterDuke but i've never written anything with Supplies, so i don't know what the replacement should be
dogbert17 and neither have I :(
we need expert help :) 12:22
the error message is nice and offers many suggestions though 12:24
moritz pro tip: become an export! 12:27
:-)
dogbert17 moritz: I changed line 14 to '$!queue = Supplier.new.Supply;' code is here gist.github.com/anonymous/4071a06909f4df8cabb2 12:28
it seems to mork but breaks a little later on line 106 with 'Type check failed in binding; expected Positional but got Seq ((["Filesystem", "Inod...)' 12:30
s/mork/work/ what's up with my spelling :( 12:31
MasterDuke dogbert17: could probably just change those binds to assigns 12:32
dogbert17 tries 12:33
now it fails at line 41 'Too many positionals passed; expected 1 argument but got 2 12:34
in block at scratch.pl6 line 41
jnthn I guess I became an export about 10 years ago... :-) 12:37
yoleaux2 25 Feb 2017 16:06Z <IOninja> jnthn: I forcee some largish changes due to IO grant work. Some things have zero tests at all. Others, only tests in master. I currently plan to write an advance notice and publish it today-ish. The changes will land in 2017.04 release and will include a detailed info on what changed. If that's a bad plan, let me know.
25 Feb 2017 16:13Z <IOninja> jnthn: Some examples: is `link` taking args in reverse (and being documented as such), despite using them in right order in error message. So I forcee this being changed to follow the same order of args as `ln` Linux command, which follows the "sub($existing-thing, $new-thing)" order that `move`, `rename` and ilk follow. The other change I'll propose is tossing Seek* enum and passing position to
25 Feb 2017 16:13Z <IOninja> jnthn: .seek() as named args. The `link()` has no tests at all. The `seek()` only has the tests I added in January, 2017
05:06Z <IOninja> jnthn: here's the notice draft and it deliniates the timeline on when more concrete info will be available, so people would know to look for it: gist.github.com/zoffixznet/b625809...e949a19ece
MasterDuke dogbert17: maybe it's the `my $s := qq:x< $cmd >;` part? i don't know what the x adverb does to qq 12:39
dogbert17 hmm, this is scandalous, do you actually have to know Perl6 do hunt SEGV's and leaks :-) 12:42
jnthn .tell IOninja The advance notice looks sensible overall. I think we'll need to evaluate the changes for impact on a case-by-case basis, and preferably - like we did with lexical module loading - try the out against ecosystem modules to understand their impact "in the wild". 12:43
yoleaux2 jnthn: I'll pass your message to IOninja.
MasterDuke jnthn: since you seem to be here. i was trying to figure out what the fix was you mentioned here irclog.perlgeek.de/perl6-dev/2016-0...i_13173728 . nine_ suggested gist.github.com/niner/da7d13490b35...192eaeee8b , but that didn't seem to fix the problems in `"a" x <large number>` 12:44
jnthn .tell IOninja The link argument order change I think we need to be cautious on, in so far as I fear that we could turn running code into something that causes data loss. Wouldn't the failure mode be replacing the target to link to with a link to nowhere? So may want to explore alternatives there. 12:46
yoleaux2 jnthn: I'll pass your message to IOninja.
jnthn MasterDuke: Curious, the nine++ patch looks sensible 12:48
I'll have to dig a bit more
MasterDuke jnthn: cool. there was a little bit of discussion here irclog.perlgeek.de/perl6-dev/2017-...i_14164696 12:50
jnthn m: say ('x' x 2 ** 60).chars 12:51
camelia repeat count > 1073741824 arbitrarily unsupported...
in block <unit> at <tmp> line 1
jnthn m: say ('x' x 2 ** 63).chars
camelia 0
jnthn m: say ('x' x 2 ** 64).chars 12:52
camelia Cannot unbox 65 bit wide bigint into native integer
in block <unit> at <tmp> line 1
jnthn m: say ('x' x 2 ** 62).chars
camelia repeat count > 1073741824 arbitrarily unsupported...
in block <unit> at <tmp> line 1
jnthn m: say 0x7FFFFFFFFFFFFFFF 12:54
camelia 9223372036854775807
jnthn m: say 2 ** 63
camelia 9223372036854775808
jnthn 2 ** 63 is actually 1 too big to represent
MasterDuke m: say ('x' x 2 ** 63 - 1).chars 12:55
camelia repeat count > 1073741824 arbitrarily unsupported...
in block <unit> at <tmp> line 1
jnthn So it's an off-by-one
Because of the 2s-complement representation
We can represent down to -(2 ** 63) but only up to 2 ** 63 - 1 12:56
So yeah, the nine patch is close but not quite there, it seems
MasterDuke so it should actually be `if (bits > (sign ? 63 : 62)) {`? 12:58
jnthn I think that'll rule out too many values? 13:02
iiuc, libtommath stores only signed numbers and then has a seprate sign bit
Whereas a native int is stored in 2s complement, so we have an issue where we can represent a bigger negative than we can a positive
MasterDuke yeah, that `sign` nine added is 1 if `MP_NEG == SIGN(i)`, and i think SIGN() just looks at the mp_int.sign 13:04
so should that conditional get more complicated? if positive and == 63, check that it's not actually 2**63? 13:05
jnthn Yeah 13:09
MasterDuke if that's all that's required i can try to adapt nine's patch. unless you're already on it? 13:12
jnthn No, I'm off for lunch :) 13:13
And should probably rest/relax today :)
MasterDuke cool. if i get something working i'll create PR, otherwise leave a note that it was beyond me 13:14
13:34 geekosaur joined 13:58 pyrimidi_ joined
IOninja . 14:10
yoleaux2 12:43Z <jnthn> IOninja: The advance notice looks sensible overall. I think we'll need to evaluate the changes for impact on a case-by-case basis, and preferably - like we did with lexical module loading - try the out against ecosystem modules to understand their impact "in the wild".
12:46Z <jnthn> IOninja: The link argument order change I think we need to be cautious on, in so far as I fear that we could turn running code into something that causes data loss. Wouldn't the failure mode be replacing the target to link to with a link to nowhere? So may want to explore alternatives there.
IOninja Case-by-case basis sounds good.
jnthn: tested out the link(); the failure mode is it throws `no such file or directory`. I'm not changing anything yet though and will include this in the Action Plan so everything will have a chance to review the proposed changed before I change anything. 14:13
s/everything/everyone/
15:11 zakharyas joined 17:45 spebern joined
dogbert17 hmm, I seem to be able to get t/spec/S17-supply/supplier-preserving.t to flap 18:17
it's the last test which fails from time to time 'not ok 11 - Close called as expected'. Seems as if a character gets lost. expected: 'xxxxxxxxxx', got: 'xxxxxxxxx' 18:19
19:01 pyrimidine joined
dogbert17 wat, 'IOninja is now known as Zoffix' 19:16
19:16 Zoffix joined
Zoffix heh 19:16
dogbert17 wazzup with that
is this the end of IOninja? 19:17
Zoffix Got an email that indicated a person didn't realize IOninja was a Zoffix and since the IOwesomeness directs to Zoffix for more info I figured it'd be more helpful if they could find a Zoffix on IRC easily :)
timotimo good point 19:18
dogbert17 timotimo: are you good at interpreting output from helgrind? 19:23
are complaints like 'Thread #1: lock order "0x6A37EA0 before 0x5A17960" violated' anything to worry about? 19:26
timotimo i'm not good at helgrind. not at all. 19:37
in theory those warnings point out potential deadlocks, i think?
dogbert17 if I run an empty p6 program a few complaints pop up. i.e gist.github.com/dogbert17/0200459a...bf1ed2f6f1 19:40
20:08 zakharyas joined 20:42 pyrimidine joined 20:44 pyrimidine joined 21:04 pyrimidine joined 21:14 pyrimidine joined 23:44 Sufrostico[m] joined