MasterDuke yeah 00:13
ah, there's an MVMContainerSpec in moarvm 00:14
dalek ast: 9008f33 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S02-literals/numeric.t:
Tests for attempts to create a Complex using <> with --Inf
01:24
AlexDaniel viki: that's it, I guess 01:26
dalek ast: c61f7f1 | MasterDuke17++ | S06-traits/misc.t:
Test error when assigning to ro var has the name
01:30
viki wtf...
viki looks at other tests in that file
m: dd <-3.1e-23-2.9e-23i>
camelia ( no output )
viki m: dd <-3.1e-23-2.9e-23i>
camelia ( no output )
viki eval: dd <-3.1e-23-2.9e-23i>
evalable6 viki, rakudo-moar 3800e99: OUTPUTĀ«<-3.1e-23-2.9e-23i>Ā»
viki eval: dd <-3.1e-23-2.9e-23i>.^name
evalable6 viki, rakudo-moar 3800e99: OUTPUTĀ«"Complex"Ā»
viki 0_0
eval: dd <-3.1e-23-2.9e-23i+5+10-42+22i>.^name 01:31
evalable6 viki, rakudo-moar 3800e99: OUTPUTĀ«"Str"Ā»
viki doesn't follow where the line gets drawn
Oh
doh
I thought it was a weird combined number :}
AlexDaniel: that's it? That's lacking in most of the weird stuff that was found buggy in the past two days. Like <2/Ł”> vs <Ł”/2>, U+2212 minus, the thing you had me try to guess what will come out. 01:33
viki drops to bed
AlexDaniel viki: but I have no idea what is the right behavior in all of these cases
the unicode stuff arguably does not work at all, so vOv 01:35
MasterDuke eval: use MONKEY; EVAL q|sub a($bbb) { $bbb = 1 }; a(2); CATCH {}| 01:47
evalable6 MasterDuke, rakudo-moar 3800e99: OUTPUTĀ«(exit code 1) Cannot assign to a readonly variable ($bbb) or a valueā¤ in sub a at EVAL_0 line 1ā¤ in block <unit> at EVAL_0 line 1ā¤ in block <unit> at /tmp/c0RPPDivKw line 1ā¤Ā»
MasterDuke eval: use MONKEY; EVAL q|sub a($bbb) { $bbb = 1 }; a(2)|
evalable6 MasterDuke, rakudo-moar 3800e99: OUTPUTĀ«(exit code 1) Cannot assign to an immutable valueā¤ in block <unit> at EVAL_0 line 1ā¤ in block <unit> at /tmp/CHL2KIW9A2 line 1ā¤Ā»
MasterDuke the first error comes from here: github.com/rakudo/rakudo/blob/nom/...iner.c#L85 01:48
the second error comes from here: github.com/MoarVM/MoarVM/blob/mast...ers.c#L500 01:49
anybody have an idea why the difference? 01:50
oops, second one is actually github.com/MoarVM/MoarVM/blob/mast...p.c#L2829, i guess being interpreted or not is the difference 03:19
bartolin eval: my @a[2;2] = <a b c d> 07:04
evalable6 bartolin, rakudo-moar 3800e99: OUTPUTĀ«(exit code 1) X::Assignment::ToShaped exception produced no messageā¤ in block <unit> at /tmp/4sulD5US8b line 1ā¤Ā»
bartolin j: my @a[2;2] = <a b c d>
camelia rakudo-jvm 76b061: OUTPUTĀ«Assignment to array with shape 2 2 must provide structured dataā¤ in block <unit> at <tmp> line 1ā¤ā¤Ā»
bartolin lizmat: looks like that 87dcc0873b broke the message generation for X::Assignment::ToShaped 07:05
lizmat: maybe you have a short fix for that? (I took a look but didn't have a good idea.) AFAIU the problem happens because $!dims is passed as shape to the exception, but can't be stringified later: github.com/rakudo/rakudo/blob/3800...ay.pm#L364 07:07
current rakudo-j dies with a StackOverflowError for the above code 07:10
[TuxCM] This is Rakudo version 2016.11-95-g3800e99 built on MoarVM version 2016.11-20-g0f7277a 07:13
csv-ip5xs 3.133
test 13.924
test-t 6.480
csv-parser 13.904
lizmat Files=1155, Tests=53799, 189 wallclock secs (10.67 usr 4.44 sys + 1102.93 cusr 121.44 csys = 1239.48 CPU) # new MBP 07:16
dalek kudo/nom: d2ce52c | lizmat++ | src/core/ (2 files):
Make sure we can display dimensions as list_i

As bartolin++ pointed out, 87dcc0873b broke error generation for the given shape, because $!dims is now a list_i, and not a list. Fixed by adding a .dims method, similar to .indices, that basically HLLizes the internal list_i with dimensions.
07:33
lizmat bartolin: not sure this is the best fix, but I'm about to be offline for the better part of the day 07:34
commute& 07:44
jnthn morning, #perl6-dev 09:59
timotimo morning jnthn-dev
jnthn Ah yay, you fixed that leek 10:02
Uh, leak
tadzik sleek! 10:03
timotimo leekspins 10:07
jnthn gets latest builds of everything, then goes hutning for that zeroed owner thingy 10:09
dalek p: 2a4e696 | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
[js] Remove useless variable.
11:12
p: d18c065 | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js:
[js] Fix serialization of VMArrays where all the elements haven't been assigned to.
p: a679960 | (Pawel Murias)++ | t/serialization/01-basic.t:
Test serialization of a "sparse" VMArray.
p: b1d3fca | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
[js] Add native types to variable declarations.
jnthn dogbert17: Did rt.perl.org/Ticket/Display.html?id=130191 already get solved? 13:34
dogbert17 jnthn: yes, if we deploy the MoarVM PR lizmat merged a few days ago 13:43
the one where changes were made to twiddle_trie_node (if I remember the name correctly)
jnthn OK, did the crash occur in one of the spectests? 13:44
I'll dump MOAR_REVISION later on today for another fix I've done
dogbert17 it occured with everything if I set this check memory size thingy in fixedallocsize.c 13:45
github.com/MoarVM/MoarVM/commit/bf...061c5fb8e8 13:46
jnthn: you went to bed yesterday before I had a chance to trick into taking a quick glance at gist.github.com/dogbert17ā€‹/b381b64...761f45f1ba :-) 13:50
s/trick/trick you/ 13:51
jnthn That link gives me 404 13:52
dogbert17 gist.github.com/dogbert17/b381b649...761f45f1ba 13:53
now it seem to work, odd 13:54
jnthn same here...huh 13:55
dogbert17 I was just wondering if something immediately jumps out, it's probably not the most important bug ever :-)
jnthn Just a plain old clean, I think 13:56
We malloc but don't free
figuring out when to free will be the trick
dogbert17 yes indeed
jnthn Worth fixing anyway 13:58
Or a long-running server thingy that does process spawning will slowly leak over time
dalek kudo/nom: 47ffdea | jnthn++ | src/core/Supply.pm:
Fix a data race in Supply.interval.

Once we have atomic increment, then a native integer being atomically incremented instead of using the lock here would be cheaper. For now, this fixes an occasional crash on low intervals or under heavy load.
14:06
rakudo/nom: 33f7456 | jnthn++ | src/core/Supply.pm:
rakudo/nom: Refactor and fix some races in supply/whenever.
rakudo/nom:
rakudo/nom: This moves various mutations into the SupplyState object, where we can
rakudo/nom: reliably enforce mutual exclusion upon them. This of note eliminates
rakudo/nom: some races relating to the active-taps hash, which led to a number of
rakudo/nom: different occasional crashes. (It turns out that some of the mutations
p: 547d61f | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for various SEGV fixes.
14:07
tbrowder i'm using a late-model rakudo/nom and getting what looks like a bug 14:09
dalek kudo/nom: 74eb6b9 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get a MoarVM with some fixes.

  * Fixes a GC invariant violation in the code supporting Proc::Async
   that led to a variety of possible memory corruptions, mostly often
   showing up as "zeroed owner in work pass" or similar.
  * Fixes memory corruption on 32-bit platforms due to releasing memory
   with the wrong size in the NFG trie.
14:10
tbrowder www.irccloud.com/pastebin/Y2LWk35W/
www.irccloud.com/pastebin/K5j9EqLH/ 14:13
i expect to get "False"
dogbert17 is having a coffee break and eating cake wile building the latest Rakudo 14:14
jnthn dogbert17: I closed up that RT; hopefully correctly :) 14:15
dogbert17 jnthn++ 14:16
jnthn tbrowder: use `so` or `?` to force booleanization of the return value
tbrowder: It returns a Failure rather than throwing an exception, so if you use it in boolean context it behaves as you'd want.
tbrowder m: say so 'no-dir'.IO.d 14:17
camelia rakudo-moar 843a6b: OUTPUTĀ«Falseā¤Ā»
tbrowder m: say !'no-dir'.IO.d
camelia rakudo-moar 843a6b: OUTPUTĀ«Trueā¤Ā»
dalek ast: b8f17e1 | jnthn++ | S17-supply/syntax.t:
Test to cover a couple of Supply/interval bugs.
14:18
tbrowder m: if !'no-dir'.IO.d { say "False" }
camelia rakudo-moar 843a6b: OUTPUTĀ«Falseā¤Ā»
tbrowder hm, i'm using that in a script and get the Fatal error. I'll check some more--thanks 14:19
jnthn babydrop: Can you still reproduce rt.perl.org/Ticket/Display.html?id=129120 ? 14:29
I suspect it was a case of a method cache deserialization race that got fixed a while back
(And is test-covered)
babydrop lemme fire up my VM and test again 14:30
jnthn Cool, thanks
Not managing to reproduce it in mine
But yours has moar coars :)
dogbert17 babydrop, nice nick 14:34
jnthn Time for a break; bbiab 14:38
babydrop dogbert17: dunno about it... I was forced to change from `viki`
dogbert17 what was wrong with viki 14:39
babydrop dogbert17: it was a registered nick and its rightful owner ghosted me 14:40
dogbert17 ah, that explains it 14:44
babydrop: are you managing to break jnthn's latest commits? 14:53
babydrop it looks good.
Hasn't crashed in this many iterations: gist.github.com/zoffixznet/a05bd08...82a2f35ab3 14:54
dogbert17 looks promising 15:07
babydrop .tell jnthn not a single crash in 83 runs, so it looks fixed. I closed the ticket 15:20
yoleaux2 babydrop: I'll pass your message to jnthn.
babydrop jnthn++
jnthn babydrop: Yay :) 15:40
yoleaux2 15:20Z <babydrop> jnthn: not a single crash in 83 runs, so it looks fixed. I closed the ticket
jnthn Another RT down
babydrop \o/ 15:41
jnthn They weren't RT'd but the other things I fixed earlier on today caused occasional but bad results also
The "zeroed work item" one is probably the one that commitable and friends were tripping over 15:42
dalek p: 218e583 | (Pawel Murias)++ | src/HLL/Compiler.nqp:
Add a --profile-stage option to profile only one compilation stage.
15:44
p: cc6fc68 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (2 files):
[js] Implement calling uncached methods. Uses an ES6 Proxy.
p: d44f446 | (Pawel Murias)++ | t/nqp/104-method-cache.t:
Test method caches and calling methods without a method cache.
jnthn is trying to figure where exactly in our stack causes RT #130168 15:48
Well, interesting...we only get one callback from libuv... 15:50
Oh. We ask it for timeout 0, repeat 0... 15:53
hah 15:55
($delay * 1000).Int, ($every * 1000).Int,
babydrop :o
jnthn We convert seconds to milliseconds
So when the number gets small enough it becomes 0 miliseconds 15:56
jnthn fixes it with a ceiling cat 15:59
uh, just a ceiling 16:00
japhb jnthn: There's no microsecond or nanosecond interface, I take it?
Too bad we can't just apply the power of ceiling cat to all our bugs ....
TimToady or better, a floating-point or rational interface? :)
people always design these integer fractionl timing things, and they always break in the long run... 16:01
japhb TimToady: You're asking too much of C coders. ;-)
TimToady: We could always define it in terms of slash h ...
Time quanta. The only way to be sure. 16:02
TimToady by then we'll have 1024-bit FP and that'll probably work fine :) 16:03
jnthn japhb: Checked the docs; sadly, no, millisecond is the best on offer from libuv 16:07
m: use Test; my @a; react { whenever Supply.interval(.0001) { push @a, $_; done if $_ == 5 } }; is @a, [0..5]
That now passes locally 16:08
camelia rakudo-moar 843a6b: OUTPUTĀ«(timeout)Ā»
jnthn That said, it only fires once per millisecond 16:11
I'm not sure if we should warn in such cases 16:12
dogbert17 does that mean that given intervals below 1ms will be 1ms?
jnthn Yeah, thus why I'm pondering the warning 16:13
babydrop warning sounds reasonable
dogbert17 I was pondering the docs
I can write something up when I get home from $work 16:14
jnthn Sounds good :) 16:15
babydrop #perl6-dev where half the inhabitants are slacking off work :)
jnthn is in the category of "people for whom Perl 6 is work today"
babydrop is jealous
jnthn Actually, prototyping in Perl 6 for $dayjob task, so using Perl 6 is work for quite a few days at the moment. 16:16
dogbert17 will leave in a few minutes
have you stumbled upon any bugs while prototyping?
jnthn Yes. 16:20
More in my own code than in Perl 6, though. ;)
The Rakudo/MoarVM ones I've golfed to the point I wasn't sure they were $dayjob code, then put them aside to work on later. 16:21
uh, where I was sure they weren't in $dayjob code
Though by this point I've fixed all of those too 16:22
dogbert17 cool 16:30
dogbert17 commute from $work :)
dalek kudo/nom: c38f1ad | jnthn++ | src/core/ThreadPoolScheduler.pm:
Better handle time resolutions below 1ms.

We used to round these down to 0, meaning `Supply.interval(.0001)` would just emit one value, and never repeat, since 0 signals no repetition). Now we round it up to 1ms and warn.
16:35
ast: 4a2b7b7 | jnthn++ | S17-supply/interval.t:
Test for RT #130168.
16:36
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130168
jnthn Back down to one page of [CONC] tickets on RT now 16:37
afk for a bit 16:40
lizmat waves from London and rejoices at jnthn's fixes for the day 16:42
babydrop \o 16:43
lizmat babydrop o/ 16:56
jnthn: HARNESS_TYPE=6 seems to work now: Files=1144, Tests=53746, 275 wallclock secs 16:57
afk&
dalek ast: a1ae8fe | usev6++ | S09-multidim/assign.t:
Revert "Fudge test for X::Assignment::ToShaped for JVM"

This reverts commit fe0404cc2dc96f02536c34f9f6eb600ad33ed295.
Test passes again, lizmat++ for the fix.
18:00
bartolin it would be nice to get a second opinion about github.com/perl6/roast/pull/183 18:11
the test was in 6.c so I'm reluctant to change it. 18:12
if the test should be kept unchanged, I'm going to fudge it for rakudo-j
babydrop I'm OK with changing it, since the intent of the test is to test for dual backtrace, not for any filenames 18:14
bartolin thanks 18:16
[Coke] I agree that you're not changing the intent of the test there. 18:39
babydrop .tell samcv if you're willing to improve rakudo.org (it's Wordpress), I'm sure we can find you an account :) RE: twitter.com/samcv6/status/804044061355044864 20:41
yoleaux2 babydrop: I'll pass your message to samcv.
dalek ar: ccb2994 | (Zoffix Znet)++ | tools/star/release-guide.pod:
Delete the step about updating .htaccess

The -latest- urls are not figured out automagically and by the download page script[^1], so this step is no longer needed.
  [1] github.com/perl6/web-rakudo/
20:46
star: bdfd5e6 | lizmat++ | tools/star/release-guide.pod:
star: Merge pull request #81 from zoffixznet/patch-1
star:
star: Delete the step about updating .htaccess
babydrop s/are not/are NOW/; 20:48
babydrop recalls promising to proofread commits... :)
timotimo absolutely futile :P
[Coke] just fix em and force-repush 20:49
(DO NOT DO THAT)
babydrop :)
stmuk_ babydrop++ # making life easier 21:02
timotimo and prettier 21:33