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
|