ugexe | so Proc::Async seems to have two behaviors on windows with spaces. assume the first argument is the absolute path to perl6 and contains a space (C:\Users\Foo Bar\perl6-b.bat). Proc::Async.new($perl6, '-v', '--output=xxx').start launches $perl6 successfully, but Proc::Start.new($perl6, '-v', '--output="xxx"').start or Proc::Start.new($perl6, '-v', '--output=xx x').start both try to launch perl6 as | 00:44 | |
C:\Users\Foo | |||
so I'm not sure how to get precompilation to work | 00:46 | ||
dunno if its a libuv thing or the perl6 wrapper | 01:02 | ||
MasterDuke | m: my @a = ^4; say @a.min | 01:33 | |
camelia | 0? | ||
MasterDuke | m: say (^4).min | ||
camelia | 0? | ||
MasterDuke | m: my @a = ^4; say @a.min: { abs($_) } | 01:34 | |
camelia | 0? | ||
MasterDuke | m: say (^4).min: { abs($_) } | ||
camelia | Too many positionals passed; expected 1 argument but got 2? in block <unit> at <tmp> line 1?? | ||
MasterDuke | seems a bit LTA | 01:35 | |
s: (^4), 'min' | 01:37 | ||
SourceBaby | MasterDuke, Sauce is at github.com/rakudo/rakudo/blob/c39d....moarvm#L1 | ||
MasterDuke | heh | ||
lizmat | Files=1223, Tests=67680, 293 wallclock secs (11.18 usr 4.65 sys + 1973.81 cusr 205.71 csys = 2195.35 CPU) | 08:07 | |
samcv | o/ lizmat | 08:16 | |
|Tux| | This is Rakudo version 2017.08-80-gc39db8789 built on MoarVM version 2017.08.1-106-gdd04dd80 | 09:02 | |
csv-ip5xs 1.282 - 1.299 | |||
test 9.503 - 9.526 | |||
test-t 3.376 - 3.490 | |||
csv-parser 10.954 - 11.260 | |||
Skarsnik | how many iteration of this do you do? | 09:08 | |
|Tux| | 2 | 09:46 | |
Skarsnik | I mean each part? it only ran twice? | 09:48 | |
|Tux| | each parser parses the same 10000-line CSV file. The whole set runs twice | 09:52 | |
the runner collects both (all) and shows for these for the fastest and slowest run-time | 09:53 | ||
I can increase it to 3 or 4 but it already takes a minute or two to run one set | |||
Geth | nqp: 6fb40df3b1 | pmurias++ | src/vm/js/nqp-runtime/runtime.js [js] Throw a proper exception when we get the wrong kind of native argument |
10:32 | |
nqp: d31e6b0d0e | pmurias++ | t/nqp/112-call.t Test a bunch of different call situations |
|||
travis-ci | NQP build failed. pmurias 'Test a bunch of different call situations' | 10:45 | |
travis-ci.org/perl6/nqp/builds/272425630 github.com/perl6/nqp/compare/ffa3e...1e6b0d0e20 | |||
Skarsnik | that very slow | 11:50 | |
skarsnik@devel:~$ time perl6/rakudo/install/bin/perl6 hanoi.pl | |||
real 1m18.154s | |||
skarsnik@devel:~$ time perl hanoi.pl | |||
real 0m1.119s | |||
timotimo | is that really heavy on recursion? | ||
Skarsnik | it's hanoi ^^ | ||
with 2 call to hanoi each time | |||
timotimo | well, you could implement it without actually recursing functions | 11:51 | |
Skarsnik | I mean it's annoting perl 6 is so slow on recursuve stuff ^^ | 11:59 | |
timotimo | mhm | 12:02 | |
did you check the profiler? | |||
Skarsnik | this take forever x) | 12:10 | |
[Coke] | was there a source link? | 12:11 | |
Yes. Perl 6 is not as optimized as Perl 5. Lots of work being done there. | |||
timotimo | [Coke]: skarsnik knows about this :) | ||
[Coke] | if it smells like a troll... hug it. | 12:12 | |
jnthn | Recursive code is pretty much the worst case for the specializer | ||
Well, depending on its use pattern | |||
But you never get inlining of the recursive call, for example | |||
ilmari | not even tail-recursive calls? | 12:13 | |
jnthn | No | ||
ilmari | I guess it couldn't unless it knew the recursion depth up-front | 12:14 | |
jnthn | Well, in theory something can be done. | ||
In practice, it's a loooong way down to optimizer todo list | 12:15 | ||
ilmari | is tail-recursion optimised at all? | ||
jnthn | No | ||
And given we've things like dynamic variables and CALLER:: and so forth, the analysis to even know if a call that is the last statement could be optimized in some way isn't trivial either | 12:16 | ||
Skarsnik | gist.github.com/Skarsnik/dc497c7fa...706d7dd060 | 12:19 | |
timotimo | the profile shows lots of time in from-slurpy-flat, STORE, reify-until-lazy, push, ReifiedList, ReifiedArray | 12:22 | |
where's all that coming from | |||
jnthn | sub hanoi { | 12:23 | |
my ($n, $d, $a, $i) = @_; | |||
There | |||
Skarsnik | the start? | ||
timotimo | right | ||
jnthn | Why isn't it using a proper signature? | ||
timotimo | giving it a proper signature makes it a hundredfold faster | ||
jnthn | Even if spesh can do something helpful, it'll never do so with that | ||
Skarsnik | it's a perl5 script x | ||
timotimo | 50596.55ms -> 2181.87ms | ||
Zoffix | :o | ||
timotimo | well, not hundredfold | ||
Skarsnik | Oo | ||
Zoffix | :D | ||
[Coke] | Perl 6 can run Perl 6 faster than it can run Perl 5. :) | 12:24 | |
Skarsnik | still that kinda crazy the time lost with that | 12:25 | |
jnthn | I'm not very surprised. Calling and signatures are very well optimized. | 12:26 | |
And the specializer understands a lot about them | 12:27 | ||
[Coke] | Or: the ways you optimize Perl 5 are not the same ways to optimize Perl 6. | ||
timotimo | ouch | 12:28 | |
making all parameters "int" gives me faster run time, but 100% interpreted | |||
jnthn | timotimo: ooh, why? | ||
jnthn can't imagine what the JIT would bail on | |||
timotimo | not even speshed, though | 12:29 | |
Geth | rakudo/nom: 35916427b6 | pmurias++ | t/02-rakudo/08-repeat.t Move implementation specific repeat tests from roast to the rakudo repo |
||
timotimo | also, boatloads of BOOTHash allocated from List.pm's sink (line 694) | ||
Skarsnik | I was actually searching for a benchmark to test recursion x) | ||
Geth | roast: b75fca9967 | pmurias++ | S05-capture/match-object.t Test Match.Int |
||
roast: 1d4673438d | pmurias++ | S03-operators/repeat.t Move implementation specific repeat tests from roast to the rakudo repo |
|||
jnthn | So I have a fix for rt.perl.org/Ticket/Display.html?id=131985 | ||
The problem was that it didn't do a closure clone | |||
timotimo | wowza, return takes 6.6% of total time | 12:30 | |
jnthn | Unfortuantely, there's a test doing $str ~~ s:Perl5/^(.)/{ state $++; }/ that then gets unhappy | 12:31 | |
'cus it's relying on us not doing said closure cloning | |||
[Coke] | timotimo: changing it to an if instead of a return shaves some time here, aye. | 12:32 | |
timotimo | jnthn: the hanoi sub doesn't show up in the jit log at all | 12:33 | |
i can't even see it in the spesh log | |||
jnthn | Does it get any stats? | ||
I guess if it's just deeply recursing it never returns | |||
timotimo | nope, not a single mention in the whole file | ||
jnthn | And so we never see a complete execution of it | ||
timotimo | it does call return a million times | 12:34 | |
jnthn | Ah, then we must see some complete invocations... | ||
Odd | |||
timotimo | before one of the changes it was jitted 100% | ||
jnthn | *sigh* Now I remember I've been here before with fixing the closure inside string thing. | 12:35 | |
timotimo | yeah, i add "int" to the signature and it goes boom | ||
jnthn | And the only reason I didn't commit the exact same fix I did this time around is because of this test :/ | ||
timotimo | ugh | ||
let's hope nobody relies on this? :\ | 12:36 | ||
jnthn | Yeah, I think "let's see", but we really can't live with the bug | ||
It's horrible | |||
Do "foo{$bar}baz" in code running on multiple threads and get wrong interpolated results | |||
Geth | rakudo/nom: d0d105b8b6 | (Zoffix Znet)++ | src/core/Match.pm Fix inability of `make`ing type objects The check for whether we should return a `Nil` from .made/.ast is meant to detect an NQPMu in $!made. nqp::isconcrete was used for that purpose, which also makes any `make`d type objects to result in Nils. Fix by doing a typecheck for `Mu` that returns false when $!made is an NQPMu, but would return True for any Rakudo object. |
12:42 | |
timotimo | glad to hear it works | ||
Geth | roast: 8674f1e8c7 | (Zoffix Znet)++ | S05-match/make.t Spec behaviour of Match.made/.ast forā¦ ā¦type objects and unmade matches. Rakudo fix: github.com/rakudo/rakudo/commit/d0d105b8b6 |
12:43 | |
rakudo/nom: 59454b03cc | (Jonathan Worthington)++ | src/Perl6/Actions.nqp Fix thread safety of "foo{$x}bar" Previously, we didn't do a closure clone of the block, which meant it could get its outer captured by a different thread (or go very wrong if a recursive call was done inside of the closure). Doing this clone corrects the bug, and brings it in line with other closures, though does cause a change to `state` inside such as block (again, bringing it in line with how things usually work, though there was a spectest based around the previous wrong expectation). |
12:44 | ||
Zoffix | I'm gonna do version bumps. There's a new test in roast now that needs a nqp updates | 12:45 | |
jnthn | Zoffix: If you want to do a MoarVM one so latest improvements there get more testing, that'd be nice also | ||
Zoffix | Will do | 12:46 | |
jnthn | (There's various spesh improvements) | ||
Geth | roast: a743fe353b | (Jonathan Worthington)++ | S04-declarations/state.t Correct bad state expectation Due to a compiler bug, the closure here was not being cloned by its outer scope. This caused various nasty thread safety bugs, and has now been rectified. However, this test depended on the buggy behavior. |
||
roast: fe5e6ff495 | (Jonathan Worthington)++ | S17-promise/start.t Test to cover RT #131985 |
12:52 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131985 | ||
Geth | nqp: d016ffd335 | (Zoffix Znet)++ | tools/build/MOAR_REVISION Bump MoarVM MoarVM bump brought commits: github.com/MoarVM/MoarVM/compare/2...8-gde6dced de6dced Merge branch 'heapsnapshot_binary_format' fbd6182 write parts of types/static frames/strings incrementally ... (23 more lines) |
12:56 | |
Ā¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...8-gde6dced | |||
rakudo/nom: cbce672126 | (Zoffix Znet)++ | tools/build/NQP_REVISION Bump NQP NQP bump brought commits: github.com/perl6/nqp/compare/2017....6-gd016ffd d016ffd Bump MoarVM d31e6b0 Test a bunch of different call situations 6fb40df [js] Throw a proper exception when we get the wrong kind of native argument ... (29 more lines) |
|||
Ā¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....6-gd016ffd | |||
Zoffix | ZOFVM: Files=1273, Tests=144650, 134 wallclock secs (15.00 usr 2.65 sys + 2721.89 cusr 203.91 csys = 2943.45 CPU) | ||
Zoffix & | 12:57 | ||
Geth | roast: 624381cff8 | (Jonathan Worthington)++ | S04-declarations/state.t Test to cover RT #130855 |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130855 | ||
Geth | roast/6.c-errata: 357665c732 | skids++ (committed by Zoffix Znet) | S04-statements/do.t Fix test that expected pre-GLR behavior. RT##124572. (#305) (edit by Zoffix): cherry pick the commit from master that fixes wrong TODOed test that expects if {} elsif {} to give an empty list instead of Empty when both conditions fail. Closes #306 |
13:00 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=124572 | ||
dogbert17 wonders if the latest changes will affect [Tux] benchmark | 13:01 | ||
jnthn | Maybe | 13:02 | |
Though maybe within noise level too | |||
dogbert17 | I guess < 3 sec for test-t is the next target :) | ||
Zoffix | AlexDaniel: ping | ||
AlexDaniel | Zoffix: pong ā„ | ||
yoleaux | 12:18Z <jdv79> AlexDaniel: i'm guessing the 4 byte unicode fix just hasn't been implemented yet | ||
Zoffix | AlexDaniel: when I was doing release stuff, detailed info on what commits were brought in in version bumps were useful... Do you care about them or should I stop adding the extra info (like here: github.com/rakudo/rakudo/commit/cbce672126 ) | 13:03 | |
AlexDaniel | Zoffix: can't it be automated? | ||
Zoffix | Sure. But currently it isn't :) | 13:04 | |
Skarsnik | bisectable6, my %h = Hash; | ||
bisectable6 | Skarsnik, Bisecting by exit code (old=2015.12 new=cbce672). Old exit code: 0 | ||
Skarsnik, bisect log: gist.github.com/7c8baae8036944d454...eeeb4f17a4 | |||
Skarsnik, (2017-01-23) github.com/rakudo/rakudo/commit/2f...01b8cba8d5 | |||
AlexDaniel | Zoffix: I myself don't care about it because I can just ask Geth | 13:05 | |
Skarsnik | dis that normal? | ||
Zoffix | AlexDaniel: noted :) | ||
Skarsnik: I'd say the message is accurate: "did you forget a .new?" | |||
Skarsnik | it worked on old rakudo | ||
Zoffix | mc: my %h = Hash; dd %h | 13:06 | |
committable6 | Zoffix, Ā¦2015.12: Ā«Hash %h = {}Ā» | ||
jnthn | m: my %h = Hash | ||
camelia | Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
jnthn | That's not the best error | ||
Zoffix | mc: my %h = Hash, Hash; dd %h | ||
committable6 | Zoffix, Ā¦2015.12: Ā«Hash %h = {}Ā» | ||
Zoffix | m: my %h = Hash, Hash; dd %h | ||
camelia | Cannot look up attributes in a Hash type object in block <unit> at <tmp> line 1 |
||
jnthn | I'm not sure it should silently work | 13:07 | |
We tend to treat type objects as individual itmes | |||
Zoffix | Same. | ||
jnthn | *items | ||
Skarsnik | m: my %h = Hash:U; | ||
camelia | Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash:U'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
AlexDaniel | Zoffix: ticket created: github.com/perl6/whateverable/issues/232 | 13:08 | |
jnthn | m: use Test; throws-like { temp $*foo = 42 }, X::Dynamic::NotFound | ||
camelia | 1..2 # Failed test 'right exception type (X::Dynamic::NotFound)' # at /home/camelia/rakudo-m-inst-1/share/perl6/precomp/EB64813F19220853D8351228D7AA267060D3D577.1504702221.62503/C7/C712FE6969F786C9380D643DF17E85D06868219E line 1 ok ā¦ |
||
Zoffix | ooh neat. jnthn++ got a fix for the temp thing :) | 13:10 | |
Geth | rakudo/nom: 80a3255b2d | (Jonathan Worthington)++ | src/core/operators.pm Make temp and let on a Failure throw it This means that `temp $*doesn't-exist = 42` will now throw the Failure reporting that the dynamic variable does not exist, which is rather more helpful than saying that a non-container can't be temp'd. Same improvement also done in `let`. |
13:12 | |
jnthn | Yeah, was a bit of LHF for me after all morning in spesh inline/deopt/exception rewrites :) | 13:13 | |
Zoffix | :) | ||
Geth | roast: d9b32aa781 | (Jonathan Worthington)++ | S04-blocks-and-statements/temp.t Test to cover RT #132035 |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132035 | ||
Zoffix | TIL `temp` is a prefix operator | ||
m: sub prefix:<meow> { "kitty says $^a".say }; meow meow 42 | 13:14 | ||
camelia | kitty says 42 kitty says True |
||
Zoffix | TIL prefix operators can be separated with a space :D | ||
jnthn | :) | 13:15 | |
And now back to 34 pages of RTs instead of 35 :P | 13:16 | ||
Zoffix | \o/ | 13:20 | |
|Tux| | dogbert17, here are the results from the Dutch test team. Perl6 Douze points | 13:22 | |
This is Rakudo version 2017.08-85-g80a3255b2 built on MoarVM version 2017.08.1-128-gde6dceda | |||
csv-This is Rakudo version 2017.08-85-g80a3255b2 built on MoarVM version 2017.08.1-128-gde6dceda | |||
csv-ip5xs 1.273 - 1.298 | |||
test 9.594 - 9.714 | |||
test-t 3.422 - 3.452 | |||
csv-parser 10.740 - 10.881 | |||
ip5xs 1.273 - 1.298 | |||
test 9.594 - 9.714 | |||
test-t 3.422 - 3.452 | |||
csv-parser 10.740 - 10.881 | |||
This is Rakudo version 2017.08-85-g80a3255b2 built on MoarVM version 2017.08.1-128-gde6dceda | |||
csv-ip5xs 1.273 - 1.298 | |||
test 9.594 - 9.714 | |||
test-t 3.422 - 3.452 | |||
csv-parser 10.740 - 10.881 | |||
(bouncing mouse buttons)-- | |||
AlexDaniel | squashable6: status | 13:23 | |
squashable6 | AlexDaniel, The date for the next SQUASHathon is not set | ||
Zoffix | Appveyors failing. t\04-nativecall\21-callback-other-thread.t (Wstat: 256 Tests: 0 Failed: 0) | ||
Non-zero exit status: 1 | |||
AlexDaniel | how so :o | ||
Zoffix | Parse errors: Bad plan. You planned 9 tests but ran 0. | ||
NMAKE : fatal error U1077: 'C:\strawberry\perl\bin\perl.exe' : return code '0x1' | |||
Stop. | |||
ci.appveyor.com/project/rakudo/rak...qt352uy35l | |||
AlexDaniel | squashable6: status | 13:25 | |
squashable6 | AlexDaniel, Next SQUASHathon in 29 days and ā20 hours (2017-10-07 UTC-12āUTC+14) | ||
AlexDaniel | ā this squashathon will be about rakudo | ||
so maybe getting it to 34 pages at least is a worthy goal :) | 13:26 | ||
by the way, please add LHF tags if you see something easy | |||
Zoffix | Would be neat to go through tickets and pre-mark some LHFs | ||
AlexDaniel | Zoffix: o/ | ||
Zoffix | m: Bool.enums.^name.say; Order.enums.^name.say | 13:27 | |
camelia | Hash Map |
||
Zoffix | That's an LHF one, but I don't think there's a ticket., | ||
Instructions for fixing it: irclog.perlgeek.de/perl6/2017-09-05#i_15118279 | 13:28 | ||
AlexDaniel | Zoffix: RT #132039 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132039 | ||
Zoffix | AlexDaniel++ | ||
AlexDaniel suspend ???? | 13:29 | ||
nine | Zoffix: I think Book++ wants to fix that tomorrow | 13:35 | |
Zoffix | cool | ||
Geth | nqp: 79e6453b98 | (Timo Paulssen)++ | src/vm/moar/HLL/Backend.nqp support the new heapsnapshot API No longer returns an object we have to dump ourselves. Instead we pass a filename at the beginning where snapshots will be stored immediately, with shared data (strings, types, static frames) appended at the end. |
13:42 | |
timotimo | should have put this up before the bump | ||
Zoffix re-bumps | 13:43 | ||
dogbert17 | [Tux]: many thanks :) | 13:49 | |
Geth | rakudo/nom: bfee5a1ed5 | (Zoffix Znet)++ | tools/build/NQP_REVISION Bump NQP to bring heap analyzer API changes |
13:50 | |
Ā¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....7-g79e6453 | |||
rakudo/js: 40096821ae | pmurias++ | 2 files [js] Update to the new way of passing native arguments Also bump nqp. |
13:55 | ||
rakudo/js: 3a333be14f | pmurias++ | 2 files [js] Implement nqp::p6typecheckrv |
|||
Zoffix | Noticed I have a blurry spot in my left eye... Wonder if that's due to my eclipse peeking :o | 13:57 | |
And I made the mistake of googling for possible causes of blurry spots... detached retinas, glaucomas, cataracts... ouch. | 14:00 | ||
Zoffix puts on the glasses he's supposed to wear just in case | 14:01 | ||
timotimo | yeah, blurry spots can mean you're going to be blind in a couple ... days? weeks? | 14:02 | |
Zoffix | :| | ||
For real? | 14:03 | ||
I made an appointment with an eye doctor, but they're all booked out and the soonest I could get was next Tuesday | |||
timotimo | i don't know details | 14:04 | |
i just have "that's serious" stored in my brain | |||
Zoffix googles for some other eye doctor that might have free space sooner :| | 14:05 | ||
travis-ci | NQP build failed. Timo Paulssen 'support the new heapsnapshot API | 14:10 | |
travis-ci.org/perl6/nqp/builds/272488872 github.com/perl6/nqp/compare/d016f...e6453b985d | |||
dogbert17 had cataracts | 14:12 | ||
timotimo | you got it fixed even though you're not sam's mom? | 14:14 | |
Zoffix | Well, now I'm really worried :| Called another doctor, same story: earliest appointment is Tuesday. I said "does blurry spot mean you gonna go blind in two days". She put me on hold, then told me the doctor will squeeze me in today :o | ||
Skarsnik_ | ^^ | 14:15 | |
good | |||
timotimo | <3 | ||
Zoffix | Well, I hope Rakudo's source reads just as nice in braille :o | ||
masak | <3 | ||
timotimo | i wish you the best of luck, and that it's actually harmless | ||
masak | Zoffix: you take care of yourself | ||
to everybody: don't be cruel to your eyes. increase the font size. | |||
dogbert17 | Zoffix++ going to see the doc | 14:17 | |
jnthn | Zoffix: Best of luck with if *hug* | 14:18 | |
*with it | 14:19 | ||
grr | |||
Zoffix | Thanks. | 14:22 | |
timotimo | if it's retinal detachment, i believe the surgery you get for that is a rather simple laser treatment | 14:23 | |
timotimo watched the video explanation of glaucoma on the wikipedia | 14:31 | ||
nine | Zoffix: it's good you got an appointment ASAP. That said, it may as well just be a bit of dehydration, some low blood pressure or other benign issue. May also be connected to migrane, if you suffer from that. | 15:05 | |
jdv79 | i got a 15min blind stpo the other day from welding | 15:06 | |
though y'day i had a bit of tinnitus that came out of nowhere | 15:07 | ||
getting old i guess | |||
Zoffix | Well, I get to live :) | 16:24 | |
Just some crap in my eye that will likely stay there forever, but it's benign and no retinas are getting detached :p | 16:25 | ||
doctors++ | |||
mst | and that means every time you cry | ||
dogbert2 | Zoffix: does it move | ||
mst | and somebody says "there's something in your eye" | 16:26 | |
you can say "yeah, it's been there for years but the doctors assure me it's benign" | |||
and hopefully then they'll get so confused they'll let you cry in peace | |||
Zoffix | :) | 16:28 | |
dogbert2: yeah | |||
Skarsnik | AlexDaniel, your favorite crash also leak memory :( | 16:32 | |
probably related | 16:33 | ||
dogbert2 | Zoffix: sounds like 'floater', I have those as well, it's quite common | 16:34 | |
*like a | 16:35 | ||
Zoffix | yeah, he said there's coagulation floating arou d | ||
And I was right to worry: the floating crap comes off and can pull the retina and cause detached retina. | 16:36 | ||
(but he checked it out and said its all good) | |||
geekosaur | it cam also grow into a cataract over time, I think | ||
Zoffix | :( | 16:37 | |
geekosaur | well, they usually don't; floaters are really common. but this is why you should get eye checkups annually | 16:39 | |
Zoffix | But George Carlin said real men don't go to the doctors unless they're legally dead! | 16:49 | |
nine | Well, if you talk stereo types, I go with "Pilots are real men!" and pilots get annual checkups... | 16:51 | |
In fact those checks are a nice side effect of having a license :) Would probably be too lazy to get them otherwise | |||
dogbert2 | we should try to fix harness6 before next release, it's currently broken | 17:07 | |
timotimo | Zoffix: glad to hear you're not in danger! | 17:15 | |
Zoffix | :) | ||
timotimo | .o( thank you god for fixing the cataracts of zoffix's mom's son ) | 17:16 | |
Zoffix | Praise the Flying Spaghetti Monster \o/ | ||
Zoffix doesn't get the cataract reference :) | |||
timotimo | Tim Minchin has a song (and introductionary oration) to that effect | 17:25 | |
Zoffix | Ah | 17:26 | |
timotimo | how a man called sam came to him and proved to him the existence and benevolence of god | ||
as he gave eyewitness account of his mom being miraculously healed from cataracts that the doctor said would make her go completely blind | |||
Geth | roast: skids++ created pull request #307: Alter tests to avoid unintended/irrelevant interpolation |
17:45 | |
nqp/jit_nativecall: 95eb73c681 | (Stefan Seifert)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp Map the new nativecallinvokejit OP nativecallbuild now has a return value indicating whether we were able to JIT compile code for the call site |
18:13 | ||
rakudo/jit_nativecall: 8 commits pushed by (Stefan Seifert)++
|
18:18 | ||
nqp: niner++ created pull request #370: Map the new nativecallinvokejit OP |
18:20 | ||
rakudo: niner++ created pull request #1151: JIT compile native calls |
18:21 | ||
ugexe | moarvm's appveyor is failing because the version of moarvm is too old...? | 18:45 | |
er travis-ci | 18:46 | ||
jnthn | Yeah, that can happen when an NQP bump happens | ||
And travis is behind | |||
So it tries to build an old MoarVM and test it with HEAD NQP | 18:47 | ||
I dunno what we can best do about that | |||
ugexe | ah, i did not see that it builds as well | 18:48 | |
builds nqp^ | |||
bisect: new=2017.04 old=2017.03 sub c($t is rw, &code) { $t = code($t) }; my $foo = 1; for ^50000 { start { say c( $foo, -> $i { $i + 1 } ); }; }; say $foo; | 19:07 | ||
timotimo | yeah, nqp is the only way we have to test moarvm | 19:15 | |
travis-ci | Rakudo build passed. pmurias 'Move implementation specific repeat tests from roast to the rakudo repo' | 20:24 | |
travis-ci.org/rakudo/rakudo/builds/272461100 github.com/rakudo/rakudo/compare/c...916427b6a4 | |||
japhb | buggable: speed :4 | 20:31 | |
buggable | japhb, āāāāā āāāāāāāāāāā dates: 2017-08-06ā2017-09-06 | ||
japhb, āāāāāāāāāāāāāāāā range: 3.376sā4.925s | |||
japhb, āāā āāāāāāāāāāāāāāāāāāāā ā ā speed: 7% faster | |||
japhb, āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā | |||
tadzik | this graph is awesome :) | 21:19 | |
[Coke] | Zoffix++ with the not-detaching-eyeballs. | 21:20 | |
yoleaux | 16:09Z <samcv> [Coke]: ok i made a change, hopefully this will fix | ||
[Coke] | ... skipping the test is a bandaid, it's not a solution. :| | 21:21 | |
anyone know why this dies: | 21:22 | ||
m: class utf8 does Blob[uint8] {} | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> P6opaque: missing attribute protocol in compose of utf8 at <tmp>:1 |
||
[Coke] | m: class utf8 does Blob[uint8] is repr('VMArray') {} | ||
camelia | ( no output ) | ||
[Coke] | because it was incomplete. got it. | 21:23 | |
Geth | rakudo/nom: e7a5880609 | (Elizabeth Mattijsen)++ | src/core/Bool.pm Make Bool.enums consistent with Enumeration.enums |
21:33 | |
Zoffix | lizmat++ beats both BooK and potential SQUASHathoners and fixes the bug the same day it's reported :) | 21:38 | |
lizmat | well... it was reported almost 10 hours ago | ||
such a simple thing and nobody took the time to follow your script :-( | 21:39 | ||
Zoffix | :) | 21:40 | |
ugexe | bisect: new=2017.04 old=2017.03 sub c($t is rw, &code) { $t = code($t) }; my $foo = 1; for ^50000 { start { say c( $foo, -> $i { $i + 1 } ); }; }; say $foo; | 21:43 | |
bisectable6 | ugexe, Bisecting by exit signal (old=2017.03 new=2017.04). Old exit signal: 0 (None) | ||
ugexe, bisect log: gist.github.com/9be2b3010adcdcc636...a2efce93b4 | 21:45 | ||
ugexe, (2017-04-17) github.com/rakudo/rakudo/commit/75...6449aa6a28 | |||
ugexe | my $foo = 0; for ^50000 { start { say $foo++ } }; # is sufficient even | 21:57 | |
it also does not happen if you $*OUT = class :: { method print(|) { } }; | 22:03 | ||
bisect: new=2017.04 old=2017.03 my &*EXIT = sub ($code) { return $code < 40000 ?? 1 ?? 0 }; my $foo = 0; for ^50000 { start { say $foo++ } }; exit $foo; | |||
bisectable6 | ugexe, On both starting points (old=2017.03 new=2017.04) the exit code is 1 and the output is identical as well | ||
ugexe, Output on both points: Ā«04===SORRY!04=== Error while compiling /tmp/2FAOWzSIDgā¤Unexpected closing bracketā¤at /tmp/2FAOWzSIDg:1ā¤------> 03$code) { return $code < 40000 ?? 1 ?? 0 08ā04}; my $foo = 0; for ^50000 { start { sayĀ» | |||
timotimo | i'm not sure what i should be seeing there? | ||
ugexe | bisect: new=2017.04 old=2017.03 my &*EXIT = sub ($code) { return $code < 40000 ?? 1 !! 0 }; my $foo = 0; for ^50000 { start { say $foo++ } }; exit $foo; | ||
bisectable6 | ugexe, Bisecting by exit signal (old=2017.03 new=2017.04). Old exit signal: 0 (None) | 22:04 | |
ugexe | timotimo: the `say` makes it deadlock | ||
timotimo | ah, i do believe we lock io handles | 22:05 | |
bisectable6 | ugexe, bisect log: gist.github.com/3cafa3d508a3a721e4...244bb7aac0 | ||
ugexe, (2017-04-17) github.com/rakudo/rakudo/commit/75...6449aa6a28 | |||
timotimo | i wonder how the deadlock exactly happens | ||
ugexe | it doesnt happen without the ++ either | 22:07 | |
only thing i could guess is thread exhaustion + GC somehow | |||
timotimo | i wonder if we ever need to acquire a lock on an io handle during gc | ||
like in gc_free | |||
jnthn | I'm not sure how thread exhaustion could do it, since there's no dependencies anywhere | 22:08 | |
gdb and looking at the stack traces will likely be very informative | 22:09 | ||
ugexe | then theres hope i can still track it down lol | ||
jnthn | It'll probably be a facepalm one once finally found... | 22:13 | |
Zoffix | huh... t/fudgeandrun broke? | 22:17 | |
$ t/fudgeandrun t/spec/S32-io/lock.t | |||
Could not run t/spec/fudgeall | |||
jnthn | huh, I always did it as `make t/spec/S32-io/lock.t` :) | 22:18 | |
Zoffix | full error: gist.github.com/zoffixznet/68455f9...2158bc75a6 | ||
jnthn | I didn't know about the t/fudgeandrun way :) | 22:19 | |
Zoffix | jnthn: I like the fudge way because if you make some accidental changes it doesn't rebuild everything :) | ||
(make would) | |||
jnthn | I tend to consider that a feature; it stops me committing my accidental change that breaks the test again... ;-) | ||
Zoffix | :) | 22:20 | |
jnthn | Weird error | ||
Works for me on 2017.07-213-gfcf61f7 | 22:21 | ||
(That's just what happens to be built inside my dev VM on my home box) | |||
ugexe | gist.github.com/ugexe/cf2350b4bd5e...049df1432f (last 20 lines of gdb bt and strace output) looks like maybe gc? | 22:27 | |
timotimo | would be nice to have more debug symbols so we can figure out what lines are involved | 22:28 | |
oh | |||
and get the bt for all threads | |||
"thread apply all bt" | 22:29 | ||
ugexe | ah, i was just getting the gc thread eh? | ||
Zoffix | BAH | 22:30 | |
timotimo | well, all threads participate in GC, except for ones explicitly marked as "blocked" | ||
Zoffix | Found the cause. The extra debug output makes the fudger run the wrong command :P | ||
timotimo | Zoffix: ooh, i know that feeling :S | ||
we need more than just stdout and stderr, we also need stdspam | |||
Zoffix | :D | 22:31 | |
ugexe | gist.github.com/ugexe/cf2350b4bd5e...hreads-txt (all threads) | 22:33 | |
i suppose I need to try and learn how to build/debug with symbols | |||
timotimo | just need to be in the moarvm folder and re-run Configure.pl with the arguments used before (can be found in Makefile i believe) and also --debug=3 | 22:34 | |
and it can help to MVM_JIT_DISABLE=1 so that the "??" stack frames aren't there | |||
Geth | roast: ff0c277084 | (Zoffix Znet)++ | fudgeandrun Make impl identifier code a bit smarter So if we produce some debug output that dumps extra lines, they don't become part of the command we run. |
22:35 | |
ugexe | so i build with debug symbols, and this adds additional information to the gdb output? | 22:37 | |
timotimo | aye | 22:38 | |
needs a full make and make install, though | |||
er | |||
only moar, though | |||
not nqp or rakudo, they can stay untouched | 22:39 | ||
sorry, i'm a little sick + distracted, i hope i'm not causing frustration | 22:40 | ||
jnthn | I think thread 5 is the guilty party | 23:10 | |
Unless it's marked itself GC blocked | 23:11 | ||
Which ain't happening here: github.com/MoarVM/MoarVM/blob/mast...o/io.c#L12 | 23:12 | ||
Note that on fixing that we must also go through all of the things calling acquire_mutex, and MVMROOT as appropriate | 23:13 | ||
Since the added calls to gc block/unblock can trigger joining a GC run | |||
Sleep time now, but hope that's enough hints in the rightish direction for a fix... | 23:14 | ||
back tomorrow o/ | |||
MasterDuke | jnthn: btw, just reminding about github.com/MoarVM/MoarVM/pull/631 and github.com/MoarVM/MoarVM/pull/632 , but no hurry or anything | 23:15 | |
timotimo | i thought the PRs looked good, but i have no sensible answer to the relationship between DEFAULT-READ-ELEMS and async i/o | 23:16 | |
MasterDuke | neither do i | 23:17 | |
timotimo | (also i haven't tested the code in the PRs, but you have) | ||
i'm heading to bed, night! | 23:18 | ||
ugexe | this seems to be the same problem as rt.perl.org/Ticket/Display.html?id=132042 | 23:25 |