AlexDaniel oh right, Malformed UTF-8 issue fixed! 00:32
meaning that quotable6 should now work
and also that I have to update rakudo on the server… 00:33
heh, being on the front line again 05:37
*able tests don't pass, have no idea why
masak AlexDaniel: there was a point where I felt 007 was often a canary in the coal mine for new bugs/features in Rakudo. :) less so now, though. 06:13
mostly because I'm slightly less active myself, I think.
AlexDaniel I don't think I'll be able to golf it this time 06:15
no errors, memory usage is ok 06:16
it just hangs
if I remove some of the previous tests it stops hanging
.tell MasterDuke maybe you have some idea. committable.t and benchable.t hang on the first “Did you mean …” test 06:19
yoleaux AlexDaniel: I'll pass your message to MasterDuke.
masak "if I remove some of the previous tests" is always worrying 06:21
try running without the JIT?
AlexDaniel .tell MasterDuke sorry, bisectable.t and benchable.t. So github.com/perl6/whateverable/blob...ble.t#L165 and github.com/perl6/whateverable/blob...ble.t#L142 06:23
yoleaux AlexDaniel: I'll pass your message to MasterDuke.
AlexDaniel .tell MasterDuke it may be associated with Sift4 module, which is problematic by itself… for example, it's still leaking memory.
yoleaux AlexDaniel: I'll pass your message to MasterDuke.
[Tux] This is Rakudo version 2017.08-79-g4b02b8aad built on MoarVM version 2017.08.1-106-gdd04dd80 06:26
csv-ip5xs 1.314 - 1.428
test 10.362
test-t 3.674 - 3.829
csv-parser 12.040
AlexDaniel masak: same without JIT 06:27
masak ok
well, it seems contingent, so bisecting on Rakudo version might not reveal much
AlexDaniel I think it can tell a lot 06:28
.tell jnthn FWIW this is really annoying when running the spectest: RT #132029 07:15
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132029
yoleaux AlexDaniel: I'll pass your message to jnthn.
nine AlexDaniel: a neat trick for a bit of a simpler shell line is: while clear; ./perl6-m -Ilib t/spec/S17-lowlevel/atomic-ops.t ; do true ; done 07:25
AlexDaniel sure 07:26
[Tux] ===> Installing: JSON::Marshal:ver('0.0.13'):auth('github:jonathanstowe') 07:33
and later when installing META6 07:34
# Could not find JSON::Marshal:ver<0.0.7..*> at line 77 in:
zef has a serious versioning problem
nine m: { my Int $test-cont = 42; ?$test-cont; }; { my atomicint $set = 0; start { sleep 1; $set ?= 1 }; until ?$set { } }
camelia A IntLexRef container does not know how to do an atomic load? in block <unit> at <tmp> line 1??
nine There's the golf :)
Posting to the ticket
[Tux] CSV tests started to fail 07:35
# at t/90_csv.t line 260 07:36
# expected: $[["1", "2", "3"], ["2", "a b", ""]]
# got: $[["1", "2", "3"],]
# Failed test 'AOH parse out'
no time to bisect that right now, must leave for $work
AlexDaniel [Tux]: it is github.com/rakudo/rakudo/commit/4b...77b74cd59d 07:50
bisect log: gist.github.com/62a876b09bfecc9aa3...1e384f43ce
double-check with committable: gist.github.com/50bd16934e6bc93ad4...59cf31bf06 07:51
ticket created: RT #132030 07:54
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132030
AlexDaniel .tell jnthn well, this one is possibly more important: RT #132030 07:57
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132030
yoleaux AlexDaniel: I'll pass your message to jnthn.
AlexDaniel marking as blocker
timotimo if that commit changes things, maybe an strace of the test run would be interesting 08:39
AlexDaniel [TuxCM]: ? 08:45
[TuxCM] Adding :!buffer to «$io-in = open $in, :r, :!chomp;» did not help 08:56
on line 1659
thanks for the bisect
timotimo right, it should only matter for handles where isatty returns true 09:03
and no buffer argument whatsoever was passed
jnthn :!buffer is irrelevant for an input handle, as it's only about output buffering
yoleaux 07:15Z <AlexDaniel> jnthn: FWIW this is really annoying when running the spectest: RT #132029
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132029
timotimo iow, that there should already have been buffered anyway
yoleaux 07:57Z <AlexDaniel> jnthn: well, this one is possibly more important: RT #132030
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132030
timotimo oh, that's a good point, too
so something that writes the file you're opening there might be wrong 09:04
forgot to .close something, for example
jnthn clones Text::CSV to have a look
AlexDaniel right
jnthn But I suspect it's going to be a forgotten .close
[TuxCM] is digging .... 09:05
jnthn hm, typing "text csv" on the modules search doesn't find anything 09:06
[TuxCM] csv alone does
jnthn yeah, just odd :)
[TuxCM] adding :!buffer to line 1776 fixes the issue 09:08
jnthn $tmpfn doesn't seem to get closed? 09:09
[TuxCM] line 1888 does a .close
jnthn oh, that's not hte handle
[TuxCM] $io-out is the handle in question
jnthn yeah, confused reading
I note there's various codepaths that look like they can return early, though 09:10
timotimo so maybe add a LEAVE phaser to handle closing? 09:11
jnthn yeah, trying that
Somehow that doesn't do it though 09:13
It closes it too early?
[TuxCM] with that :!buffer added (despite a better fix might be in place), only META6 still fails
jnthn That'll work, but lose a performance benefit on writing CSV to a file, I guess. 09:14
Trouble with doing it with a LEAVE phaser is that in some cases it actually wants to close it earlier
timotimo LEAVE try $fh.close :P 09:15
jnthn This lets it work with buffering: gist.github.com/jnthn/a999df1f89d2...2ca55be806 09:19
[TuxCM] anyone to prod for the zef versioning problem? 09:23
timotimo it's about META6 again 09:25
[TuxCM] yes
timotimo that module did something that caused the complete installation directory to become b0rked 09:26
or something
well, the module did something or zef did something with it
[TuxCM] «zef upgrade» also started failing: gist.github.com/Tux/1fd67a242c11db...66877461f4 09:28
jnthn Commented on RT #132030 09:40
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132030
jnthn Hm, interestingly the atomic fragility looks like a spesh bug 09:48
At least, it goes away under MVM_SPESH_DISABLE=1
In nine++'s golf
Geth roast: 346f058338 | skids++ (committed by Zoffix Znet) | S04-statements/do.t
Fix test that expected pre-GLR behavior. RT##124572. (#305)

  * Fix test that expected pre-GLR behavior. RT##124572.
  * Also test some non-constant-folded conditions
  * Add a comment explaining use of now() to prevent constant folding
  * Actually, makes more sense to add seconds.
10:06
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124572
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124572
dogbert17 jnthn: it also seems to go away with MVM_SPESH_OSR_DISABLE 10:30
jnthn dogbert17: Yeah, fixed already :) 10:31
(By HEAD commit in MoarVM)
nine jnthn: sooo the sleep did not demonstrate a race condition in the code but just gave spesh enough time to replace the code? 10:32
jnthn nine: Yes 10:34
nine Then I guess MVM_SPESH_BLOCKING demonstrated it as well? It's a bit of an irony that the bug showed up in this place of all :)
jnthn Didn't try that, but in theory yes 10:35
Well, or "it depends"
Blocking only means we block on doing spesh once we have filled the spesh log
The thread we start could still assign the value before we did enough loops to fill the log and thus to spesh things 10:36
nine One thing that started to worry me when working on JITed native call: our tests and spec tests are usually very short. So the will be affected by spesh and JIT much less than real world code. 10:39
jnthn Yes, thus why I do runs of them with MVM_SPESH_BLOCKING=1 MVM_SPESH_NODELAY=1
Ditto with NQP/Rakudo builds 10:40
The "no delay" means "spesh code that's cold anyway"
And helps shake out more issues
pmurias m: "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int 11:02
camelia -9223372036854775808?
pmurias ^^ is that a bug?
the Match class is taking the Int method from the NQPMatchRole 11:06
Skarsnik m: "10000000000000000000000000000" ~~ /^(\d+)$/; say $0 11:13
camelia ?10000000000000000000000000000??
Skarsnik bisectable6, "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000 11:14
bisectable6 Skarsnik, Bisecting by output (old=2015.12 new=4b02b8a) because on both starting points the exit code is 0
AlexDaniel, MasterDuke: I'm acting stupid on #perl6-dev. Help me.
Skarsnik, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/ebb88e2b94e88edafb...70d728b2ae 11:15
Skarsnik damn
c: "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000 11:17
commitable not here, hm
dogbert17 jnthn: chances are high that you just fixed github.com/MoarVM/MoarVM/issues/653 11:39
jnthn dogbert17: Yes, that's exactly what I fixed :) 12:04
pmurias: Looks like Rakudo should have its own Int candidate that can do the coercion to a bigint
Zoffix Skarsnik: ^ it's back now. You need a commit with `c:` tho 12:07
c: 2017.01 "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000
committable6 Zoffix, ¦2017.01: «True»
Skarsnik c: old "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000
committable6 Skarsnik, ¦old: «Cannot find this revision (did you mean “all”?)»
Skarsnik c: 2015.1 "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000 12:08
committable6 Skarsnik, ¦2015.1: «Cannot find this revision (did you mean “2015.12”?)»
Skarsnik c: 2015.01 "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000
committable6 Skarsnik, ¦2015.01: «True»
Zoffix I'm betting the change came in when Cursor and Match were unified
Skarsnik c: HEAD "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000
committable6 Skarsnik, ¦HEAD(4b02b8a): «False»
Zoffix c.2017.03
Skarsnik dunno why bisectable6 die
Zoffix c: 2017.02,2017.03,2017.04 "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int == 10000000000000000000000000000
committable6 Zoffix, ¦2017.02,2017.03: «True» ¦2017.04: «False»
Skarsnik should be added to roast maybe? 12:09
Zoffix Skarsnik: because it was a weird merge and it can't pick out when it actually broke; it least I recall it having issues with the Match+Cursor introed bugs
Skarsnik: sure, after it's fixed :D 12:12
pmurias Unhandled exception: Missing or wrong version of dependency '/home/pmurias/nqp/install/bin/../share/nqp/lib/MAST/Nodes.nqp' (from 'src/Perl6/Pod.nqp') 12:23
^^ why does that happen?
jnthn pmurias: Hm, thought I fixed that in github.com/rakudo/rakudo/commit/fb...9c649a20c1 12:24
pmurias: It was due to wrong lib search path order in the (non-install) runner though 12:25
pmurias makefiles -= Inf :/ 12:30
pmurias goes to grab some lunch&
jnthn every-makefile-replacement -= 2 * Inf ;)
dogbert17 c: HEAD MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 use Test; { { my sub foo { fail }(); CATCH { default { my $bt = .backtrace; is $bt.list.elems, 4, "we correctly have 4 elements in .list"; }} } } 12:54
committable6 dogbert17, gist.github.com/d262f427671ac6551a...cbe0801228
dogbert17 c: HEAD MVM_SPESH_NODELAY=1 use Test; { { my sub foo { fail }(); CATCH { default { my $bt = .backtrace; is $bt.list.elems, 4, "we correctly have 4 elements in .list"; }} } } 12:55
committable6 dogbert17, gist.github.com/8578c66774e0902aad...182076665d
dogbert17 bad bot 12:56
Geth nqp: ffa3e56f61 | pmurias++ | src/QRegex/Cursor.nqp
Make Int on rakudo's Match return an Int not a nqp level int.

Move the Int method from NQPMatchRole to NQPMatch so that rakudo will use the more correct bignum using Int method from Cool.
13:46
robertle what's the right way to do reflection? I am currently using can() to get the accessor of an attribute by it's name, and I can call that. but it also would like to know if the attribute is Listy or a scalar. how can I do that? 14:46
Skarsnik $obj or Class.^attributes to get a table of the attributes 14:48
m: say IO::Path.^attributes;
camelia ()?
Skarsnik m: say Int.^attributes; 14:49
camelia (bigint $!value)?
Skarsnik m: say Int.^attributes.WHAT;
camelia (List)?
Skarsnik hm
timotimo don't forget you can also $myinstance."$attributename"()
Skarsnik should this be an Array[Attributes] ?
timotimo, is that not just a method call to the attribyte accessor? 14:50
timotimo yes
[Coke] jnthn: github.com/jnthn/p6-io-socket-asyn.../issues/19 (a real bug this time, not a META bug. :)
jnthn [Coke]: Urgh :( 14:53
Can you include the SSL library version also?
[Coke] This after a nuke-everything-from-orbit reinstall of rakudo HEAD to avoid dep hell.
jnthn (the libssl one, I mean) 14:54
timotimo wow, that was easy
[Coke] jnthn: openssl @1.0.2l (devel, security) (checking for an update in ports now) 14:55
lizmat Files=1223, Tests=67677, 290 wallclock secs (11.13 usr 4.76 sys + 1961.08 cusr 204.06 csys = 2181.03 CPU) 15:58
Geth rakudo/nom: c39db87895 | (Elizabeth Mattijsen)++ | src/core/Set.pm
A null byte was intended, Zefram++
16:08
timotimo lizmat: don't we still have to replace null bytes in our strings with something escaped? so you can't write strings with a nullbyte in them and pretend they are multiple consecutive elements 16:10
lizmat timotimo: as long as we keep using strings for .WHICH values, we cannot prevent confusion, just obfuscate the possibilities for it (somewhat) 16:14
m: sub a(*@a) { dd @a }; a Nil
camelia [Nil]?
lizmat m: sub a(**@a) { dd @a }; a Nil
camelia [Any]?
lizmat that last one is a bit counter-intuitive and the issue behind RT #132032 16:15
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132032
timotimo we can. escaping is a thing that works. 16:16
lizmat timotimo: maybe I'm not understanding what you mean by escaping 16:23
I've looked at Zefram's proposal, but that will cause a massive performance drop 16:24
affecting all QuantHashes and object hashes
this needs to be done at the VM level, afaics 16:25
timotimo we only have to escape a string if it has a \ or nullbyte in it, which gives us a decent enough fast path and slow path 16:28
[Coke] jnthn: re the alpn support, looks like it's supposed to be in 1.0.2 17:05
jnthn Oh...right, think I'm confusing versions 17:06
The issue you reported is nothing to do with ALPN though, fwiw
(I don't yet know what it is, alas) 17:07
[Coke] ... I just reran that test and it worked. 17:08
jnthn Yeah, I suspect it's heisenbug-y
Which gives me hope I might be able to reproduce it with enough load/runs too
[Coke] trying to get something to chew up the CPU and will try again. 17:09
jnthn ok; back after dinner :)
[Coke] yup, did a zef install in another window, then it died again.
ugexe recently been figuring out I can't casually use | for Slip as much as I thought - notably with positional arguments 18:03
m: my $bytes = Buf.allocate(1000000); say buf8.new($bytes.Slip).bytes; say buf8.new(|$bytes).bytes;
camelia 1000000?Too many arguments in flattening array.? in block <unit> at <tmp> line 1??
AlexDaniel heh, what's wrong with github… 18:04
“We are investigating issues loading stylesheets”
okay
Skarsnik AlexDaniel, I hate this gumbo crash :) 18:08
AlexDaniel Skarsnik: yes. Me too.
Skarsnik I can't even make it crash on my vm now x) 18:09
I changed the script to my $response = "index.html".IO.slurp; 18:14
not sure if that should change something, but it does not want to crash on the rakudo I working on
(I just added some printf to trace nc cal) 18:15
Zoffix ugexe: note that the two are different in that context. | in argument list isn't prefix:<|>, it's special sauce. And $bytes.Slip sends just one argument 18:18
(special sauce => special compiler handling that calls secret methods .FLATTENABLE_HASH and .FLATTENABLE_LIST) 18:21
ugexe yeah, i was thinking the limit applied only to named arguments for some reason
and have historically reached for | because .Slip looks off to me (i want to see .slip but i understand why its like this) 18:23
AlexDaniel heh, *ables were misbehaving today? :) 19:29
bisect: "10000000000000000000000000000" ~~ /^(\d+)$/; say $0
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=c39db87) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: «?10000000000000000000000000000?»
AlexDaniel err, already fixed? 19:30
bisect: "10000000000000000000000000000" ~~ /^(\d+)$/; say $0.Int
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=c39db87) because on both starting points the exit code is 0
AlexDaniel ah
bisectable6 AlexDaniel, bisect log: gist.github.com/5eefdbf975e6d19f27...d5bedd0070
AlexDaniel, (2017-04-15) github.com/rakudo/rakudo/commit/c0...70427291df
AlexDaniel o_o
nah xD 19:31
Zoffix Already fixed but still need nqp bump
AlexDaniel hm… some troubles when building c01ebea0a0dc 19:32
Skarsnik: ? this is why it failed today. The build is there but it's broken
c: MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 HEAD use Test; { { my sub foo { fail }(); CATCH { default { my $bt = .backtrace; is $bt.list.elems, 4, "we correctly have 4 elements in .list"; }} } } 19:33
committable6 AlexDaniel, ¦HEAD(c39db87): «not ok 1 - we correctly have 4 elements in .list?# Failed test 'we correctly have 4 elements in .list'?# at /tmp/1ErKgNSqLK line 1?# expected: '4'?# got: '3' «exit code = 1»»
AlexDaniel dogbert17: the syntax is different ?
dogbert17: env variables first, then revision
dogbert2 AlexDaniel: thx 19:34
c: HEAD use Test; { { my sub foo { fail }(); CATCH { default { my $bt = .backtrace; is $bt.list.elems, 4, "we correctly have 4elements in .list"; }} } }
committable6 dogbert2, ¦HEAD(c39db87): «ok 1 - we correctly have 4elements in .list»
AlexDaniel dogbert2: also: github.com/perl6/whateverable/issues/228 19:37
samcv good * 20:12
ugexe where do values like @nqp::libdir@ get set for Configure.pl ? 21:54
and Makefile-*.in
timotimo i imagine that's a "namespace" populated from nqp --show-config? 21:55
in fact, that already has the nqp:: and moar:: prefixes in it
ugexe i see 21:58
i'm trying to get rakudo/nqp/moar to build on windows when there is a space in the path... its not pretty 21:59
timotimo oof 22:03
i believe [Coke] worked on this in the past
there's potentially still a "spaceless" branch to be found in git
ugexe i have what should be a mostly working branch, except for nqp::libdir giving me the RHS of a path split on a space 22:10
Geth nqp/heapsnapshot_binary_format: e85bb796a3 | (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.
23:10