[Tux] This is Rakudo version 2017.09-38-g78a4824b8 built on MoarVM version 2017.09.1-18-g3a2eab52 06:28
csv-ip5xs 1.345 - 1.493
test 9.903 - 10.491
test-t 3.441 - 3.481
csv-parser 12.786 - 12.944
samcv, your changes still not merged? 06:29
Error encoding UTF-8 string: could not encode codepoint 1939620 (0x1D98A4), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF)
in block <unit> at 88.t line 7
samcv i will merge it right now. let me just check appveyor
[Tux] Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 56625 (0xDD31)
in block <unit> at 88.t line 7
samcv ok bumping now 06:30
Geth nqp: a5f92f2fe3 | (Samantha McVey)++ | tools/build/MOAR_REVISION
Bump MoarVM: Fix 2 big utf8-c8 bugs & fix MacOS build

utf8-c8: Fixes a bug where encoding values above 0x10FFFF or Surrogate codepoints would throw and fail.
Fixes a bug with utf8-c8 where concatenation, replace, or ... (11 more lines)
06:38
Ā¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...-g523725a3
rakudo/nom: 963a0f0657 | (Samantha McVey)++ | tools/build/NQP_REVISION
Bump Moar/NQP: Fix 2 big utf8-c8 bugs & fix MacOS build

utf8-c8: Fixes a bug where encoding values above 0x10FFFF or Surrogate codepoints would throw and fail.
Fixes a bug with utf8-c8 where concatenation, replace, or ... (15 more lines)
06:39
samcv [Tux], ok :) go ahead
Geth Ā¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....ga5f92f2fe
samcv if you have the time to run the tests again
[Tux] samcv++; # 88.t doesn't crash anymore! 06:48
samcv :-)
i think i fixed basically everything in my grant tbh :P 06:49
[Tux] HUGS are in place :)
you deserve them
samcv well if i come back to NL i will accept a hug :) 06:50
and to think i was worried about meeting the grant, but ended up exceeding it
[Tux] This is Rakudo version 2017.09-39-g963a0f065 built on MoarVM version 2017.09.1-21-g523725a3 06:51
csv-ip5xs 1.322 - 1.341
test 9.810 - 9.912
test-t 3.407 - 3.577
csv-parser 12.585 - 13.040
within the noise range. no significant slowdown 06:52
lizmat Files=1227, Tests=75100, 295 wallclock secs (14.55 usr 5.20 sys + 1997.49 cusr 211.59 csys = 2228.83 CPU) 07:08
Geth rakudo: stmuk++ created pull request #1167:
japhb++ die where --jobs > 1 used
09:28
rakudo/nom: 99f90e6528 | (Steve Mynott)++ | t/harness6
japhb++ catch case where --jobs used
10:40
rakudo/nom: 045ef448b6 | lizmat++ (committed using GitHub Web editor) | t/harness6
Merge pull request #1167 from stmuk/nom

  japhb++ die where --jobs > 1 used
rakudo/supply-block-refactor: 9d903408e3 | (Jonathan Worthington)++ | src/core/Supply.pm
Push Tap objects down to subscribers

The `.tap(...)` call now takes an optional `:&tap` named argument that will be called, synchronously and ahead of any `emit`/`done`/`quit`, with the Tap object. This means that there is now a reliable way to get the Tap object, no matter the behavior of the source Supply. There were two notable cases where we had trouble: ... (14 more lines)
11:15
nqp/master: 9 commits pushed by pmurias++ 12:06
jdv79 what's a easy way to build and use a modified moar? 12:41
jnthn Easy to understand what's going on? Just get checkouts of NQP and Rakudo, and perl Configure.pl --prefix=/path/to/moar/install 12:43
For most MoarVM changes you won't need to rebuild NQP/Rakudo
You can just change stuff and make -j install in MoarVM
jdv79 ok 12:55
lizmat commute to NR.pm meeting& 12:56
jnthn I just had to write this gist.github.com/jnthn/25349dee44f2...dbe504c39e to help me debug a problem 14:02
Figure it may be useful more generally
Polished version of it could end up as a module
timotimo oh, that's cute 14:03
jnthn Hate bugs that rarely show up though 14:06
Though presumably if I could always get it to show up in 20,000-30,000 requests before, surviving 250,000 would be a decent indication I got it 14:07
Well, it did 14:15
(having a big supply-using thing to test on)++ 14:16
Geth rakudo/supply-block-refactor: 0d600a0cb6 | (Jonathan Worthington)++ | src/core/Supply.pm
Don't re-acquire lock after running supply body

Instead, just use the one we're already holding to decrement the active tap count. Prevents a potential deadlock if an `emit` gets in from one of the `whenever`s and then does some kind of `await`.
14:22
jnthn Wow, that fix also gets performance back to being pretty good :) 14:26
Guess that was contended over quite a bit
That leaves me with just the throttle issue 14:30
"just" 14:37
DrForr Ah, "just". That final 80% that you find after digging through the first 80%. 14:40
jnthn I do somewhat fear that it might unravel a bunch of the changes too :/
Just discovered a Cro HTTP/2 hang, which I somewhat feared may happen because it uses a "supplies in the chain talking to each other" approach also 14:42
jdv79 not sure what that means. 14:44
sounds racy though
DrForr girds himself for his first Prague.pm social.
jnthn DrForr: Hm, when/where's that? I thought I was on the mailing list but didn't see anything for ages... 14:48
DrForr Tonight at 7pm, "Prague Perl Mongers meeting is planned for Thursday September 21st at 7 PM at the "BeerGeek" bar, JiÅ™Ć­ho z Poděbrad. 14:49
I don't know if it got to the mailing list, I'm not on it myself.
Maybe someone *thinks* they're sending announcements to a dead list? 14:50
beergeek.cz at Vinohradska' 62 apparently.
I'm close enough that I can drop my bag off at home and head over.
jnthn DrForr: Wait, you're based in Prague these days? 14:51
DrForr Moved here on the 1st as it happens. 14:52
DrForr waves from the GoodData offices.
jnthn Ah. :-)
Zoffix :) 14:53
jnthn Yeah, www.mezl.eu/praha-pm doesn't mention it at all :)
DrForr I also note that most of the Mailing List links are crossed out. 14:55
jnthn Yeah
Just noticed that
If you know (or find out) how I can find out when meetings happen, I'd love to know :) 14:56
Can't make it tonight, alas; if I'd known some days sooner I probably coulda. Next time... 14:57
DrForr I just asked the person that passed me the info what's going on, so I'll pass it along to you when I get it.
No worries, I figured that was the case.
I'm outta here, off to said meeting. 15:00
o/
jnthn Have fun o/
m: my $s1 = Supplier.new; my $s2 = Supplier.new; Supply.merge($s1.Supply, $s2.Supply).tap: { say $_; $s2.emit(2) }; $s1.emit(1) 15:25
camelia (timeout)1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2ā€¦
jnthn That hangs in my branch also, after the say 1 15:27
m: my $s1 = Supplier.new; $s1.Supply.tap: { say $_; $s1.emit(2) }; $s1.emit(1) 15:29
camelia (timeout)1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2ā€¦
15:30
jnthn m: my $s1 = Supplier.new; $s1.Supply.tap: { say $_; $s1.emit(2); say "here" }; $s1.emit(1) 15:31
camelia (timeout)1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2ā€¦
jnthn oh hah, because it was using a reentrant mutex for the protection...
DWIM is hard. 15:34
Hm, well, I may have something approaching a solution... 16:50
ah, no :( 16:53
Or at least, not without further changes
nine So still _approaching_ a solution, not already there 16:54
jnthn Yeah, hopefully 16:55
jnthn is curious what the spectest fallout will be
It does actually fix some stuff
sjn if there's no solution, it's all precipitate :)
jnthn I guess while what I have works it introduces a tad too much concurrency in places 16:56
And that maybe is the reason things break 16:57
Wow, the only regression is a new hang 16:58
In 1 file
OK, maybe it's not so wildly off given I know of 2 things that are probably still a bit wrong, then
Geth roast/rt132135: b0cd4b3edf | (Justin DeVuyst)++ | S32-io/IO-Socket-Async.t
Tests for async socket returned port values. See RT#132135.
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132135
jnthn In the very best case, the mechanism I've come up with now might eliminate and solve more problems that the one I did yesterday. Not sure yet. 17:03
We'll see tomorrow. 17:04
b2gills Sometimes you have to go down the wrong route for a while to find the right one 17:15
nine Aw crap. Compiling the optimized body for a native sub in a CHECK phaser would require the setup for that routine to have already run. But that actually loads the library which we do only at runtime. 17:31
So...I'd have to export an INIT phaser, too which runs the setups? 17:32
But the nativecallbuild op which loads the library as part of setup also returns whether we can JIT compile the call or not. 17:40
So I'd need to restructure that whole part of the code to get the information in a separate step without loading the library :/ 17:41
At least I just found out why compiling the optimized code for subs called at BEGIN time fails: the $!do attribute is bound at runtime during the fixup. So while I did set it just fine after compilation, it got overwritten by the original block: { * } 17:56
Geth nqp: 1177ace084 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java
Revert "Error reporting tweak."

It's ok to return null if exception has no message.
This reverts commit d228c929f85fa96e043fc30c3439880169e9484d.
18:42
jnthn nine: Doing anything at INIT time for native calls is probably now roth it 20:42
*worth
nine: Since typically only so many of the possible native subs are called by a given application
So it's cheaper to pay for just some of 'em
nine jnthn: would be nice if we could at least do the compilation at CHECK time. Inline::Perl5 does use quite a few native subs even for trivial programs. And it should be possible to move a part of the setup cost to installation time. 20:46
And it actually is! I don't actually need the decision right away. As it's installation time (or worst precomp time), I can just compile both versions, the JIT compiled and the fallback and only decide which of those to install at runtime.
jnthn Yeah, CHECK time makes more sense 20:47
old.cd.cz/zazitky/kam-na-vylet/1758...nice-v-pid
oops
Since JIT happens at runtime the resolution happens late enough for it to produce the good code, so all's well 20:48
gfldex is a long running program meant to segfault when I rebuild the Rakudo it is using? 20:58
jnthn I guess you'd have to re-install it to affect things? 20:59
I've hard this before, though 21:00
*heard
nine has seen it happen a couple of times 21:03
jnthn So, sounds like it does. As for "meant to", I'm pretty sure nobody set out with it as an explicit goal. ;) 21:06
Maybe a consequence of us mmap'ing stuff and then it changes underneath us? 21:07
gfldex on linux the mmaped file (as opposed to the files directory entry) should stay intact until the last filehandle is closed (and thus the inode in /proc/$pid/fd/ is gone) 21:24
i will try to do some digging on the weekend 21:25
teatime iirc, this is often caused by overwriting existing executable rather than unlinking the old and creating the new; if you unlink, as gfldex says the old file continues to exist as long as stuff has it open. 21:26
jnthn Ah, maybe our install does a copy and that's not doing the unlink/create new thing 21:27
teatime iirc again, cp actually does unlink first for this reason. 21:29
gfldex takes notes not to build Rakudo on windows
teatime hrm, or actually, I think it's mv that does that, possibly not cp 21:38
timotimo i've put a bit of work into making rakudo install not just cp into existing .moarvm files 22:08
to prevent exactly that kind of crash you're describing
could very well be i missed a case or two
look for a perl6 command inside the makefile
it'll also show up in the output of "make install"
Geth 6.d-prep: 795b56ead6 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
List passing Windows strestest

as a TODO item for release
22:10
ugexe i've gotten into a chicken/egg spot with the perl6 file deletion inside the makefile before 22:41
teatime there's also install, if you don't want to mv; I was wrong about cp and thinking of mv 22:44
timotimo is there install on windows in nmake? 22:51
teatime I know almost nothing about windows :) 22:52
timotimo yeah, putting smarter stuff into the makefile is a great way to break the build on a platform hardly anybody tests at the moment 22:54
Geth roast: skids++ created pull request #327:
Add test for RT#129812
23:25
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=129812
roast: fd1a92f9e9 | skids++ | S06-traits/misc.t
Add test for RT#129812
roast: 63181b3c9f | skids++ (committed using GitHub Web editor) | S06-traits/misc.t
Merge pull request #327 from skids/rt129812

Add test for RT#129812
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=129812
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=129812
roast: c8a7565a68 | (Zoffix Znet)++ | S05-match/positions.t
Test all regex blocks update $/

RT#126249: rt.perl.org/Public/Bug/Display.html?id=126249
23:51
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126249