raschipi Geth: help 00:47
Zoffix OK. I give up :) 02:24
timotimo: are you still awake?
.tell timotimo the R#1308 release blocker is due to a JIT commit you made. Perhaps you'd know more what the problem is? I tried to fix it but failed. Some of the info on the bug I gathered: github.com/rakudo/rakudo/issues/13...-352154785 02:36
yoleaux Zoffix: I'll pass your message to timotimo.
synopsebot R#1308 [open]: github.com/rakudo/rakudo/issues/1308 [SEGV][severe][⚠ blocker ⚠] Frequent-ish SEQV in Perl 5 integration tests
samcv Zoffix: how to get the number of cpu's with rakudo? 04:17
releasable6: status 04:18
releasable6 samcv, Next release in ≈14 hours. No blockers. 0 out of 125 commits logged
samcv, Details: gist.github.com/56910980b88b800603...7f811f483b
raschipi m: say $*KERNEL.cpu-cores 04:39
camelia 4
raschipi samcv: Is that what you want? 04:41
samcv yep! 04:43
raschipi Need a recent Rakudo version.
samcv Zoffix: there's a bug in Test 05:24
or in prove i guess. if you have a multiple line text test, and you TODO it, then prove doesn't pick up that it's been todo'd 05:25
since the # TODO ends up on a different line from the "ok/not ok" 05:26
m: $*PROGRAM.substr(/".t"$/, "").trans: "-" => "/"; 05:43
camelia No such method '!cursor_start' for invocant of type 'Int'
in block <unit> at <tmp> line 1
samcv anybody know what's going on here?
anyway i need to go back to sleep. be back in the morning (like 4 hours from now) 05:45
Zoffix samcv: you wrote "substr" instead of "subst" 06:13
.tell timotimo One thing I noticed in graph.c, category is MVMint32, but in interp.c it's a MVMuint32 and I think I seen it as MVMint16 somewhere too. Dunno if it matters; tried making 'em the same, but that didn't fix nothing 06:21
yoleaux Zoffix: I'll pass your message to timotimo.
Geth rakudo: 04eb1da6af | (Zoffix Znet)++ | t/05-messages/02-errors.t
Test C3 linearization mentions line number

RT#126539: rt.perl.org/Ticket/Display.html?id=126539
06:48
synopsebot RT#126539 [new]: rt.perl.org/Ticket/Display.html?id=126539 [LTA] error message about C3 linearization (no line number)
Zoffix .tell wander do you have an RT account? You committed tests for a ticket ( github.com/perl6/roast/commit/0368...dc95e1d218 ) but nothing's mentioned on the ticket itself and it's still open: rt.perl.org/Ticket/Display.html?id...et-history 06:54
yoleaux Zoffix: I'll pass your message to wander.
AlexDaniel samcv: o/ 07:24
ah whoops. Sleep well 07:25
e: say $*KERNEL.cpu-cores
evalable6 8
AlexDaniel Zoffix++ 07:27
.oO( time to find more blockers before the existing ones are resolved!! )
07:28
.seen Ulti 07:55
yoleaux I saw Ulti 15 Dec 2017 22:24Z in #perl6: <Ulti> no then they might hire you
AlexDaniel tbrowder: you here? 09:39
[Tux] Rakudo version 2017.11-126-g04eb1da6a - MoarVM version 2017.11-43-g93a77dc16
csv-ip5xs1.086 - 1.093
csv-ip5xs-2012.989 - 13.136
csv-parser12.329 - 12.623
csv-test-xs-200.456 - 0.483
test11.592 - 11.986
test-t2.905 - 2.928
test-t --race1.253 - 1.280
test-t-2051.997 - 52.417
test-t-20 --race18.063 - 18.168
10:22
lizmat m: class A {}; sub prefix:<++>(A) { say "foo" }; sub postfix:<++>(A) { say "bar" }; A++ # TimToady feels to me the static ++ optimization is too early 10:26
camelia foo
lizmat TimToady: expected to see "bar" there
samcv Zoffix: yeah i know but the error is LTA :( 10:36
m: $*PROGRAM.substr(/".t"$/, "") 10:37
camelia No such method '!cursor_start' for invocant of type 'Int'
in block <unit> at <tmp> line 1
samcv m: $*PROGRAM.substr(/".t"$/)
camelia No such method '!cursor_start' for invocant of type 'Int'
in block <unit> at <tmp> line 1
samcv i would expect it to give me an error about a signature issue, but it gives a cursor error. 10:39
ah see a github issue open there. thanks!
AlexDaniel mch: class A {}; sub prefix:<++>(A) { say "foo" }; sub postfix:<++>(A) { say "bar" }; A++ 11:06
committable6 AlexDaniel, ¦2015.12: «bar␤» ¦HEAD(04eb1da): «foo␤»
AlexDaniel damn I'm looking at github.com/rakudo/rakudo/commit/fc52143b
and I remember there was some RT I was working on…
and I got stuck exactly because of that error
err, issue
hmm, I think it was RT#127775 11:09
synopsebot RT#127775 [new]: rt.perl.org/Ticket/Display.html?id=127775 Declaring enums with Bools, IntStrs and maybe other things ( enum Foo (:Bar(1), :Baz(True) ))
AlexDaniel but nothing has changed
ok nvm 11:10
tbrowder AlexDaniel i’m here 11:21
AlexDaniel oh, cool
e: gist.githubusercontent.com/AlexDan...podregr.p6 11:22
evalable6 AlexDaniel, Successfully fetched the code from the provided URL.
"'Foo and Bar'"
AlexDaniel tbrowder: that doesn't look quite right, right?
but I'm kinda confused, didn't we fix this already?
tbrowder no, not yet 11:23
AlexDaniel tbrowder: can you try running Pod::TreeWalker tests? 11:24
there's one test that is broken now
tbrowder ok
AlexDaniel it is related to :caption
tbrowder noted... 11:25
AlexDaniel tbrowder: let me know if that's something we should fix in rakudo before the release or if it's just something that needs to be adjusted in Pod::TreeWalker
(or maybe it's something we should ignore altoghether…)
tbrowder how much time to release? 11:26
AlexDaniel tbrowder: many-many hours :) 11:27
tbrowder roger...
AlexDaniel Zoffix: IIRC wander was using emails to leave their comments, and RT shows them only a few days later 11:28
with unknown success rate… 11:29
.tell wander by any chance, does that sound relevant? irclog.perlgeek.de/perl6/2017-12-15#i_15583699
yoleaux AlexDaniel: I'll pass your message to wander.
samcv ok so i have tests now that test lots of codepoints 11:30
tests Name of all codepoints except Hangul's and LineBreak and GeneralCategory 11:31
takes ~14s to run, but if you parallel it then it's faster
tbrowder ref treewalker, in the test table change “:caption(‘Foo and Bar”) to “:caption<Foo and Bar>” and it should test ok.
samcv but it uses nqp so it probably needs to go in rakudo test set
AlexDaniel tbrowder: yeah, but why was it working before and now doesn't? 11:39
samcv: that sounds awesome!
FWIW current blockers: github.com/rakudo/rakudo/labels/%E...0%E2%9A%A0
huggable: no release :is: See current blockers: github.com/rakudo/rakudo/labels/%E...0%E2%9A%A0 11:40
huggable AlexDaniel, Added no release as See current blockers: github.com/rakudo/rakudo/labels/%E...0%E2%9A%A0
AlexDaniel huggable: blockers :is: github.com/rakudo/rakudo/labels/%E...0%E2%9A%A0
huggable AlexDaniel, Added blockers as github.com/rakudo/rakudo/labels/%E...0%E2%9A%A0
lizmat samcv: yeah, should live under "make test" 11:43
tbrowder AlexDaniel: when was before? the :caption capability as a property was recently added.
lizmat samcv: re substr(Regex), what was the issue number ?
m: say Regex ~~ Callable 11:44
camelia True
lizmat samcv: underlying issue of the problem
samcv github.com/rakudo/rakudo/issues/1314
ah 11:50
that makes more sense now :)
AlexDaniel tbrowder: before (2017-12-11) github.com/rakudo/rakudo/commit/2c...c360623c99 11:52
c: 2cd266fe08^,2cd266fe08 gist.githubusercontent.com/AlexDan...er-regr.p6 11:53
committable6 AlexDaniel, Successfully fetched the code from the provided URL.
AlexDaniel, gist.github.com/ca337853fc2fe8640b...76c82f7969
AlexDaniel tbrowder: ↑ 11:54
lizmat samcv: still not suer why it selects the candidate that it does 11:55
tbrowder AlexDaniel: i’m stumped. the caption property fix did nothing i can tell to its representation. how it was working before-hand is a mystery since that string bug has been around since at least 2015. 12:11
Geth rakudo: samcv++ created pull request #1316:
Add tests for testing almost all Unicode codepoints
synopsebot RAKUDO#1316 [open]: github.com/rakudo/rakudo/pull/1316 Add tests for testing almost all Unicode codepoints
samcv hmm ok that pr is messed up somehow 12:12
for some reason it shows tons of other commits in the list even though i forked it straight from master 12:13
oh it's trying to merge into nom 12:14
lizmat yeah, been quite a few commits since master diverged from nom :-)
samcv ok cool that's fixed now. takes ~13 seconds single threaded and much faster if it's threaded
and is easy to add tests. all you need to do is copy the test file and change the name based on the file the test is generated from. Line_Break:LineBreak.t tests Line_Break property from LineBreak.txt 12:16
and then add an item to the hash in UnipropCheck.pm6 to tell it if it's a str/int/name
if we start passing more than we are supposed to, a todo will pass. in which case you need to change the number for %expected-loses hash and then the it will then be todo'd and failing (well until which case we get to passing all of them) then it won't be todo'd and won't pass 12:18
which makes sure we get positive confirmation of fixes and negative confirmation of having more failures 12:19
Geth rakudo: 1da698ab04 | (Elizabeth Mattijsen)++ | src/core/Str.pm
At least temporarily fix GH #1314

  - Regex ~~ Callable is True, that's why it is trying to call it
  - adding a Regex candidate for start did *not* fix the issue
  - I assume that somehow the coercing makes the candidate narrower
  - so fixed by checking for Regex then and there
It should be noted that this reminded me of an issue that the sub version of an action should call the method version, not the other way around.
  "substr" and others are cases where we didn't fix this yet. Should maybe
looked at after the 2017.12 release.
synopsebot RAKUDO#1314 [open]: github.com/rakudo/rakudo/issues/1314 [LTA] Bad error when mistakenly using `substr` as `subst`
tbrowder AlexDaniel: i see treewalker passing now??? 12:43
never mind, faked out by last test 8 days ago 12:44
one more possibility: test looks for caption property but skips test if property doesn’t exist, so old test worked but now quote prob surfaces. 12:54
i recommend changing table caption test to use <> for now to see if that passes. that also should be the best-practice form anyway imho. 13:03
AlexDaniel well yeah the tests pass if you use <> 13:23
tbrowder AlexDaniel: are you still awake? 14:18
.tell AlexDaniel my theory is correct. treewalker tests for the caption property and uses it as is if it has content (with bad quotes). if it doesn’t exist, then the value of the config caption key is used AND it is stripped of bad quotes (but the caption property is not stripped). thus the recent failure coincides with the addition of the caption property. 14:23
yoleaux tbrowder: I'll pass your message to AlexDaniel.
RabidGravy Hmm AMQP maybe more complicated than my brain thinks it is, I've typed about half my planned length and I've only got to the first example :-\ 14:56
AlexDaniel tbrowder: sooo… how do we fix it if we want to keep it functional for older rakudos also? 15:09
yoleaux 14:23Z <tbrowder> AlexDaniel: my theory is correct. treewalker tests for the caption property and uses it as is if it has content (with bad quotes). if it doesn’t exist, then the value of the config caption key is used AND it is stripped of bad quotes (but the caption property is not stripped). thus the recent failure coincides with the addition of the caption property.
tbrowder add the stripping action to the treewalker code for the capture property. 15:57
timotimo Zoffix: it's hard to figure out why a given change to the jit causes things to break, because it has big ripple effects; one op missing can prevent entire routines from being jitted, and an inline that wasn't possible before can cause a frame to suddenly have a non-jittable op in it; that was the case with these exception ops 15:58
yoleaux 02:36Z <Zoffix> timotimo: the R#1308 release blocker is due to a JIT commit you made. Perhaps you'd know more what the problem is? I tried to fix it but failed. Some of the info on the bug I gathered: github.com/rakudo/rakudo/issues/13...-352154785
06:21Z <Zoffix> timotimo: One thing I noticed in graph.c, category is MVMint32, but in interp.c it's a MVMuint32 and I think I seen it as MVMint16 somewhere too. Dunno if it matters; tried making 'em the same, but that didn't fix nothing
synopsebot R#1308 [open]: github.com/rakudo/rakudo/issues/1308 [SEGV][severe][⚠ blocker ⚠] Frequent-ish SEQV in Perl 5 integration tests
tbrowder just as it does now for the same data extracted via the config<caption> access
Geth rakudo: 8159e38370 | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/Perl6/Actions.nqp
Revert "optimize postfix incr to prefix when unwanted"

This reverts commit d98ccea278d1adb23c51139f5572bce840ac6657.
  See issue #1315.
16:15
synopsebot RAKUDO#1315 [open]: github.com/rakudo/rakudo/issues/1315 [⚠ blocker ⚠] Postfix→Prefix optimization is too early
Geth rakudo: ae6177ca2f | (Aleks-Daniel Jakimenko-Aleksejev)++ | 10 files
Revert "Revert "Replace postfix ++/-- with prefix where possible""

This reverts commit 370073fcda072566860b970ebf51d4f167945bd9.
  See issue #1315.
AlexDaniel huggable: blockers 16:19
huggable AlexDaniel, github.com/rakudo/rakudo/labels/%E...0%E2%9A%A0
AlexDaniel OK, then the JIT issue is the only one blocking
tbrowder AlexDaniel: i have filed PR #4 with treewalker which should fix tests for current and future rakudo 16:28
AlexDaniel tbrowder: OK. 16:32
timotimo Zoffix: another thing you can try after MVM_JIT_DISABLE is MVM_INLINE_DISABLE and MVM_JIT_EXPR_DISABLE 16:49
AlexDaniel: it's rather easy to fix the postfix/prefix optimization. just have to check $!symbols.is_from_core('&postfix:<++>') and maybe also $!symbols.is_from_core('&prefix:<++>') and the corresponding -- forms in src/Perl6/Optimizer.nqp near line 1500 16:58
i might not have any opportunity to do and test that before release time happens
hm, actually, that part of the optimizer seems to only be about native integer ++ and -- 17:03
not sure where it switches the two around 17:05
TimToady my feeling is anyone who violates the semantic contract of the base operator that way is just asking for it anyway 17:19
geekosaur is imagining one of his favorite copypasta schemes
TimToady there are lots of operators that assume their contract is not overridden like that 17:20
geekosaur 4 cases neary identical but as two opposites: write one, copy to first opposite (and miss simething fixing it up to be the opposite), copy back under first to make the second opposite, copy back under second to complete, forget a fixup at each step, sudenly everything's bass-ackwards 17:21
TimToady guess what happens if you override comma?
or EVAL
some operators really are "reserved", at least in how you override them, and I'd argue postfix:<++> is in that category 17:25
and, this is the kicker, if you really follow the contract of the base operator, you *want* that optimization 17:26
AlexDaniel greppable6: sub\ prefix
greppable6 AlexDaniel, gist.github.com/ce60156c9adeaddba4...07d11e18c5
AlexDaniel greppable6-- markdown escaping 17:27
greppable6: sub\ postfix
greppable6 AlexDaniel, gist.github.com/a57c90abe65d734027...64fb6ad858
TimToady so, I would argue that making it optimize only the built-in postfix:<++> would be, in fact, a bug 17:28
it's an interesting question whether we should attempt to optimize the atomic versions, though... 17:32
timotimo m: my int $foo; sub postfix:<++>(int $a is rw) { say "oh"; $a + 1 }; $foo++ 17:34
camelia ( no output )
timotimo ^- do we want this?
Zoffix
.oO( add a `is not-opt` trait )
17:35
TimToady well, more generally, we could make all optimizations trait-based
and then if you equiv to a different op it borrows its traits
or borrow the name of, I guess, in this case 17:36
Zoffix There's also a ticket for related topic: should Unicode ops be proper aliases to ASCII versions: rt.perl.org/Ticket/Display.html?id...et-history
TimToady but at some point you have to have some axioms
I think the ASCII ops should be proper aliases to the Unicode versions :P 17:37
Zoffix :D 17:38
AlexDaniel IIRC that was the case with ∘ 17:39
786:my &infix:<o> := &infix:<∘>; 17:40
yea
Zoffix timotimo: MVM_INLINE_DISABLE=1 MVM_JIT_EXPR_DISABLE=1 both set still have the segfaulkt
timotimo oh, it has to be MVM_SPESH_INLINE_DISABLE 17:41
TimToady so you see I was thinking that direction when I added infix:<∘> already
but yeah, we could do the aliasing better
Zoffix timotimo: tried all these and still segfaults: MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 MVM_SPESH_OSR_DISABLE=1 MVM_SPESH_INLINE_DISABLE=1 MVM_JIT_EXPR_DISABLE=1 ./perl6 t.t 17:43
timotimo huh 17:44
Zoffix also nine++ commented on the ticket: "So it looks like when P5 code is calling back into P6 code, the P6 subs return value goes missing (retval is NULL). Note that callbacks go through good old fashioned dyncall code." 17:45
timotimo just looking at that right now
nine Yeah, code in question is SV * retval = cbs->call_p6_callable(p6mg->index, args_rv, &err); 17:46
cbs->call_p6_callable is a function pointer passed to from Perl 6 code p5_init_callbacks. 17:47
timotimo Zoffix: if you only comment out one of the cases (throwpayloadlex or throwpayloadlexcaller) which one avoids the bug, i wonder? 17:48
Zoffix IIRC throwpayloadlexcaller 17:49
Zoffix tries again
timotimo hm, if it still does that with inline disabled ... :\
nine The callback sub should be this one: github.com/niner/Inline-Perl5/blob...5.pm6#L775
I guess the CONTROL block is the one thing that's very unusual about that code? 17:50
timotimo you could try removing that, that could be interesting
nine on it 17:51
timotimo and how about doing it without return?
Zoffix Yeah, commenting out `case MVM_OP_throwpayloadlexcaller` avoids segfault gist.github.com/zoffixznet/e9a216b...75cdf1cd48 17:52
nine Always fails with CONTROL block, never fails without CONTROL block 17:53
Also simply moving the return statement to the end of the sub prevents the segfault
timotimo that's perhaps the "throw out returns at the end of subs" optimization we might have 17:55
nine removing the "return" doesn't change anything
Zoffix m: sub foo { warn; CONTROL { default { say "meow"; .resume } } }()
camelia meow
Zoffix m: sub foo { warn; CONTROL { default { say "meow"; .resume } }; return 42 }()
camelia meow
This exception is not resumable
in block at <tmp> line 1
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1

meow
Zoffix weird this difference happens, no? 17:56
running with --optimize=0 still has the segv 17:57
compiling moar with perl Configure.pl --no-optimize --optimize=0 still has segv 17:58
nine Something related to exceptions screws up when JITed and a CONTROL block is present. How much code can that be to look through? 18:00
timotimo control blocks introduce a handler for control exceptions; $_.resume shouldn't do something throwish, though, i don't think? 18:03
and returning with "return" also goes through throwing 18:04
throwpayload was an optimization introduced for, among other things, returning
b2gills Note that that postfix:<⚛++> is faster than prefix:<++⚛> which is the opposite of postfix:<++> and prefix:<++>
timotimo so we don't actually allocate a full exception object for "return" any more since that change
Zoffix timotimo: the opt for $++ turned into ++$ was recently reverted github.com/rakudo/rakudo/commit/8159e38370 . Though I don't know why m: my int $foo; sub postfix:<++>(int $a is rw) { say "oh"; $a + 1 }; $foo++ still goes through some optimization. 18:06
timotimo yeah, that's a different optimization 18:07
Zoffix --optimize=0 still has that behaviour
timotimo --optimize on perl6 binary?
Zoffix yeah
timotimo rakudo has a --optimize=off that turns the optimizer offer than --optimize=0 does
though i thought the ++ optimization requires at least level 2 18:08
Zoffix same thing
(I mean optimization still happens)
timotimo huh, ok, don't know why that is
Zoffix --target=ast: - QAST::Stmt <sunk final> $foo++ 18:09
- QAST::Want <sunk>
- QAST::Op(call &prefix:<++>) <sunk> :statement_id<?> ++
Actions, line 257 got an opt 18:10
timotimo it already does it in the parser, eh?
Zoffix yeah
also on line 382 18:11
timotimo ok, that's not about ++, though, right?
Zoffix elsif $node.name eq '&postfix:<++>' { $node.name('&prefix:<++>') }
nine timotimo: note that the .resume won't trigger in our examples 18:12
timotimo i just pulled newest rakudo and that doesn't exist anywhere in my Actions.nqp 18:13
tbrowder .ask AlexaDaniel since you’re supporting backward compatibility for the config quote issue, does that mean a fix should be in 6.d? but i’m not sure it’s a good idea to support a user’s work-around for a known problem. (what do you think about adding a note or warning to that effect in the docs?)
yoleaux tbrowder: I'll pass your message to AlexaDaniel.
Zoffix Oh, whoops
Sorry, I wasn't on latest
timotimo is that what was reverted recently?
i only glanced the commit and it looked like all it did was replace $foo++ with ++$foo all over the core setting 18:14
Zoffix A yeah. I didn't even look at the commit.
This one github.com/rakudo/rakudo/commit/8159e38370
timotimo i didn't look at this one at all %) 18:15
timotimo is really mostly just fumbling 18:17
Zoffix timotimo: ok, src/Perl6/Optimizer.nqp:1498 18:18
That's where it still happens for natives it seems
oh wait ignore me :)
timotimo right, that's the one that removes calls completely
and inlines what it considers the right behavior for ++ and -- to be
Zoffix Ah, then it *is* it? 'cause I don't see any calls to postfix/prefix ops 18:20
in --target=optimize
just QAST::Op(add_i)
timotimo yeah
this is the one that could ask $!symbols.is_from_core
MasterDuke if i understand the sequence, lizmat converted postfix++ to prefix++ manually, then TimToady added an optimization to do it automatically, then lizmat reverted her commit, then AlexDaniel reverted her revert and TimToady's commit? 18:22
AlexDaniel correct
AlexaDaniel . 18:23
yoleaux 18:13Z <tbrowder> AlexaDaniel: since you’re supporting backward compatibility for the config quote issue, does that mean a fix should be in 6.d? but i’m not sure it’s a good idea to support a user’s work-around for a known problem. (what do you think about adding a note or warning to that effect in the docs?)
AlexDaniel tbrowder: no, please fix POD stuff right away
tbrowder ok 18:24
AlexDaniel tbrowder: my point was that if we're fixing a module, then this fixed module should still work on older rakudos (which is what your PR does, if I understand correctly)
so everything is OK 18:25
tbrowder what time zone are you in? you seem to be always working?
ref the module PR: that is a work-around that may not work any more after my quote fix, that is my concern. 18:27
MasterDuke i'm not thinking very quickly today, what's the most generic type that couldn't be a Slip?
Zoffix m: Slip.^mro.say 18:30
camelia ((Slip) (List) (Cool) (Any) (Mu))
Zoffix Anything that ain't those
m: Slip.^roles.say
camelia ((Positional) (Iterable))
Zoffix and those
MasterDuke hm, that doesn't leave very many "generic" types 18:31
Zoffix yeah 18:32
s: &infix:<orelse>
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/4fca...rs.pm#L759
Zoffix ^ another way to handle args without having Slip types slip in 18:33
(if that's what you were trying to do that is) 18:34
MasterDuke '+$' ?
Zoffix and then nqp::p6argvmarray
MasterDuke yeah, i was going to see if some specialized infix:<,> candidates would be faster 18:35
Zoffix m: use nqp; sub (+a) { dd [a, nqp::p6argvmarray()] }(Empty, Empty)
camelia [(), (Empty, Empty)]
MasterDuke right now there's only `multi sub infix:<,>()` and `multi sub infix:<,>(|)`
AlexDaniel tbrowder: UTC+02:00, it's just that my sleeping pattern is a bit irregular i.imgur.com/kpPyuRE.png 18:36
Zoffix hah, I can't believe you got a graph for that
AlexDaniel still a bit unfinished, but it's made with perl 6 \o/ 18:38
Zoffix \o/
tbrowder wow! medical researchers might be interested in that data. do you use some kind of digital tracker like a fit bit to collect the sleep data? 18:56
AlexDaniel no, I just clock in org mode ( orgmode.org/manual/Clocking-commands.html ) 18:58
my laptop is the first/last thing I touch when I go to bed anyway, and two key presses is really not that hard 19:00
tbrowder ah, you must use org mode for your all-purpose life organizer, too.
AlexDaniel no, unfortunately. For that I have a private wiki :)
tbrowder cool... 19:04
Zoffix So I added a bunch of prints: gist.github.com/zoffixznet/f235488...0568453f66 When I run the segfaulting code, MVM_get_exception_payload shows as it's being called but printf("ZJIT: MVM_OP_getexpayload in\n"); never gets called even tho printf("ZJIT: MVM_OP_throwpayloadlexcaller in\n"); does show up. 19:22
Does that say anything?
running with MVM_SPESH_NODELAY=1
bartolin bisectable6: sub Foo(uint32 :$bar) { say $bar }; Foo(:bar(4)) # RT #127813 19:36
bisectable6 bartolin, Bisecting by exit code (old=2015.12 new=ae6177c). Old exit code: 1
synopsebot RT#127813 [open]: rt.perl.org/Ticket/Display.html?id=127813 [BUG] "Bytecode validation error at offset ..., instrucction ..., operand type 160 does not match register type 152"
bisectable6 bartolin, bisect log: gist.github.com/47a02a1d446c9ca3b1...8f7a450c29
bartolin, (2016-08-19) github.com/rakudo/rakudo/commit/25...b0673f26e2
bartolin Get: ver github.com/rakudo/rakudo/commit/25...b0673f26e2 19:38
Geth: ver github.com/rakudo/rakudo/commit/25...b0673f26e2 19:39
Zoffix it's broken
bartolin hmm
ok will look manually, thanks
Zoffix If I comment out `case MVM_OP_lastexpayload:` in src/jit/graph.c, the segfault goes away.... 19:42
And ZJIT: MVM_OP_getexpayload in shows up... 19:43
timotimo: does that say anything? I see lastexpayload was mentioned in the commit that caused the segv
I guess that just makes teh buggy code avoid JIT and not explode 19:49
brrt whats exploding 19:51
oh, lastexpayload.
Zoffix c: HEAD use lib '/home/bisectable/git/whateverable/sandbox/Inline-Perl5/lib'; for ^1000 { EVAL('sub { shift->() }', :lang<Perl5>)({;}) }
committable6 Zoffix, ¦HEAD(ae6177c): « «exit signal = SIGSEGV (11)»»
brrt i recall that one asploding multiple times
gotcha
Zoffix brrt: github.com/rakudo/rakudo/issues/13...-352154785 19:52
brrt that one, yes
Zoffix Any idea what it could be? It's blocking release...
brrt no, that's been mysterious for some time
Zoffix :'( 19:53
I guess that's my cue to give up and go play video games :D
brrt try reverting this in MoarVM: ba1fb954222810a87f0f5501290877fdcba6aa05 19:54
Zoffix brrt: yeah, that avoids the segv
brrt that was fast 19:55
then, revert it
Zoffix brrt: that's 'cause I already did that and mentioned on the comment :) github.com/rakudo/rakudo/issues/13...-352154785
brrt we'll figure out what it breaks after the release
Zoffix brrt: also, if I comment out `case MVM_OP_lastexpayload:` in src/jit/graph.c, the segfault goes away....
brrt uhuh 19:56
i recall that one being problematic from before
good work with the debugging :-) 19:57
Zoffix :)
OK. I think I'll go with just commenting out MVM_OP_throwpayloadlexcaller (basically part of ba1fb954222810a87f0f) 'cause looks like doing just that avoids segv.
Gonna do that after a break.
MasterDuke anybody have an idea why `multi sub infix:<,>(Str $, Str $) { nqp::p6bindattrinvres(nqp::create(List),List,'$!reified',nqp::p6argvmarray()) }` wouldn't be jitted? 20:06
i see it constructing the jit graph for 'infix:<,>', but i don't see a BAIL
a profile shows it red 20:07
hm. 2284 times it's going to the` (|)` candidate (marked as OSR), then the remaining 997716 it's going to the `(Str $, Str $)` candidate 20:14
for this code: 'for ^1000000 { my ($a,$b) = "a","b" }' 20:15
Zoffix OOC why mess with nqp::p6argvmarray if you already got 2 strings? 20:17
MasterDuke i just copied the 'no Slip' path from the (|) candidate 20:18
Zoffix Ah
right it's infix:<,>; makes sense 20:20
MasterDuke i'm guessing that a lot of infix:<,> uses are for just two or three elements, might make sense to special case those 20:24
huh, 'my Str $aa = "a"; my Str $bb = "b"; for ^1000000 { my ($a,$b) = $aa,$bb }' doesn't even hit the `(Str $, Str $)` candidate at all 20:26
but 'my Str $aa = "a"; my Str $bb = "b"; for ^1000000 { my (Str $a, Str $b) = $aa,$bb }' does 20:27
oh, and this time it's jitted
Zoffix ZOFVM: Files=1287, Tests=152976, 155 wallclock secs (21.51 usr 3.18 sys + 3328.27 cusr 175.69 csys = 3528.65 CPU) 20:45
Geth rakudo: 53a94fe514 | (Zoffix Znet)++ | tools/build/NQP_REVISION
Bump NQP
20:54
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2017....3-gdc8f067
nqp: dc8f0671a2 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
Bump MoarVM
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...8-g0b9f809 20:55
DrForr I'm building out a POD tree that's linked back-n-forth, up--down. 21:05
manchicken Anybody from the docs team around? 21:33
I submitted a pull request this morning for the perl6/docs repo. I'd be happy to resolve the merge conflict, but I don't know how we'd like to resolve it. 21:34
Conflict: github.com/perl6/doc/pull/1715/conflicts
Zoffix tbrowder: you around? ^ looks like you'd know about which is right 21:38
manchicken I don't know if there was a reason why that column was pulled from `master`. I pulled that on the 12th. 21:39
Zoffix manchicken: looks like it's this: github.com/perl6/doc/commit/1abc77...dccce2702f 21:40
manchicken Oooh, I see the log.
(That's what I get for not `git log -u`ing)
Cool. I'll remove that from my PR :)
OK, cool. Conflicts resolved. 21:44
tbrowder Zoffix: i’ll look 21:48
oh, i see you found the ref, any probs? i was updating docs for real state of pod as i know it 21:50
Zoffix tbrowder: yeah, we figured it out. Thanks. 22:01
timotimo the day 1 advent post still has the most views and visitors by far 23:49
MasterDuke annoying. `my @b = <5 6>;` causes: Ambiguous call to 'infix:<,>'; these signatures all match: :(Int $, Int $) :(Str $, Str $) :(Int $, Str $) :(Str $, Int $) 23:54
Zoffix It's cause they are IntStrs; you can stick `is default` on one of 'em 23:55
m: multi z (Int) { say "here" }; multi z (Str) { say "there" }; z <42> 23:56
camelia Ambiguous call to 'z'; these signatures all match:
:(Int $)
:(Str $)
in block <unit> at <tmp> line 1
Zoffix m: multi z (Int) is default { say "here" }; multi z (Str) { say "there" }; z <42>
camelia here
MasterDuke huh, wonder if that error message can be improved to include the signature that it's checking
yep, i tried adding a :(IntStr $, IntStr $) candidate, but then i had to move allomorphs.pm before List.pm and that broke 23:57