AlexDaniel | timo: hey, you've been using neo layout, right? | 00:00 | |
timo: does it work in chromium? | |||
like shift+arrows and stuff like this? | |||
timo | yeah | 00:01 | |
AlexDaniel | :-| | ||
timo | something wrong? | ||
AlexDaniel | yea, my layout is completely useless in chromium, a lot of things just don't work | 00:02 | |
timo | oh crap :( | ||
AlexDaniel | and I've been ignoring this for years by simply labeling chromium as garbage | ||
timo | some IDEs are unhappy with the neo2 arrow keys | ||
especially on windows | 00:03 | ||
AlexDaniel | now a lot of things use electron (which is based on chromium as far as I can see) and I'm screwed | ||
MasterDuke_ | timo: that's very well written, looks great | ||
only one minor suggestion, and one minor thought | 00:04 | ||
timo | (and before sending it off i'll remove the hour counts again) | ||
MasterDuke_ | i think it's a little unclear what an end user would use the heap snapshot profiler for | ||
timo | ah, sure, i can write more about that | 00:05 | |
haha, yeah, now that i look at it again, it's many words saying very little | |||
MasterDuke_ | and i believe Devel::NYTProf is pretty popular in the Perl 5 world, maybe some comparison to it? | 00:06 | |
timo | NYTProf is line-oriented, right? | ||
MasterDuke_ | but i don't really have concrete suggestions about that thought, so feel free to ignore | 00:07 | |
believe so | |||
timo | how do you like the initial part to the heap snapshot section? | ||
MasterDuke_ | good | 00:11 | |
timo | the sampling profiler jnthn has been talking about will be more similar to NYTProf as it will give line-by-line accuracy, but it'll be probabilistic rather than measuring everything | 00:13 | |
so it'd be a lot like perf | |||
MasterDuke_ | btw, between 2017.04 and 2017.05, a --profile-compile of stage parse of the setting increased in size by 50mb, and the compressed size went from 50mb to 115mb | ||
timo | wow | ||
the heap snapshot analyzer will also want a bit more memory use tweaking %) | 00:14 | ||
i'm glad i still have about 21h until the deadline hits | 00:18 | ||
i should send a mail to "take back" my application so the first version doesn't get published | |||
done | 00:27 | ||
MasterDuke_ | afk for a while, good luck | 00:30 | |
timo | i'll go to bed first :) | 00:31 | |
Geth | rakudo: Gnouc++ created pull request #1159: use 'time' as default seed for srand |
02:44 | |
AlexDaniel | what was the issue with make spectest on jvm? | 03:00 | |
like, individual files are passing ok, but not make spectest | 03:01 | ||
Geth | nqp: Gnouc++ created pull request #371: add document for srand op |
03:08 | |
roast: Gnouc++ created pull request #319: add test for srand has default value |
03:17 | ||
cuonglm | m: say srand; | 03:18 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Calling srand() will never work with declared signature (Int $seed --> Int:D) at <tmp>:1 ------> 3say 7⏏5srand; |
||
AlexDaniel | buggable: tag JVM | 03:27 | |
buggable | AlexDaniel, There are 49 tickets tagged with JVM; See fail.rakudo.party/t/JVM for details | ||
AlexDaniel | o/ see you all in ≈8 hours | 04:54 | |
lizmat | Files=1223, Tests=67805, 295 wallclock secs (11.02 usr 4.78 sys + 1953.74 cusr 208.60 csys = 2178.14 CPU) | 06:18 | |
bartolin | for the records, I've seen the following issues with the jvm backend (but didn't have the time to take a closer look) | 06:39 | |
1) 'make' does not work before 'make install': I believe that happens, because we use the EvalServer -- and that doesn't look for BOOTSTRAP.nqp in ./blib | 06:40 | ||
2) 'make test' fails a lot of nativecall tests. afaik that happens because the op 'nativecallinvoke' was introduced with commit cd7dc4ce93 in lib/NativeCall.pm6 (but isn't known on the JVM backend) | 06:41 | ||
3) a lot of tests for $! seem to fail. i think that happens since commit 1a4d94930c (there was a call to nqp::setmessage removed from method throw) | 06:43 | ||
4) the EvalServer seems to leak memory. it's no longer possible to run 'make spectest', even with -Xmx6000m | 06:44 | ||
i'd be interested in suggestions how to fix 1) and 4), especially :-) | 06:46 | ||
Geth | nqp: ea6be29658 | (Cuong Manh Le)++ | docs/ops.markdown add document for srand op |
07:10 | |
nqp: b6ba7362e0 | lizmat++ (committed using GitHub Web editor) | docs/ops.markdown Merge pull request #371 from Gnouc/master add document for srand op |
|||
lizmat | afk& | 07:21 | |
Geth | rakudo/nom: c3a71acb33 | (Samantha McVey)++ | t/spectest.data Add collation tests to spectest.data |
08:17 | |
[Tux] | This is Rakudo version 2017.08-155-gc3a71acb3 built on MoarVM version 2017.08.1-171-gcf95892e | 10:06 | |
csv-ip5xs 1.371 - 1.484 | |||
test 9.777 - 10.006 | |||
test-t 3.523 - 3.539 | |||
csv-parser 10.881 - 12.371 | |||
Skarsnik | Hello | 10:58 | |
samcv | releasable6, status | 11:20 | |
releasable6 | samcv, Next release in ≈7 hours. 2 blockers. 122 out of 155 commits logged | ||
samcv, Details: gist.github.com/ae02f7b965262c8c45...ba6ec9923e | |||
Geth | nqp: 3b1858d6d9 | (Moritz Lenz)++ | src/QRegex/P6Regex/Grammar.nqp Suppress warning in /a b+/ the warning (about the space not being significant) makes sense inside a normal literal, but when the last character is quantifier, it is likely just somebody splitting off the character to emphasize the quantified atom |
12:19 | |
moritz | s/quantifier/quantified/ | 12:20 | |
too late to use the example in the book :/ | |||
timo | i like this change | 12:21 | |
travis-ci | Rakudo build failed. Zoffix Znet 'Merge pull request #1157 from book/book/enum-pred-succ | 13:32 | |
travis-ci.org/rakudo/rakudo/builds/275895080 github.com/rakudo/rakudo/compare/2...0156146917 | |||
buggable | [travis build above] ✓ All failures are due to timeout (0), missing build log (0), GitHub connectivity (1), or failed make test (0). | ||
lizmat | wonder how Rakudo Perl 6 would be doing in this: greenlab.di.uminho.pt/wp-content/up...perSLE.pdf | 13:36 | |
jnthn | Hmm, intersting paper :) | 13:48 | |
timotimo | dangit, this bench either makes one single major collection or a whole ton of minor collections | 13:52 | |
i just want a program that makes like 5 snapshots %) | |||
may want to build a "limit" option or something :D | 13:53 | ||
yeah! rc-forest-fire with a 2x2 grid gives me 5 snapshots | 13:56 | ||
bartolin | oh, AlexDaniel++ (creating tickets from my earlier messages today). i should have done that myself | 14:31 | |
bartolin blushes | |||
AlexDaniel | RT #132101 RT #132102 RT #132103 RT #132104 | 14:32 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132101 | ||
Link: rt.perl.org/rt3/Public/Bug/Display...?id=132102 | |||
Link: rt.perl.org/rt3/Public/Bug/Display...?id=132103 | |||
Link: rt.perl.org/rt3/Public/Bug/Display...?id=132104 | |||
AlexDaniel | bartolin: thanks | ||
⚠⚠⚠ Last time I checked, nothing was blocking the release seriously. If you're seeing some issues, please contact me. ⚠⚠⚠ | 14:35 | ||
if there are any volunteers to run the spectest on windows, that'd be appreciated | 14:36 | ||
stmuk | AlexDaniel: OK I'll try now | 14:37 | |
AlexDaniel | Skarsnik_: how long does it take to run toaster for you? | ||
releasable6: status | |||
releasable6 | AlexDaniel, Next release in ≈4 hours. 2 blockers. 122 out of 155 commits logged | ||
AlexDaniel, Details: gist.github.com/b05b81274185737530...7dd828df2a | |||
AlexDaniel | Skarsnik_: if you have resources to do that, I think about now will be the right time :) | 14:38 | |
Skarsnik_ | 4h? | ||
AlexDaniel | kick it off then just in case? | ||
FWIW I'd probably take a look at those few modules that fail because of the buffering change, but I think we want it to be in the release anyway. The fallout is minor, and these modules are truly missing .close somewhere I think | 14:40 | ||
travis-ci | Rakudo build failed. Jonathan Worthington 'Don't attempt non-blocking await if holding locks | 14:41 | |
travis-ci.org/rakudo/rakudo/builds/275907719 github.com/rakudo/rakudo/compare/8...6d1e24f927 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
Geth | rakudo/nom: e6a695b272 | (Samantha McVey)++ | t/spectest.data Fix spectest.data path for Collation tests |
14:43 | |
AlexDaniel | Geth: ver github.com/rakudo/rakudo/commit/06e20f80 | 15:01 | |
Geth | AlexDaniel, version bump brought in these changes: github.com/perl6/nqp/compare/2017....5cdbdd3... No newline at end of file | ||
AlexDaniel | fucking Geth | ||
( github.com/perl6/geth/issues/8 ) | 15:03 | ||
Geth: ver github.com/perl6/nqp/commit/9a2ba3...3a49c83396 | 15:05 | ||
Geth | AlexDaniel, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...2-g4a7248e | ||
rakudo/nom: bdbb7e4aca | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog Log remaining changes Deliberately not logged: 29691b2f c4043b06 b7ab48ee fe719405 06e20f80 cc64a758 ce95e162 dea0a085 a8e0352b 3de6f338 ac8e099b c3a71acb 66015614 |
15:35 | ||
AlexDaniel | I think Test.pm is buffering its output needlessly | 15:38 | |
does this idea ring the bells for anybody? | |||
I'm running parallelized tests in whateverable and I see ===( 172;53 1/? 1/? 1/? 1/? 1/? 1/? 1/? 1/? )=============== | 15:39 | ||
the tests are running but I'm guessing that the result only shows up once the handle is closed | 15:40 | ||
these are just random thoughts though | |||
stmuk | I may be seeing something similar on windows - at least I'm not seeing test output around S32-io | 15:41 | |
timotimo | next star's gonna be at least one more month out, right? | 15:51 | |
stmuk | 2017.10 hopefully | ||
timotimo | good | 15:55 | |
so i don't really have a reason to rush my extra-proflie-options feature in before the release | 15:56 | ||
AlexDaniel | there's also this module that passes its tests just fine but fails under prove: github.com/azawawi/perl6-ncurses/issues/16 | 15:58 | |
stmuk turns off windows av | 16:04 | ||
I'm seeing a few windows roast failures even oon 6.c-errata | 16:21 | ||
AlexDaniel | stmuk: more info? | 16:22 | |
stmuk | t\spec\S02-literals\quoting.t t\spec\S02-magicals\KERNEL.rakudo.moar t\spec\S02-magicals\args.t | 16:25 | |
AlexDaniel | I'm pretty sure that quoting.t was like this for a while | 16:30 | |
this issue for example: github.com/perl6/roast/issues/197 | |||
stmuk | yeah and at least some of those (like the precomp failure) are fixed | 16:32 | |
AlexDaniel | rakudo on windows definitely needs more love | 16:34 | |
so I guess it's alright? | 16:36 | ||
stmuk | SNAFU :) | ||
timotimo | Situation Needs A Fine Understanding | 16:38 | |
stmuk | ha | 16:40 | |
AlexDaniel | well, at least not TARFU like we had it before last release | 16:43 | |
stmuk | Seaman Tarfu, a brother of cartoon character Private Snafu | 16:47 | |
AlexDaniel | folks, we have a blocker | 16:48 | |
I think. Maybe. | |||
this one: rt.perl.org/Ticket/Display.html?id=132083 | |||
and here's why | |||
say $value; # -2147483648 | 16:49 | ||
say -2147483648; # -2147483648 | |||
say $value == -2147483648; # False | |||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/XgeG6q6Q4b Variable '$value' is not declared. Did you mean '&values'? at /tmp/XgeG6q6Q4b:1 ------> 03say 08⏏04$value; # -2147483648 |
||
-2147483648 | |||
(exit code 1) 04===SORRY!04=== Error while compiling /tmp/gJL6RZzlkm Variabl… |
|||
AlexDaniel, Full output: gist.github.com/9d78faf157d8d41e74...3272c4e8b1 | |||
AlexDaniel | shut up evalable6 | ||
anyway, these are two kinda identical numbers, but they == to False | 16:50 | ||
I remember seeing something similar… hmm | |||
which may simply be a side effect of RT #131994 | 16:51 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131994 | ||
AlexDaniel | but $value * 1.0 is still -2147483648 | 16:52 | |
stmuk | github.com/perl6/roast/issues/320 | ||
AlexDaniel | stmuk: thanks for documenting it | 16:54 | |
stmuk | np | 16:55 | |
AlexDaniel | we can of course say that number -2147483648 is cursed and move on, but uhh… | 16:56 | |
stmuk | more positively I saw a full PASS on errata on FreeBSD 11 yesterday! | 16:58 | |
AlexDaniel | I'm currently golfing that -2147483648 issue | 17:03 | |
bartolin | stmuk: ooc, I'm seeing failures for roast master in S24-testing/11-plan-skip-all.t (aborted) and S29-os/system.t (test 35) on FreeBSD 10. do you have those on FreeBSD 11 as well? | 17:13 | |
stmuk: 6.c-errata is clean for me as well | 17:14 | ||
stmuk | bartolin: Yes I saw failures on roast master recently but I don't have a record | 17:17 | |
bartolin | stmuk: thanks. no need to look again, i was just a tad bit curious | 17:20 | |
AlexDaniel | okay, there we go | 17:25 | |
m: my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -2147483648; | |||
camelia | -2147483648 -2147483648 False |
||
AlexDaniel | bisect: my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -2147483648; | 17:26 | |
bisectable6 | AlexDaniel, On both starting points (old=2015.12 new=bdbb7e4) the exit code is 0 and the output is identical as well | ||
AlexDaniel, Output on both points: «-2147483648-2147483648False» | |||
AlexDaniel | :O what | ||
commit: all my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -2147483648; | |||
committable6 | AlexDaniel, gist.github.com/78b55a0024486a7008...ce659335ee | 17:27 | |
AlexDaniel | :O what | ||
j: my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -2147483648; | 17:29 | ||
camelia | -2147483648 -2147483648 True |
||
AlexDaniel | okay | ||
m: my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value < -2147483648; | 17:30 | ||
camelia | -2147483648 -2147483648 True |
||
AlexDaniel | m: my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -18446744071562067968 | 17:40 | |
camelia | -2147483648 -2147483648 True |
||
AlexDaniel | well, we can try bisecting it | 17:48 | |
timotimo | hm, this isn't close to the smallbigint border is it? | ||
AlexDaniel | bisect old=2014.01 new=2014.02 my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -2147483648; | 17:49 | |
timotimo: that's 2³¹ I think | |||
timotimo | m: say 2³¹ | ||
camelia | 2147483648 | ||
timotimo | it is | ||
AlexDaniel | but negative | ||
hello, bisectable? | |||
timotimo | that means the uppermost bit is also set, right? | ||
AlexDaniel | right | 17:50 | |
bisect: old=2014.01 new=2014.02 my $value = -0x7FFFFFFF - 1; say $value; say -2147483648; say $value == -2147483648; | |||
bisectable6 | AlexDaniel, Bisecting by output (old=2014.01 new=2014.02) because on both starting points the exit code is 0 | ||
AlexDaniel, bisect log: gist.github.com/d9e374de485f03a4c6...71cca6745e | |||
AlexDaniel, (2014-02-08) github.com/rakudo/rakudo/commit/8e...865598e211 | |||
timotimo | an nqp bump, heh. | 17:51 | |
AlexDaniel | Geth: ver github.com/rakudo/rakudo/commit/8e...865598e211 | ||
Geth | AlexDaniel, version bump brought in these changes: github.com/perl6/nqp/compare/2014....7-gdcc6d47 | ||
AlexDaniel | Geth: ver github.com/perl6/nqp/commit/dcc6d4...22ae2da283 | ||
Geth | AlexDaniel, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...1-ge9612cb | ||
AlexDaniel | timotimo: well here's the list ^ | 17:52 | |
some of your commits there also :) | |||
timotimo | oh, could it be a problem with variable int encoding? | ||
Skarsnik | m: my uint8 $a = 255; say $a++; | 17:54 | |
camelia | -1 | ||
timotimo | that's been a problem forever :) | ||
Skarsnik | should that throw an error ? xD | 17:55 | |
timotimo | need to make dinner, almost too hungry to think ATM | ||
native ints are supposed to behave like that i think | |||
AlexDaniel | timotimo: Maybe RT #131994 can give you some idea also? | 18:00 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131994 | ||
AlexDaniel | huggable: no release? | ||
huggable | AlexDaniel, blead build fails on windows. Options: (1). Fix it. Find a way. (2). Revert the security fix. | See irclog.perlgeek.de/perl6-dev/2017-...i_15043376 | ||
AlexDaniel | huggable: no release? :is: See RT #132083 | 18:01 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132083 | ||
huggable | AlexDaniel, Added no release? as See RT #132083 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132083 | ||
AlexDaniel | timotimo: I think I can try bisecting it manually | ||
in a hope that it will give us a better idea | |||
but rakudo 2014.01-2014.02… uhh… | 18:02 | ||
ok, bisect is starting alright | 18:29 | ||
it's definitely not a change in nqp or whatever, so now bisecting moar… | |||
Skarsnik | AlexDaniel, file updated for toast | 18:38 | |
AlexDaniel | link? | ||
Skarsnik | www.nyo.fr/~skarsnik/tmp/toast.sqlite.db | 18:39 | |
AlexDaniel | Skarsnik: thanks, will look after I'm finished with the int issue | 18:40 | |
.in 7d teach bisectable to bisect moar, you idiot. | 18:49 | ||
yoleaux | AlexDaniel: I'll remind you on 23 Sep 2017 18:49Z | ||
AlexDaniel | binary search is not so binary when some commits are unbuildable… | 19:08 | |
Geth | roast: d776a06e52 | (David Warring)++ | S02-types/subset.t tests for RT #132073 - isa on a subset type object |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132073 | ||
timotimo | the serialization function changes at either one F more or one F less in the number, fwiw | 19:41 | |
gfldex | jnthn: the segfault in the long running golfed httpd seams to be gone | 19:46 | |
AlexDaniel | timotimo: I really don't know if git bisect will give any meaningful result here | 19:47 | |
timotimo | oof, all the commits are unbuildable? | ||
AlexDaniel | I *think* it narrowed it down to 12 commits | 19:48 | |
but it just keeps going… | |||
probably wants to make sure that all 12 of them are unbuildable | |||
but it feels like I've been doing it for way longer… | |||
timotimo | try "git bisect visualize" | 19:50 | |
it might require gitk | 19:51 | ||
AlexDaniel | I'm doing it over ssh | ||
timotimo | ah | ||
AlexDaniel | well, it's definitely not stuck… just doing something useless | 19:52 | |
timotimo | i'm going to gdb around a bit in the place i'm expecting trouble | ||
Skarsnik | releasable6, status | 20:05 | |
releasable6 | Skarsnik, Next release will happen when it's ready. 2 blockers. 154 out of 157 commits logged | ||
Skarsnik, Details: gist.github.com/4b6de50e30059383f9...d54bfdba2c | |||
AlexDaniel | maybe I should just skip all the way through | ||
timotimo: gist.github.com/AlexDaniel/6e6b040...6ad50e514a | 20:08 | ||
timotimo | well, crap ... | 20:09 | |
having the commit titles there would be nice | 20:10 | ||
samcv | good * all | 20:24 | |
timotimo | good * samcv | 20:25 | |
debug output shows i'm deserializing a 2147483648 | 20:26 | ||
m: say 2147483648.base(16) | |||
camelia | 80000000 | ||
timotimo | m: say 2147483648.base(16) - 1 | ||
camelia | 79999999 | ||
timotimo | oops | ||
m: say 2147483647.base(16) | 20:27 | ||
camelia | 7FFFFFFF | ||
timotimo | i'm getting the value that's in the source, but + 1, so it must be the absolute value or something? | ||
because i'm storing -0x7FFFFFFF - 1 in the module | 20:28 | ||
jnthn | gfldex: Ah, good; I figured that would be the same issue I uncovered with a short-running httpd hammered with requests. | 20:44 | |
Geth | rakudo/nom: 24d6c66f30 | (Samantha McVey)++ | docs/ChangeLog Update ChangeLog with more Unicode/string related MoarVM changes |
20:46 | |
AlexDaniel | samcv++ | 20:47 | |
samcv | so many speedups :) | ||
BooK | AlexDaniel: the good and bad commits have branches (or at least refs pointing to them), so you can still somewhat see what happens with git log --graph and the proper revlist | 20:52 | |
AlexDaniel | right | ||
BooK | if you're still trying to "see" the current bisect | ||
AlexDaniel | we really need a volunteer for github.com/perl6/whateverable/issues/40 | 20:53 | |
nine | AlexDaniel: maybe the simplest way would be a unified repository | 20:56 | |
AlexDaniel | nine: I doubt it. One possible strategy is described in github.com/perl6/whateverable/issu...-326310996 | ||
samcv | a lot of modules i think are broken. i can't `use META6:ver<0.0.4..*>` | 20:57 | |
even though i have a newer version than that installed | |||
AlexDaniel | samcv: plz more info, I have toaster results in front of me and everything looks fine | ||
BooK | AlexDaniel: I'd been interested in seeing the code doing the current bisect stuff | ||
samcv | i can do `use META6` or `use META6:auth('github:jonathanstowe')` but not `use META6:ver<0.0.4..*>` (with or without the auth) | ||
and my friend is having the same issue | |||
BooK | nine: what do you mean by "unified"? | 20:58 | |
AlexDaniel | BooK: github.com/perl6/whateverable/blob...6#L41-L125 | ||
nine | samcv: ver<0.0.4..*> is a string | ||
samcv | my friend says: `zef install MongoDB::Client MongoDB::Server BSON::Document` gave me the missing META6:ver<0.0.4..*> error | 20:59 | |
i've got the same error trying to install stuff | |||
nine, so the module needs to be changed? to what | |||
ver(0.0.4..*) ? | |||
AlexDaniel | BooK: the point is that bisectable does not build anything, and also it does not use “git bisect run” | 21:00 | |
BooK | oh | ||
nine | m: say v0.5 ~~ v0.0.4..* | ||
camelia | True | ||
AlexDaniel | BooK: we just have to make some extra builds for different nqp and moar revisions, and then teach it to handle these | ||
BooK | so you have a linear history with points in time? | ||
nine | m: say v0.5 ~~ v0.0.4+ | ||
camelia | True | ||
nine | m: say v0.5 ~~ Version.new('0.0.4..*') | 21:01 | |
camelia | False | ||
nine | m: say v0.5 ~~ Version.new('v0.0.4..*') | ||
camelia | False | ||
nine | m: say v0.5 ~~ Version.new('v0.0.4+') | ||
camelia | False | ||
nine | m: say v0.5 ~~ Version.new('0.0.4+') | ||
camelia | True | ||
samcv | how do i grep all modules? | ||
AlexDaniel | BooK: no, we jush have everything pre-built. We still ask git to jump between version | ||
samcv: greppable6 ? | |||
samcv | greppable6, ver<0.0.4..*> | 21:02 | |
AlexDaniel | samcv: or use github.com/moritz/perl6-all-modules/ | ||
nine | samcv: so either ver<0.0.4+> or ver(v0.0.4+) or ver(v0.0.4..*) | ||
greppable6 | samcv, gist.github.com/a78573bb8fa48a36b9...5991f5c65f | ||
AlexDaniel | greppable6: ver\<0\.0\.4\.\.\*\> | ||
greppable6 | AlexDaniel, Found nothing! | ||
AlexDaniel | BooK: point is, it takes a few minutes to build moar-nqp-rakudo, and typically bisect needs about 12 test IIRC | 21:03 | |
samcv | looks liek Semaphore::ReadersWriters:ver('0.2.6'):auth('Marcel Timmerman') | ||
AlexDaniel | BooK: assuming that everything is buildable and you never “skip”, which is sometimes not the case | ||
samcv | my friend is gonna PR it | ||
thanks guys :) | |||
AlexDaniel | BooK: so you multiply 12 by 2 minutes, or even 1 minute if you're generous, and you don't get anything pretty :) | ||
BooK: when talking about bisecting moar or nqp, I don't think building it on the fly is a good solution, because why wait | 21:04 | ||
BooK | sure | ||
AlexDaniel | bisectable currently has over 6000 builds IIRC, and it takes almost no space | ||
(because we compress things in a smart way) | 21:05 | ||
BooK | are the builds themselves stored in git? | ||
AlexDaniel | no | ||
BooK | cause you could build a similar dag structure, but with builds instead of source | ||
and then use git bisect in the "binary" repo | 21:06 | ||
AlexDaniel | you can, but you win more free space by not doing that (and in the end it is also more flexible) | ||
here's some info on that: github.com/perl6/whateverable/issues/23 | |||
so “quick-access” builds are compressed with zstd (these includes all commits after 2015.12 and all tags like 2014.01) | 21:07 | ||
now as for everything before 2015.12, here's the info: github.com/perl6/whateverable/issues/117 | |||
basically it puts several adjacent builds in a pack of 20, and compresses it all with lrzip | 21:09 | ||
samcv | here's the issue gist.github.com/KingNoosh/bdbdffcd...e1-txt-L21 | ||
i think this may be a different issue | |||
BooK | ok, so the tracking is done by naming the "tarball" with the commit id | ||
AlexDaniel | yeah | 21:10 | |
BooK | using git bisect run sounds like just writing down the steps once you know the commit id in a script | 21:11 | |
since git doesn't really care about what you do with the checkout it gives you, but only about the exit status | |||
AlexDaniel | and if it's in deep storage mode, it's just a symlink to a bigger lrz archive | ||
we've been using git bisect run before, and then switched from it | |||
git bisect run itself is just a shell script with some sugar in it | 21:12 | ||
I'm not entirely sure what was the motivation behind it, but here's the commit: github.com/perl6/whateverable/comm...c96f454ef6 | 21:13 | ||
well, I'm not sure today, back then it was an obvious thing to do :) | |||
BooK | the commit message is light on details :-) | ||
in fact, I jumped in the conversation with no background, so I have no idea what the current issue is, and if I can contribute anything to it | 21:14 | ||
I just heard "git" and jumped in ;-) | |||
AlexDaniel | BooK: well… I just saw somebody interested in the question and started pouring out as much as I know :) | 21:15 | |
but implementing moar/nqp/rakudo bisect for bisectable requires this: | 21:16 | ||
BooK | there's probably a range of moar/nqp combinations that can be used with a given rakudo commit | ||
AlexDaniel | 1) create the required builds somewhere here: github.com/perl6/whateverable/blob...n/build.p6 (for example, with RAKUDOSHA-NQPSHA-MOARSHA.zst filenames) | ||
2) teach bisectable to use these, somewhere here maybe github.com/perl6/whateverable/blob...6#L41-L125 | 21:17 | ||
3) … | |||
BooK | so that limits the combinatorial explosion somewhat | ||
AlexDaniel | 4) PROFIT! | ||
BooK: typically… well, ok, *sometimes* when you bisect moar you just use whatever version is declared | 21:18 | ||
you may get some unbuildable or broken builds, but that's ok | |||
when you bisect nqp*** | |||
so there's no 2D problem with this, or so I think | |||
BooK | 2D problems? | 21:19 | |
AlexDaniel | and on Moar bumps you just go through the range of moar commits, so again that's pretty much linear | ||
trying out different nqp-moar versions | |||
BooK | I see the benefit of bisecting rakudo, but I'm not sure I understand the use case with the combination of the three | 21:20 | |
or is it: given one somewhat broken rakudo commit, find the nqp/moar that actualy broke it? | 21:21 | ||
AlexDaniel | yea | ||
here's one real life example: github.com/rakudo/rakudo/commit/51...29cde39c1f | |||
it could have had some NQP commits too, but this shouldn't matter as much | 21:22 | ||
BooK | ok, so rakudo keeps track of the "new minimum version expected" | ||
AlexDaniel | and nqp does too for moar | 21:24 | |
BooK | but it's only minimum, so someone can compile it with newer version and see how that goes | 21:25 | |
hence the "ranges" | |||
AlexDaniel | yup. As I see it, when you're on a bump commit, you can choose any version from the range | 21:27 | |
BooK | ranges | ||
AlexDaniel | ranges? | ||
BooK | nqp range, moar range | ||
AlexDaniel | As I see it, on github.com/perl6/nqp/commit/f6459b...934619da6d we can build it for every moar revision from 2017.05-100-g5ea6aaa to 2017.05-115-g369c0c5 | 21:28 | |
if some of it is broken that's alright | |||
and on rakudo bumps we can do the same, so it's not ranges | |||
well, it is, if you want to make life harder… :) | 21:29 | ||
but the goal is to get some kind of bisect to work, and make life easier :) | |||
BooK | that is only for bump commits? | 21:30 | |
I mean, if you rakudo bisect lands you on a rakudo bump commit, you want to bisect on nqp/moar? | |||
AlexDaniel | I think we should bisect nqp first, then bisect moar if we find a bump in nqp | 21:31 | |
but yeah | |||
timotimo | AlexDaniel: i just pushed something to moarvm to help with the 0x7FFFFFFF problem, could you run it against the originally problematic module? | ||
(didn't bump the moar and nqp versions though) | |||
AlexDaniel | timotimo: sure, give me three minutes | ||
timotimo | of course | 21:32 | |
something's still wrong when i try to .base(16) the magic number, though | 21:33 | ||
oh, i could have fixed that, too | |||
cool cool. | |||
m: say (-0x7FFFFFFF - 1).base(16) | 21:36 | ||
camelia | -FFFFFFFF80000000 | ||
timotimo | this should also give the right answer with latest moarvm and should potentially also get put into roast | ||
AlexDaniel | yeah, that does the trick | 21:41 | |
the golfed version is fine, and all module tests are passing | |||
timotimo++ | 21:42 | ||
timotimo | \o/ | 21:45 | |
glad to hear it | |||
AFK for a bit | |||
will you do the release tomorrow, then? | |||
or was there another distinct blocker? | 21:46 | ||
AlexDaniel | I'm not sure if it's a blocker | 21:47 | |
but there's no moarvm release anyway today, so yes, tomorrow | |||
timotimo | ah, of course | ||
AlexDaniel | the buffering issue is worth another look, yes | 21:48 | |
mainly because “prove” is acting weird with what we have now | |||
AlexDaniel AFK | |||
c: 2014.01 say (-0x7FFFFFFF - 1).base(16) | 22:59 | ||
committable6 | AlexDaniel, ¦2014.01: «-80000000» | ||
AlexDaniel | OK, now we're left with RT #132030 | 23:02 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132030 | ||
AlexDaniel | samcv: so is everything alright with zef problem? | 23:03 | |
samcv | not sure. i don't think it's a current release problem | 23:05 | |
so ignore that for now | |||
MasterDuke | samcv: btw, MVM_string_equal shows up pretty high in perf during stage parse. any ideas up your sleeve to speed it up? | 23:06 | |
samcv | well i already sped it up :) | 23:08 | |
by 1.5-2x for nonstrands | |||
err for strands i mean | 23:09 | ||
and flat as well if the types don't match | |||
so 1.5-2.2x it got sped up | |||
except when we use memcmp when both are flat and both are the same storage type which is much of the time not true | |||
MasterDuke | hm, maybe i need to add some fprintfs to see which branches are being taken | 23:10 | |
Geth | rakudo/nom: 1ca81432af | (Timo Paulssen)++ | src/core/Rakudo/Iterator.pm refer to "want list?" var in permutations iterator properly since classes aren't closures, you could get the wrong type from interleaved pull-one calls on iterators with $!b set to different values. |
23:12 | |
samcv | that would be helpful MasterDuke | ||
Geth | rakudo/nom: 488ca6f067 | (Timo Paulssen)++ | src/core/Rakudo/Iterator.pm same fix for Combinations as Permutations so we'll always get the correct type that was set on object creation time, not whatever was last passed to the Combinations method. |
23:13 | |
timotimo | MasterDuke: you should be able to hit "a" for annotate to see which parts of the code are hot in perf | 23:14 | |
MasterDuke | oh interesting | 23:15 | |
samcv | you'll be looking in MVM_string_substrings_equal_nocheck | ||
which MVM_string_equal calls | |||
timotimo | perf doesn't call how often it gets called exactly, so maybe we want to callgrind the whole thing, too | 23:16 | |
samcv | you could add an fprintf to each of the three branches of MVM_string_substrings_equal_nocheck as well | 23:17 | |
and then grep it and count the number of each that appear | |||
MasterDuke, we're talking about compiling the core setting right MasterDuke ? | 23:18 | ||
timotimo | (of course running the core setting compilation under callgrind will take a while ...) | ||
MasterDuke | samcv: yeah | ||
samcv | ok let me check | ||
i'll add some fprintf's and count | |||
MasterDuke | 45.29 │ testb $0x1,0xc(%rdx) | 23:20 | |
samcv | what % is that function when compiling the core setting MasterDuke | 23:21 | |
like how much time does it use | |||
cpu | |||
42.2% branch_1, 25.2% branch_2, 32.5% branch_3 | 23:26 | ||
MasterDuke | hm, a perf record only showed it at 1.65%, | 23:31 | |
samcv | it probably was 2x as high a month ago | ||
or more | |||
MasterDuke | a more accuate recording puts it at 2.56% | 23:34 | |
samcv | i can speed it up though | 23:35 | |
the 1st branch is 42% and let's see how much i can speed it up | |||
MasterDuke, how much do you se MVM_string_substrings_equal_nocheck at? | 23:40 | ||
MasterDuke | 0.00% | 23:41 | |
samcv | it must be inlining then? | 23:42 | |
hm | |||
though weirdly | |||
2.85% for MVM_string_equal and 0.89 for MVM_string_substrings_equal_nocheck | 23:43 | ||
timotimo | i'd be interested to see a distribution of string lengths we're comparing | ||
gfldex | jnthn: are the last 2 paragraphs still correct? docs.perl6.org/language/variables | 23:53 | |
[Coke] | AlexDaniel: I can do a spectest run with MSVC if you need it. | 23:55 | |
AlexDaniel | [Coke]: you think it can give us something more than github.com/perl6/roast/issues/320 ? | 23:56 |