MasterDuke dogbert17: do you get a segv in t/spec/S17-supply/supplier-preserving.t if you run it with valgrind? 00:27
oh, not segv, `Process terminating with default action of signal 6 (SIGABRT): dumping core` 00:28
Zoffix $ perl6 -e 'run(:out, "bash").out.t.say' 00:33
Segmentation fault
:)
MasterDuke nice, and it got it in valgrind. want me to create a moarvm issue? 00:38
*i got
Zoffix Go for it. 00:43
MasterDuke++
MasterDuke github.com/MoarVM/MoarVM/issues/561 00:44
.ask dogbert17 do you get a SIGABRT in t/spec/S17-supply/supplier-preserving.t if you run it with valgrind? 01:28
yoleaux2 MasterDuke: I'll pass your message to dogbert17.
01:35 bloatable6 joined
samcv hello all 01:53
yoleaux2 00:05Z <AlexDaniel> samcv: if I'm getting ā€œshould eventually be unreachableā€ thingy in my code, what does it mean?
samcv AlexDaniel, it means you need to update
unless you are already updated. in which case. please let me know. but it shouldn't happen anymore 01:54
AlexDaniel This is Rakudo version 2017.03-28-ga01d6794d built on MoarVM version 2017.03-22-ga00278e6
samcv also it means "something in MVM tried to get a property value for a codepoint less than 0"
but whoever wrote the error wrote some generic thing
AlexDaniel samcv: is that updated enough? ā†‘ 01:55
samcv it should be. uhm
AlexDaniel yea, that's what I thought too
samcv hold on AlexDaniel
AlexDaniel, run this, and tell me if it passes or not gist.github.com/samcv/0df9fcc0c119...fbee6f24d7 01:56
AlexDaniel samcv: it does 01:57
samcv if that passes and you still get that error. show me the code that makes it happen, would be great
AlexDaniel samcv: mmmhmm it's this: github.com/perl6/whateverable/blob...#L127-L131 01:58
I wonder if just adding XĶ«āƒ to file you gave me is going to make it fail
samcv so if i dl it and run the test then it will show that error?
great :)
adding what?
AlexDaniel ā€¦ no, that's not going to run that simply 01:59
samcv oh
can you golf it into something i can test myself?
or is that infeasable 02:00
AlexDaniel well, it's something about XĶ«āƒ
I can do that
samcv yay
also AlexDaniel are you on windows 02:01
AlexDaniel no, that test fails on the server (linux)
samcv kk
ok so no \r\n line endings, probably
AlexDaniel ooohā€¦ 02:04
GOT IT 02:07
ha
m: say ā€˜XĶ«āƒā€™ ~~ /:i x /
camelia should eventually be unreachable
in block <unit> at <tmp> line 1
AlexDaniel samcv: for a little moment it felt hopelessā€¦ but there you go! 02:08
m: say ā€˜XĶ«ā€™ ~~ /:i x /
camelia should eventually be unreachable
in block <unit> at <tmp> line 1
samcv woo
AlexDaniel m: say ā€˜XĶ«ā€™ ~~ /:i X /
camelia should eventually be unreachable
in block <unit> at <tmp> line 1
samcv crazy
AlexDaniel something about :i
samcv bisectable6, say ā€˜XĶ«āƒā€™ ~~ /:i x /
bisectable6 samcv, Bisecting by exit code (old=2015.12 new=a01d679). Old exit code: 0
samcv, bisect log: gist.github.com/4f31e1270108a6049b...b4a0ab00e9 02:09
samcv, (2017-03-10) github.com/rakudo/rakudo/commit/22...9854e33739
samcv ah ok
AlexDaniel ā€œcase insensitive string compare fixā€ :)
samcv well it did fix a way worse bug
which could affect every character
not matching if there were things that got longer on casefolding it'd be off
AlexDaniel well, I'm happy that I have a bunch of whateverable tests :) 02:10
samcv hmm i wonder if anything changes length on lowercasing
and nobody ever noticed that bug so far, cause it's always been there
AlexDaniel what do you mean?
samcv unicodable6, { my $char = .chr; $char.lc.chars != $char.chars } 02:11
AlexDaniel commit: 22f00cd7^ say ā€˜XĶ«āƒā€™ ~~ /:i x /
committable6 AlexDaniel, Ā¦22f00cd7^: Ā«NilĀ»
samcv like that
unicodable6 samcv, Found nothing!
AlexDaniel commit: 22f00cd7^ say ā€˜XĶ«āƒā€™ ~~ /:i X /
committable6 AlexDaniel, Ā¦22f00cd7^: Ā«NilĀ»
AlexDaniel hm
samcv unicodable6, { my $char = .chr; $char.fc.chars != $char.chars }
unicodable6 samcv, U+00DF LATIN SMALL LETTER SHARP S [Ll] (Ɵ)
samcv, U+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE [Ll] (ʼn)
AlexDaniel commit: 22f00cd7^ say ā€˜XĶ«āƒā€™ ~~ /:i ā€˜xĶ«āƒā€™ /
committable6 AlexDaniel, Ā¦22f00cd7^: Ā«ļ½¢XĶ«āƒļ½£Ā»
unicodable6 samcv, 80 characters in total: gist.github.com/77540a7d5181b62dcd...3c78deaf20
samcv there's things that change length on uppercasing or tc for sure at least. so i guess that's why was never visible cause nothing so far at least expands under lc. 02:12
AlexDaniel oh
samcv: want me to file a ticket for that?
samcv oh no, that is fixed.
well it doesn't do that anymore
AlexDaniel commit: 22f00cd7^,22f00cd7 say ā€˜XĶ«āƒā€™ ~~ /:i x / 02:13
committable6 AlexDaniel, Ā¦22f00cd7^: Ā«NilĀ» Ā¦22f00cd: Ā«should eventually be unreachableā¤ in block <unit> at /tmp/IJ3U5MEMuW line 1ā¤ Ā«exit code = 1Ā»Ā»
samcv now the problem is that we need to use the new nqp::indexic function to search instead of nqp::index
AlexDaniel for this thingy I mean ā†‘
samcv oh
nah
not yet
AlexDaniel :)
02:14 bloatable6 joined 02:16 bloatable6 joined
samcv good thing for gdb. also lol MVM_string_equal_at_ignore_case (tc=<optimized out>, 02:19
haystack=<optimized out>, needle=<optimized out>, h_offset=<optimized out>)
well that's good
but need to remove optimize to debug this
someday in the far future everything will be optimized out. including humans maybe. you never know 02:21
AlexDaniel .tell timotimo d=ā€¦ thingy is done. See github.com/perl6/whateverable/wiki/Bloatable
yoleaux2 AlexDaniel: I'll pass your message to timotimo.
samcv yeah trying to get the property value of -2 02:22
for the case folding property. ah. ok makes way more sense 02:23
ok i think i've almost fixed it 02:32
yeah i fixed it. just gotta run spectest
good find AlexDaniel++ 02:34
very happy you found that
02:48 ilbot3 joined
AlexDaniel whateverable++ :) 02:48
samcv ok yeah it's all good i think 03:06
passing 'MVMCodepoint **' (aka 'int **') to parameter of type 03:11
'const MVMCodepoint **' (aka 'const int **') discards qualifiers in nested pointer types
[-Wincompatible-pointer-types-discards-qualifiers]
...= MVM_unicode_get_case_change(tc, h_g, MVM_unicode_case_change_type_fold, &h_result_cps);
well it works. this error is mostly harmless but maybe it was giving that warning before 03:12
at least on clang
oh it's new, but because the new function i have to use for synthetics doesn't have const. so that's fine 03:13
copying and pasting it is messing up this thing. AlexDaniel if i send you a patch can you reinstall mvm and test? 03:17
AlexDaniel m: say ā€˜XĶ«āƒā€™.ords 03:18
camelia (88 875 8413)
samcv ok thanks
AlexDaniel m: say (88.chr ~ 875.chr ~ 8413.chr) ~~ /:i x /
camelia should eventually be unreachable
in block <unit> at <tmp> line 1
AlexDaniel m: say (88.chr ~ 875.chr) ~~ /:i x / 03:19
camelia should eventually be unreachable
in block <unit> at <tmp> line 1
samcv m: say so (88.chr ~ 875.chr ~ 8413.chr) ~~ /:i /
camelia True
samcv wat
is there invisible things i'm not seeing or... is thaht a bug 03:20
also really weird
AlexDaniel hmmmm a null regex
no, no symbols
samcv bisectable6, say 'blah' ~~ /:i / 03:21
bisectable6 samcv, On both starting points (old=2015.12 new=a01d679) the exit code is 0 and the output is identical as well
samcv, Output on both points: Ā«ļ½¢ļ½£Ā»
samcv well at least it's not wrong
even if it's incorrect
AlexDaniel m: say 'blah' ~~ / /
camelia ===SORRY!=== Error while compiling <tmp>
Null regex not allowed
at <tmp>:1
------> say 'blah' ~~ / /ā<EOL>
samcv should show a warning but still work i *think*
oh compile error
well an empty string is inside any string 03:22
AlexDaniel m: say 'blah' ~~ /:r /
camelia ļ½¢ļ½£
samcv so it's not really wrong
AlexDaniel m: say 'blah' ~~ / ā€˜ā€™ /
camelia ļ½¢ļ½£
samcv just not proper
well at least it's not a new bug
or maybe that's bad. but at least it means it's not my fault ;)
geekosaur null regex rejected is avoiding another perl5 trap
samcv yes 03:23
ok well this works AlexDaniel. can you compile mvm if i commit and test. idk how your selver is setup 03:24
AlexDaniel I'm using rakudobrew
samcv but it totally works and passes all spectests
k
Geth MoarVM: 498a21d8f3 | (Samantha McVey)++ | src/strings/ops.c
Fix case insensitive string compare bug when synthetics in haystack

If we have a synthetic in the haystack, we have to do more work and use the MVM_nfg_get_case_change function which will properly work with synthetics.
This fixes a bug that would cause error "should eventually be unreachable" on doing case insensitive regex or other case insensitive ops.
03:28
AlexDaniel bisect: old=XĶ«āƒ say 42 03:36
ahā€¦
rightā€¦ 03:37
I always forget that this happens
samcv what happens? 03:53
oh. it messed it all up
AlexDaniel samcv: all unicodable tests are OK
that's all I can say :)
samcv yey
would you be able to add some tests to roast for me 03:54
or should i do it. idk maybe you have a good assortion of random unicode junk to use
AlexDaniel samcv: I'm trying to go to bed for the last 2 hoursā€¦ :)
so would be nice if you did it
samcv ok :)
i can do it later then 03:55
AlexDaniel and no, I don't have unicode junk :(
samcv i will have to aquire some random unicode text
AlexDaniel but now I wonderā€¦ there are some crazy unicode files on the internet built exactly for this purpose
samcv idk i need some like text files that are all in different languages
tbh
but project gutenburg is only in english and other noncrazy languages
yeah there are AlexDaniel. 03:56
they are hard to copy and paste though :P
more just complicated real world things. i have sources of weird unicode that is horrible and looks crazy. but want things in multitude of scripts and such 03:57
maybe use wikipedia and copy some common pages that have articles in all languages ever
AlexDaniel or maybe some random testing can help? 03:58
samcv well yeah. but i need a bunch of sources first
so ideally i'll get text files of every script and can run the same tests on each one 03:59
similar to gist.github.com/samcv/0df9fcc0c119...fbee6f24d7
but also for things like regex and other things
AlexDaniel oh right
samcv also i think most of those hangul are already in NFC form
so ideally would want to make it in NFC/NFD inconsistently and there's many things 04:00
bbs
04:05 unicodable6 joined, bisectable6 joined, benchable6 joined, committable6 joined, evalable6 joined, bloatable6 joined, statisfiable6 joined
Geth MoarVM: a8448142d8 | (Samantha McVey)++ | 2 files
Improve description for "should eventually be unreachable" error

Change the error to: Error, MoarVM cannot get Unicode codepoint property for synthetic codepoint %i
04:44
samcv very good. no more "should eventually be unreachable" errors. and if it does happen it'll at least tell the user wtf happened
jnthn, we're getting compile errer msdn.microsoft.com/en-us/library/1kay26wa.aspx C2036 05:48
on appveyor builds ci.appveyor.com/project/moritz/rak...crvin#L387
06:38 brrt joined 07:10 domidumont joined 07:17 domidumont joined 07:41 brrt joined 09:02 zakharyas joined 09:09 Ven joined 09:15 brrt joined
brrt good * #moarvm 09:15
timotimo hey brrt 09:17
yoleaux2 02:21Z <AlexDaniel> timotimo: d=ā€¦ thingy is done. See github.com/perl6/whateverable/wiki/Bloatable
timotimo so what do i do to check out exprjit stuff with c calls? :3 09:18
brrt you check out even-moar-jit, compile and run the following gist 09:20
samcv hey brrt 09:21
brrt gist.github.com/bdw/bcbe317c1f4753...ac8e56b68f
hey samcv, timotimo
that will compile a call to 'say'
it won't use the value, though 09:22
there's a bunch of things i haven't done to get to 'production quality'
but, it will compile, spill, order arguments, invoke and reload 09:23
and i think that's pretty neat, tbh
timotimo "use the value"?
brrt i can't guarantee any of the topological sort stuff works well either, because, well, it hasn't been used yet
return value of any C function, i mean
timotimo ah, ok
that shouldn't be terribly bad? 09:24
brrt to do? no, but, %rax is now my spare register, so i need to insert a move to an allocated register
that wants some additional logic
timotimo do we still have an env var to turn exprjit on? 09:27
brrt no, it's on by default
you have to turn it off
timotimo when it encounters stuff that requires c call return values, will it just refuse to jit that part, or will it get a bogus result? 09:28
hm 09:29
but if i can compile that gist, that means it gets through the compiler
brrt there are no templates defined that have c call return values, yet 09:39
i need to update the plan.org file to take that into account
timotimo cool 09:40
"Can't locate Test.pm in @INC" - wow, wat?
src/jit/linear_scan.c:379:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
you have been naughty! :D
brrt wait, what 09:41
haha
you're on fedora I presume
timotimo i get the missing Test.pm from the tiler generator
brrt fedora is sometimes a huge pain with Test.pm 09:42
timotimo is fedora known for shipping a perl that has absolutely nothing?
brrt yes
timotimo wtf :)
brrt i have the same problem
but i'm using perlbrew so i'm not feeling it so badly
anyway.. i'll fix it 09:43
timotimo i'll install perl-Test now 09:44
jesus christ
a whole lot of "use of uninitialized value" from the tiler table generator 09:45
brrt so that shouldn't happen
can you send me a log?
timotimo gist.github.com/timo/1c6380cff07f1...be8f20b81f
can't wait 'til the package delivery comes here, it'll have my new mouse, which will mean i can make selections first try again 09:47
this is a perl 5.24.1, that's not old, right? 09:48
brrt noā€¦ not at all 09:56
timotimo do you have an "open" somewhere that doesn't have an "or die"?
and you're getting undefined results from slurping stuff up?
like, any untracked files on your checkout?
dogbert17_ .tell MasterDuke I'm not getting any SIGABORTS in t/spec/S17-supply/supplier-preserving.t. You haven't forgotten to turn off --full-cleanup by any chance? 10:01
yoleaux2 dogbert17_: I'll pass your message to MasterDuke.
dogbert17_ .tell jnthn the intermittent test failure in t/spec/S17-supply/supplier-preserving.t can be removed by placing a short 'sleep' before the closing of the channel. Dunno if that's the right way to fix it though. 10:03
yoleaux2 dogbert17_: I'll pass your message to jnthn.
brrt no, there's something wrong with a template
dogbert17_ .tell jnthn the bug found yesterday, invalid reads, was promptly fixed by timotimo++. I believe it only affected 32 bit systems. 10:04
yoleaux2 dogbert17_: I'll pass your message to jnthn.
brrt timotimo: thanks for that, somehow i missed it 10:16
what's the scary bit is that that didn't cause a parsing error
btw, you did do a full make reconfig, right 10:17
otherwise you're going to have the broken dynasm :-)
Geth MoarVM/even-moar-jit: db1daa9116 | (Bart Wiegmans)++ | 4 files
Fix build warnings and errors, timotimo++

perl5 Test is not available (and it is Test::More that we need, anyway; and *only* if testing). Fix a typo in the tile list, which should have been a parse error, not sure why it wasn't. Use FindBin to get the right libs.
10:20
brrt timotimo: pls try again 10:21
jnthn Bah, MSVC is picky 10:28
yoleaux2 10:03Z <dogbert17_> jnthn: the intermittent test failure in t/spec/S17-supply/supplier-preserving.t can be removed by placing a short 'sleep' before the closing of the channel. Dunno if that's the right way to fix it though.
10:04Z <dogbert17_> jnthn: the bug found yesterday, invalid reads, was promptly fixed by timotimo++. I believe it only affected 32 bit systems.
timotimo brrt: k 10:32
brrt: was just changing some hardware stuff around in my desktop, so was afk 10:33
brrt no worries
timotimo oh, huh. i was convinced i had ordered this stuff to be delivered to my home, but it seems i ordered it to a pick-up station instead 10:34
no more warnings 10:35
and also no compiler error
oh? 10:37
general_purpose_register_specnot yet implemented
is that expected?
Build tree out of: [const_i64_16, const_i64_16, add_i, const_s, say, add_i, ] 10:39
<3
but after that it only outputs "starting compilation", "emit throwish control guard" and that's the end of the jitlog
so maybe it didn't end up compiling that after all? 10:40
dogbert17_ jnthn: if you've had your morning coffee there's a gist that might possibly be of interest: gist.github.com/dogbert17/ea5855ab...86c2f24f62 10:46
timotimo that's the one where gumbo frees something but the author of the gumbo library didn't consider that?
hm. maybe not. 10:47
dogbert17_ timotimo: could be just noticed in the RT that jnthn was interested in the gdb output 10:48
timotimo ah, ok
dogbert17_ timotimo: thx for helping out with the small bigints yesterday 10:50
timotimo sure, easy as pie :)
dogbert17_ :)
timotimo (yes, easy as a position-independent executable) 10:51
11:05 domidumont joined 11:42 Ven joined
brrt no, not expected 11:49
where do you see that?
oh, i knowā€¦
i know, maybe 11:50
i hadn't tested the bit where i had a register spec implemented
timotimo oh? 12:21
so a few commits back it would have worked?
yay, i have a mouse again 12:24
a working mouse, that is
Zoffix Can anyone tell me what this code does? github.com/MoarVM/MoarVM/blob/mast...#L352-L373 12:28
timotimo github.com/MoarVM/MoarVM/blob/mast...#L304-L398 12:33
that's what it does ^
Zoffix Thanks. 12:34
brrt timotimo: i'm checking it now :-)
timotimo cool
brrt oh, yeah, that's a twofold problem 12:47
a): tiling doesn't distinguish properly between void and nonvoid calls
(the resolution for that is to split these)
b): the %rax register is not a nonvolatitle register and therefore not special-cased 12:48
thus we can't compile it
14:00 Ven joined 14:29 zakharyas joined 14:37 AlexDaniel joined 15:13 Ven joined 15:44 brrt joined 18:31 domidumont joined 19:36 AlexDaniel joined
lizmat .tell jnthn re gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 , it occurred to me by adding a maximum size option to ConcBlockingQueue (so it will block when trying to push when it's full) would also automatically give Channels backpressure 20:16
yoleaux2 lizmat: I'll pass your message to jnthn.
lizmat left a comment at gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 20:47
jnthn There's already a bounded conc queue in the ecosystem, but yeah, we could introduce a bound there too 21:40
yoleaux2 16:32Z <Zoffix> jnthn: SmokeMachine's CLA has been received by TPF, and per [Coke] ( irclog.perlgeek.de/perl6-dev/2017-...i_14318800 ) a commit bit can be given. The github username's "FCO" github.com/FCO
20:16Z <lizmat> jnthn: re gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 , it occurred to me by adding a maximum size option to ConcBlockingQueue (so it will block when trying to push when it's full) would also automatically give Channels backpressure
samcv good *
Zoffix \o 21:41
jnthn That would make sense for ==> and friends, which we're defining (I think :)) in terms of a set of blocking producer/consumer
But not so much for .hyper/.race where there's no point having blocked threads (aside from the one working sequentially) around, when we can instead just not schedule stuff to be done until we're ready
lizmat: ^^
o/ samcv
samcv good morning
samcv yawns 21:42
lizmat jnthn: I guess my point was that nqp::push on a ConcBlockingQueue should to the scheduling bits
so it wouldn't block the thread, just like sleep doesn't anymore in 6.d
jnthn Ah 21:43
No, I don't think that's a good way to do it
sleep *does* block the thread in 6.d 21:44
It's await that is non-blocking
(await Promise.in(5) or so)
lizmat well, we could have sleep do: $*THREAD > 1 ?? await !! nqp::sleep :-) 21:45
jnthn Grr, the naming of those Internal classes is using Hyper to mean "this whole framework of things" in a bunch of places 21:47
That are applicable to hyper and race
lizmat yeah, stuff is hard :-) 21:48
jnthn Aye 21:49
Details aside, does the general idea of desugaring to a fork/join graph make sense to you?
So far as I can see, it's a general enough model for all the things we'd need 21:50
MasterDuke jnthn: any further thoughts/comments on github.com/MoarVM/MoarVM/pull/557 (native overflow detection)? 21:52
yoleaux2 10:01Z <dogbert17_> MasterDuke: I'm not getting any SIGABORTS in t/spec/S17-supply/supplier-preserving.t. You haven't forgotten to turn off --full-cleanup by any chance?
lizmat jnthn: yeah it does
for a moment I thought the HyperBatcher would need rotor semantics
but that should probably be done serially before HyperBatching 21:53
jnthn Yeah, I'd kinda concluded that all but the simplest cases of rotor would need to do that
That's probably fine, since a rotor feels like someting you're more likely to do at the start or end of an operation, not in the middle, most of the time 21:54
At the end of the day, part of effective use of .hyper and .race will be understanding that you need to write pipelines that cooperate with them :) 21:55
lizmat indeed 21:58
and wrt to unique passing the seen hashes, just passing the necessary meta information as the first element in the HyperWorkBatch would work fine more generally as well I would think
jnthn I'd prefer to pass it out-of-band in the .extra slot 21:59
Just feels a bit cleaner 22:00
We'll need to be really careful on thread safely of that thing
lizmat well, the processor is done with the seen hash at that point, so there would be no harm having another thread having a go at it, would it ? 22:01
as long as it is a single one ?
jnthn Yeah, going from the many-batches one to to the joined one is pretty safe 22:02
MasterDuke: Left comments 22:05
MasterDuke cool, thanks
jnthn If you'd rather to the split as a follow-up PR I can go with that 22:06
It feels like the right thing to do.
(splitting them, that is...I've a slight preference for doing it as part of this PR) 22:07
MasterDuke i replied, i think the split requires a lot of other work done also, it's not just changing the calls to mp_get_int64 in P6bigint.c 22:10
the attempt to split them in fact it what led me down the path of trying to add *_u ops 22:11
jnthn I just meant splitting that one function, rather than passing is_signed and doing conditionals 22:17
MasterDuke yeah, that's what i tried 22:18
jnthn Sure, but everything that's calling it now is either passing 1 or 0 for is_signed?
I'm not saying all the callers have to call the one they ultimately should 22:19
MasterDuke let me try splitting it again, it's a quick change, maybe i got mixed up while also doing that other PR 22:20
jnthn MasterDuke++ 22:23
MasterDuke arg (and yay)!! that worked 22:33
jnthn One less arg ;) 22:37
lizmat good night, #moarvm! 22:39
jnthn 'night, lizmat
MasterDuke hm, is my PR going to get messed up because i just rebased to master? 22:48
jnthn: PR updated 22:55
jnthn Looks good 23:03
MasterDuke great 23:06
m: my uint64 $a = 2**63; say $a
camelia -9223372036854775808
MasterDuke in a related branch i have that ^^^ working, but it broke some other stuff 23:07
heh, travis is so much faster when it's only doing moar and nqp 23:11
Geth MoarVM/master: 4 commits pushed by (Daniel Green)++, (Jonathan Worthington)++ 23:14
23:16 vendethiel joined