Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-04-17

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 timotimo you know
00:02 timotimo we can totally steal lots of python libraries
00:02 timotimo and just replace the Py in their names with P6
00:02 timotimo P6glet, P6Game, P6Qt, ...
00:02 timotimo P6Plot :P
00:05 timotimo not sure what other modules are fame
00:06 samcv hehehe
00:06 samcv steal their fame?
00:07 timotimo well, not really
00:07 timotimo we're not taking away from them
00:09 timotimo just getting ourselves inspired by how API could be done
00:09 timotimo and of course also seeing what couldbe done nicer when you have what perl6 has
00:10 timotimo i wonder if it'd make sense to build a module that works very much like requests, for example
00:14 timotimo okay, should get bed-ready, else lseep won't be so restful
00:14 timotimo RESTful :P
00:27 samcv heh. night!
01:49 ilbot3 joined #moarvm
01:49 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:46 samcv timotimo, btw idk why you allowed failure on coverage branch. it won't fail for pull requests i planned for this :)
02:46 samcv it also won't fail either if you fork moarvm and build travisci on another repo
02:47 samcv if [ "$TRAVIS_REPO_SLUG" != 'MoarVM/MoarVM' ]; plus also if [ "$TRAVIS_PULL_REQUEST" != "false" ] || [ "$TRAVIS_BRANCH" != "$TARGET_BRANCH"  ];
02:48 samcv or it should. hold on
02:49 samcv ah ok. i will fix this
02:56 Geth ¦ MoarVM: samcv++ created pull request #583: Make sure that coverage Travis CI executes normally except for uploading
02:56 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/583
05:21 geekosaur joined #moarvm
08:00 samcv ugh fucking travis
08:19 Sylvain31 joined #moarvm
08:24 Sylvain31 Hi, I'new to perl6 related stuff, is MoarVM a kind of base on top of which you can build any programming language? I mean with a syntax different of Perl6 or NQP? Does it offers debugger primitive or mechanism?
08:52 samcv hey Sylvain31
08:52 samcv MoarVM is written in C, not in NQP or in perl 6
08:53 samcv it is the base on which nqp and on which perl6 run
08:53 samcv but you could use it to build another programming language for sure
08:56 samcv but people have created new languages using perl 6 grammars, and using the perl 6 engine to create their own languages with different syntax. but you could effectively create another language seperate from perl 6 that complies into MoarVM bytecode and runs on MVM
09:02 Sylvain31 samcv: thanks. Do you have some examples?
09:02 samcv are you interested in creating a language and playing with that?
09:02 samcv higher level language creation  that is
09:03 Sylvain31 samcv: It a long time passion, parsing, lexer, and such. I play with it recusively ;)
09:03 samcv oh cool
09:04 samcv have you read yet about perl 6's grammars?
09:07 samcv there was a talk at fosdem https://fosdem.org/2017/schedule/event/informal_dsl/
09:07 samcv which was good
09:07 Sylvain31 I'm looking for a language for devOps, with light syntax. I experienced jinja hack in saltstack, quite awfull… I'm discoreving perl6 because I'm comparing a bunch of languages engine: bash, perl, ruby, lua, v8. I've not particular strong gloal, just for fun. I also discovered fugue with ludwig…
09:07 samcv there's this https://modules.perl6.org/dist/007
09:07 samcv ah
09:07 samcv well perl 6 is very fun!
09:08 samcv argh is the perl 6 docs site search not working... argh
09:08 samcv well here https://docs.perl6.org/language/grammar_tutorial
09:08 samcv if you like parsing that will be fun
09:09 samcv and perl 6 parses itself
09:09 samcv so it uses grammar to parse the source files
09:09 Sylvain31 samcv: I only watched some video since 3 days, I fell it with a lot of punctation… I need to learn more.
09:10 Sylvain31 I saw that perl6 has an grammar engine embedded, I'm also searching that too.
09:10 samcv but that talk i linked above. talks about creating domain specific languages using perl 6
09:10 Sylvain31 Hi, I'new to perl6 related stuff, is MoarVM a kind of base on top of which you can build any programming language? I mean with a syntax different of Perl6 or NQP? Does it offers debugger primitive or mechanism?
09:11 samcv and that grammar page is an alright tutorial on grammars
09:11 samcv it's a virtual machine
09:11 samcv you can program in nqp. or perl 6. but moarvm is like the rock
09:12 samcv it is programmed in C. and mostly just meant to be used to interpret moarvm bytecode. which as of today only nqp and perl 6 are compilers for MoarVM
09:12 samcv Model on A Runtime Virtual Machine (MoarVM
09:13 samcv so it has basic objects, but perl 6 and nqp add their own abstractions on top of the moarvm type object's.
09:13 samcv like how java runs on the JVM
09:14 samcv perl 6 runs on moarvm (though it also does run on the jvm, but it has less features and is slower to start and doesn't have several things)
09:15 samcv Sylvain31, as for a debugger. we usually use gdb for debugging moarvm level things though there's something in the works to enable printing moarvm objects to screen
09:15 samcv as well as just debugging it as you would normal c code
09:16 Sylvain31 debugger I mean debugging the top language runing in the VM.
09:16 samcv ah
09:16 samcv ok
09:17 samcv well there's a grammar debugger module. and uhm. i thought there was some perl6-debugger program but been like ages since i used it
09:17 samcv perl 6 error messages are usually pretty good.
09:18 samcv https://github.com/jnthn/grammar-debugger here is the grammar debugger
09:22 Sylvain31 error messages aren't sufficient to trace a program behavior. Often programmer use print statement altering the code, because They don't know debugger, or it is not convinient to use. I 'm in favor to have the debugger at first. The debugger just brings you to the error step by step when you know how to use it. But I'm not here to debat on debugger or not. Is it the goal of the VM to provide debugging
09:22 Sylvain31 behavior break point or such?
09:22 samcv yeah
09:23 samcv i don't think we have that, though jnthn might know better our status on that
09:23 samcv you should ask in #perl6
09:24 samcv there's many more people in that room, than in this which mosly just has people on the moarvm dev team and people fairly involved in the community. cause vm's are boring or whatever myabe ;) idk
09:24 Sylvain31 I'm found this post: https://6guts.wordpress.com/2013/05/31/moarvm-a-virtual-machine-for-nqp-and-rakudo/
09:25 Sylvain31 which seems to explain some goals, quite old thought.
09:25 samcv yep that seems about right
09:26 samcv but you can set break points in the virtual machine code. but that's not super useful when you're writing higher level perl 6 code. unless you want to see the actual functions going on inside the vm or you are a developer (i'm on the team)
09:27 samcv but nqp and perl6 are bootstrapping compilers for moarvm and jvm
09:27 Sylvain31 I'm a sysadmin devOps, I'm used with invisible stuff that seems /boring or whatever/ ;)
09:27 samcv parrot is basically totally gone. and moarvm is the premier vm, and jvm is second tier
09:27 samcv heh
09:32 Sylvain31 Thanks confirming, I had the feeling that parrot also gone away. But I'm not following especialy, so I'm discovering… I first installed my perl6 rakudo on Friday or Saturday, cool to see something special raised out… :) I still don't know what NQP is really.
09:34 Sylvain31 I'm interested if you have some minimal example, that could show me how a minimal language can run on top of MoarVM?
09:36 samcv heh nqp is like a basic perl 6 without fancy concurrency features, and many nqp functions are 1:1 mappings to MoarVM functions
09:36 samcv i would say most of them
09:36 samcv so that is why it exists
09:36 samcv uh i do not
09:36 samcv well nqp is the simplest example
09:36 samcv then there's perl 6 which is more complex
09:37 samcv Sylvain31, also if you are hungry to learn the internals https://github.com/edumentab/rakudo-and-nqp-internals-course
09:40 Sylvain31 Thanks, seems great!
09:40 samcv i recently got coverage reports continuously created for the nqp test suite on Moarvm's code. which is fun
09:41 samcv we have mostly accurate coverage for perl6 (rakudo's) code for the roast test suite for the perl 6 language https://perl6.wtf/
09:41 samcv https://moarvm.github.io/coverage/ but i got this up and running and Travis CI pushing it to github pages after each commit to moarvm. which is pretty nice
09:42 samcv moarvm has very high level of unicode support
09:42 samcv reminds me i need to write a chapter on that for somebody's perl 6 book
09:42 Sylvain31 I saw a Larry Wall video introducing perl6
09:42 samcv how old was it.
09:43 Sylvain31 which seems to eat UTF8 verry well, ;)
09:43 samcv was that around the time of perl 6 being declared stable?
09:43 samcv might be interested on my blog post i recently made https://cry.nu/perl6/indexing-unicode-things/
09:43 samcv at least i think it's exciting :X
09:44 samcv but at least even people unexcited by it still get their case insensitive regex 1.8-3x faster
09:44 Sylvain31 https://www.youtube.com/watch?v=BJIfPFpaMRI with a Vim pres, very interesting ;)
09:44 samcv the end of the world!
09:44 * samcv panics
09:44 * samcv backs up perl 6 and sends into a space capsule for aliens to find
09:45 samcv but uhm i have several fun blog posts on some neat things in perl 6
09:45 samcv creating custom operators: https://cry.nu/perl6/creating-your-own-operators-in-perl-6/
09:45 samcv and here's part one of two parts on a intro to how multithreading in perl 6 works https://cry.nu/perl6/multithreading-in-perl6/
09:45 samcv and some of the concurrency features and promises
09:47 Sylvain31 cool. You gave me enough material to make a fest. I will prepare my offline read, when traveling this week. Thanks a lot.
09:49 Sylvain31 you need to have a fun keyboard layout to introduce those lovely UTF8 chars?
09:50 samcv i use my compose key
09:50 samcv are you on linux?
09:51 samcv if so here's my XCompose file https://github.com/samcv/dot-files/blob/master/.XCompose
09:51 samcv but “yeah” it's nice to have it §o ¢ℓoße on the keyboard
09:52 samcv m: say 「look ma no \escaping!\\\\」
09:52 camelia rakudo-moar 0b5a41: OUTPUT: «look ma no \escaping!\\\\␤»
09:53 samcv which is the same as Q[blah] or Q whatever delimiter you want to use. any brackets that are matched or quotation marks that are matched really
09:53 Sylvain31 I currently use bépo layout on linux, but my vim is so blasted, I will fall back to qwerty US international during the next 2 months.
09:53 samcv or q does escaping as done by ' ' and qq does "" type escaping. but Q quoting is nice
09:54 samcv blasted?
09:54 samcv but ∋ set operators work in perl  6 for Set or Setty objects
09:56 Sylvain31 http://bepo.fr/wiki/Accueil I miss hjkl :~(
09:59 Sylvain31 samcv: thanks a lot. I will read and test all that. I leave. have a nice day.
10:04 samcv cool :) glad to help
10:05 timotimo samcv: there's even some example langs in the nqp repository
10:05 samcv oh?
10:05 samcv how are you timotimo :)
10:05 timotimo okay, there is *one* example lang :)
10:05 timotimo and i have no idea if it actually runs
10:06 Geth ¦ MoarVM: b7ce36de28 | (Samantha McVey)++ | .travis.yml
10:06 Geth ¦ MoarVM: Make sure that coverage Travis CI executes normally except for uploading
10:06 Geth ¦ MoarVM:
10:06 Geth ¦ MoarVM: Make sure that the MoarVM options still are set and built properly, but as before,
10:06 Geth ¦ MoarVM: it does not try and decrypt the key and other such things that only should happen
10:06 Geth ¦ MoarVM: on non-Pull-Requests and when it's in MoarVM/MoarVM.
10:06 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b7ce36de28
10:06 Geth ¦ MoarVM: 32b8c547f7 | (Samantha McVey)++ (committed using GitHub Web editor) | .travis.yml
10:06 Geth ¦ MoarVM: Merge pull request #583 from samcv/pull-request-coverage
10:06 Geth ¦ MoarVM:
10:06 Geth ¦ MoarVM: Make sure that coverage Travis CI executes normally except for uploading
10:06 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/32b8c547f7
10:06 samcv much better. no more failures here
10:06 samcv made the .travis.yml more tidy too
10:06 timotimo nice.
10:10 samcv made it all just one multi line key https://github.com/MoarVM/MoarVM/commit/b7ce36de28612c32e11119b6e2ff47fa651f6394
10:11 samcv err it's a muli line value not a multi line key. but i couldn't figure out how to have more than one value for a key, if any of them is a multi line one
10:11 samcv cause i don't think there's any way to end them other than starting a new key.
10:11 timotimo could very well be
10:11 timotimo yml is ... magicaly
10:12 samcv it is weird
10:12 samcv at least json i know all the rules
10:12 samcv but yaml is nicer to not have to escape things like crazy. but would be better if it had heredocs
10:12 timotimo yeah, the flow stuff is heredoc-like, but at the same time it's not
10:16 timotimo and yeah, perl6-debug-m is currently busted, potentially due to recent slang api changes
10:17 timotimo huh. i wonder if i accidentally threw out my telemeh analysis script
10:17 timotimo nope, there it is
10:19 samcv yay
10:21 timotimo it's not actually useful, the script
10:23 samcv oh
10:23 Geth ¦ MoarVM: c767f49124 | (Samantha McVey)++ | .travis.yml
10:23 Geth ¦ MoarVM: [travis] echo and identify the beginning of different stages of build
10:23 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c767f49124
10:23 Geth ¦ MoarVM: 315601d131 | (Samantha McVey)++ | .travis.yml
10:23 Geth ¦ MoarVM: [travis] make indentation consistent
10:23 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/315601d131
10:23 Geth ¦ MoarVM: ad99a1e876 | (Samantha McVey)++ | .editorconfig
10:23 Geth ¦ MoarVM: Add .editorconfig file to set indentation usage of files
10:23 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ad99a1e876
10:30 timotimo i had a neat idea for said script, but it can't be done as magically as i had hoped
10:30 timotimo https://gist.github.com/timo/42cce4904647f6a0fb2f3dc7d29dfe5a - see the StatsAbsorber class? that's what i came up with and i thought it was pretty cool
10:31 timotimo but on its own it's not as useful as i had hoped
10:36 Ven joined #moarvm
10:37 samcv oh hmm
10:37 samcv it gets written to how? stdin?
10:37 samcv hm
10:38 timotimo what is?
10:42 samcv err reads
10:42 samcv sorry
10:42 samcv the telemeh gist
10:44 timotimo it takes a filename, it defaults to stdin
10:45 samcv k
10:47 timotimo it gives you a few different percentiles of start time, for example
10:47 timotimo which ... wow, that's so useful
10:52 timotimo holy shit fraser are you serious
10:52 timotimo erinnerst du dich an die kurbel direkt wenn man rein kommt?
10:52 moritz timotimo: wrong channel?
10:52 timotimo hah, yeah
10:53 samcv i don't remember
10:53 samcv so is yoru script useful or something totally unrelated
10:54 timotimo well, at least it gets the printed data back into a datastructure you could use
12:24 Geth ¦ MoarVM: 8d5d0362b7 | (Jonathan Worthington)++ | src/io/syncstream.c
12:24 Geth ¦ MoarVM: Mark thread GC blocked when doing sync writes.
12:24 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/8d5d0362b7
12:25 jnthn Turns out there was some way to get a deadlock
12:31 dogbert17 jnthn: are you finding all these problems while writing $work code?
12:32 jnthn This one came from $work code, and the FSA performance issue affected it also
12:32 dogbert17 cool
12:34 dogbert17 is the $work code still hitting any bugs or have you managed to squash them all?
12:35 jnthn Well, certainly the majority of bugs these days aren't Moar/Rakudo's fault :)
12:36 jnthn The current one I'm hunting could turn out to be anywhere
12:37 dogbert17 yeah, stability has improved greatly the last few months
12:37 dogbert17 interesting, what is it?
12:38 zakharyas joined #moarvm
12:38 jnthn It's...odd
12:40 jnthn Hm, slurping a large file is giving an empty Buf
12:41 timotimo that's a good starting point, then. completely empty?
12:41 jnthn Yes, but if I just write a one-liner at the command line to slurp it up...works out totally fine
12:42 timotimo wouldn't make too much sense, but what if you activate an eventloop thread, or just put an empty start at the beginning?
12:42 timotimo how big is the file you're talking about?
12:43 jnthn 100MB or so
12:43 jnthn If I do it on 10 threads at once it works fine
12:44 jnthn Having an event loop thread running makes no difference
12:46 dogbert17 could it be some kind of regression relating to Zoffix++ io work?
12:46 Zoffix jnthn: using $_ here like this is safe, is it? https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Path.pm#L594
12:46 Zoffix I mean just using $_ := instead of creating a new variabl
12:47 jnthn Should be
12:47 jnthn Interesting to note that if I don't slurp $filename, :bin and instead do open/.slurp(:bin)/.close it works
12:48 Zoffix oh, that narrows down the issue :}
12:48 Zoffix jnthn: how can I repro the problem?
12:50 Zoffix jnthn: can you change IO::Path.slurp to this version and see if you still have the bug? https://gist.github.com/zoffixznet/4d20494d4ad3bbacd10f30e28f634ab7
12:50 Zoffix Replace this code with the gist's version: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Path.pm#L577-L619
12:50 jnthn Still trying to get a repro that doesn't involve a thousands of lines app wiht thousands more lines of deps
12:50 jnthn Also I'm not at HEAD 'cus of YAMLish bustage earlier
12:50 jnthn But I've seen this kind of problem happening before, only just now getting to investigating
12:51 jnthn oh wow
12:51 jnthn It only happens if you've got a thread busily at work in the background o.O
12:53 jnthn OK, can even get it to happen occasinally with a smaller file
12:53 jnthn perl6-m -e 'start { my $i; for ^100000000 { $i++ } }; await (start { slurp("/usr/share/dict/words", :bin).elems.say } xx 50)'
12:53 jnthn Run that. It occasionally spits out a zero
12:54 timotimo yeah, multiple zeroes there
12:55 timotimo interesting
12:55 timotimo telemetry log says it reads 4b9650 bytes every time
12:56 jnthn d'oh
12:56 jnthn See MVM_io_read_bytes
12:56 dogbert17 uh oh
12:56 jnthn Anyone spot the bug?
12:58 timotimo acquires mutex, but doesn't set thread blocked?
12:59 Zoffix <jnthn> Interesting to note that if I don't slurp $filename, :bin and instead do open/.slurp(:bin)/.close it works
12:59 Zoffix Doesn't work for me.
12:59 Zoffix It should be .open(:bin)/.slurp/.close tho
13:00 jnthn Zoffix: That maybe just hid the issue
13:00 Zoffix jnthn: so what's the bug in MVM_io_read_bytes? :)
13:01 jnthn timotimo: That, but that's a deadlock rather than a data loss
13:01 timotimo OH!
13:01 timotimo ssize = bytes_read
13:01 timotimo that's ... quite something
13:01 Zoffix I'm guessing the '((MVMArray *)result)' stuff at end
13:01 * Zoffix has no idea what any of that code means
13:02 timotimo no, that's not the individual size of elements
13:02 jnthn It's that we can allocate inside of reading
13:02 jnthn But result isn't anchored
13:02 jnthn So can move
13:02 timotimo ah, missing root, then
13:02 jnthn Right
13:02 timotimo so we store the data into a different object
13:02 jnthn Thus why another hard-working thread in the background shows it up
13:02 jnthn Because it causes GC
13:03 Zoffix Ah :)
13:03 timotimo yeah i absolutely didn't see that
13:03 dogbert17 Nice find
13:03 jnthn Though yeah, the whole mechanism is a bit deadlock-vulnerable because of that mutex acquisition
13:03 timotimo and just before the release, too <3
13:03 jnthn So I should harden those too
13:03 timotimo yeah
13:04 jnthn but yep, no zeros now
13:05 Zoffix \o/
13:05 timotimo hm. we could totally mark all of the old generation as unadressable with valgrind macros
13:05 timotimo when the gc is done with it, i mean
13:06 timotimo that would have made the assignment to the .slots.u8 explode in valgrind
13:06 jnthn yeah
13:06 timotimo only if gc happened in the mean time, but that's provokable with smaller nursery size
13:06 timotimo doesn't require multithreading then
13:06 timotimo ... i don't think, at least
13:07 Geth ¦ MoarVM: 34d5a46e0d | (Jonathan Worthington)++ | src/io/io.c
13:07 Geth ¦ MoarVM: Add missing MVMROOT when reading bytes.
13:07 Geth ¦ MoarVM:
13:07 Geth ¦ MoarVM: This could occasionally lead to loss of the data being read, and was
13:07 Geth ¦ MoarVM: most likely to crop up when reading a large file in a program with a
13:07 Geth ¦ MoarVM: bunch of threads that were doing work, thus causing GC more often.
13:07 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/34d5a46e0d
13:07 dogbert17 jnthn: count RT #129882 be related?
13:07 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=129882
13:08 dogbert17 s/count/could/
13:09 jnthn No, I think that's just the "can't share a handle between threads" issue
13:10 dogbert17 ah :( was looking around in RT to see if your fix might close a bug or two
13:15 dogbert17 ok, could there be other routines in 'src/io/io.c' which does similar things?
13:17 dogbert17 i.e. other functions which might run into the same problem as MVM_io_read_bytes
13:17 jnthn Potentially, yeah
13:17 jnthn I need to give the whole thing I closer look at some point
13:17 jnthn Though need to focus on $dayjob project for now
13:18 dogbert17 perhaps you $dayjob code works perfectly now
13:18 jnthn Well, *that* part does
13:19 jnthn There are more issues I need to fix though :)
13:19 jnthn (None of which are Moar/Rakudo's fault)
13:19 MasterDuke_ joined #moarvm
13:21 dogbert17 more like thinkos perhaps
13:22 jnthn In one case, just something that wasn't considered :)
13:25 MasterDuke_ a bunch of the other read_* functions in io.c look like read_bytes before your fix. e.g., read_(bytes|chars)_async
13:26 jnthn The async ones don't call stuff that does I/O though, they're callbacks
13:29 MasterDuke_ ah. and i do see that the read_bytes in src/io/asyncsocket.c has MVMROOTs in it
14:24 MasterDuke_ `use nqp; start { my $i; for ^1000000000 { $i++ } }; await (start { my $f := nqp::open("1k.txt", "r"); nqp::setinputlinesep($f, "a"); nqp::readlinefh($f).chars.say } xx 500)` sometimes finishes instantly, sometimes it just pauses and chews up all 8 cores
14:26 jnthn Yeah, that's the possible deadlock I mentioned earlier
14:28 MasterDuke_ ah. and that's fixed by setting the thread blocked?
14:38 timotimo could it be that simple ...
14:39 timotimo marking a thread blocked means others will do GC for it
14:39 timotimo because it doesn't know if it can reach a GC-safe-spot
14:49 jnthn It's "that simple", it's just that this also means GC can occur at the block point
14:49 jnthn So more MVMROOT will be needed
14:53 timotimo jnthn: any reason to keep telemetry out of the release we'll make today-ish?
15:01 MasterDuke_ well i have no idea what i'm doing, but putting `MVM_gc_mark_thread_blocked(tc);` and `MVM_gc_mark_thread_unblocked(tc);` around https://github.com/MoarVM/MoarVM/blob/master/src/io/io.c#L146-L148 just gave me a MVM_panic
15:03 timotimo what kind of panic was that?
15:05 MasterDuke_ `MoarVM panic: Invalid GC status observed while blocking thread; aborting`
15:05 timotimo oh interesting
15:05 timotimo it doesn't output what the status is, though?
15:06 timotimo i suggest putting a breakpoint in MVM_panic and outputting the value it checks against
15:06 timotimo to see what might be up
15:06 MasterDuke_ nope, that just happens immediately
15:06 MasterDuke_ let me give that a try
15:06 timotimo right, we already read bytes during startup i bet
15:07 timotimo loading modules and such perhaps?
15:08 MasterDuke_ brake/broke/whatever at MVM_panic. what should i print?
15:09 timotimo what does "up" "list" look like?
15:10 MasterDuke_ https://gist.github.com/MasterDuke17/1f8c127f7fcfdffaba17420d34ae63ee
15:10 MasterDuke_ which i think is from src/gc/orchestrate.c:276
15:12 dogbert2 joined #moarvm
15:13 timotimo aha
15:13 timotimo the thread was already marked blocked when your code tried to block it
15:13 timotimo that's unacceptable
15:13 timotimo yeah
15:14 timotimo MMV_io_readline calls read_line calls read_to_buffer
15:14 timotimo MVM_io_readline is the one you just added blocking to
15:15 MasterDuke_ yep
15:15 timotimo read_to_buffer has always marked the thread blocked
15:17 MasterDuke_ ah. any idea what else to try then?
15:19 timotimo not sure
15:19 MasterDuke_ and btw, does anyone else find it annoying that perl6-gdb-m has `--ex=run` in it? i always end up calling gdb directly, or editing perl6-gdb-m to remove it
15:19 timotimo nah, i just ctrl-c when it starts
15:28 timotimo also, maybe the block and unblock belongs only around the lock acquisition
15:28 timotimo not before lock acquisition and after lock release
15:47 lizmat joined #moarvm
15:50 MasterDuke_ doesn't panic, but still hangs
15:52 dogbert17 joined #moarvm
17:02 domidumont joined #moarvm
17:27 zakharyas joined #moarvm
18:50 timotimo i'm far too distracted here to even look into the deadlock thing
18:51 MasterDuke_ cat got your hands?
19:01 timotimo watching my friend play persona 5, but in addition to that, cats
19:02 timotimo http://t.h8.lv/cats_on_laptop.jpg - not from today, but it generally looks like that
19:03 samcv hello
19:03 timotimo hello samcv
19:03 samcv nice cats
19:03 timotimo pups have the benefit of not climbing onto your desk in front of you :D
19:03 samcv nope my puppy does that
19:03 samcv like
19:03 samcv so much
19:03 samcv tries to climb on all the tables
19:03 samcv and counters
19:03 timotimo :D :D
19:04 timotimo i didn't even know
19:04 samcv i had a dog as a kid, my parents tell me that dog (both golden retreivers) never wanted to climb on every sigle damn thing lol
19:05 samcv if you leave a chair not pushed into a table she'll climb on the table and just like. chill out there. or if ther's napkins there like try and eat them
19:05 geekosaur doggoats?
19:06 timotimo :D
19:06 timotimo i've seen multiple examples now on the 'net where dogs have grown up around cats and behave like cats :D
19:07 timotimo that's really amusing to me
19:07 samcv hah. she isn't growing up around any cats but. idk. she's a quirky one
19:07 samcv here is said dog https://i.imgur.com/Ov6gjuG.jpg
19:07 timotimo we had a dog when i was younger, she didn't climb much at all either
19:08 timotimo we got her when you could easily hold her in two hands, she got a bit over cat-sized when grown up
20:24 Geth ¦ MoarVM: f5704b989c | (Jonathan Worthington)++ | docs/ChangeLog
20:24 Geth ¦ MoarVM: ChangeLog for 2017.04.
20:24 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f5704b989c
20:24 Geth ¦ MoarVM: deb9b489aa | (Jonathan Worthington)++ | VERSION
20:24 Geth ¦ MoarVM: Bump VERSION.
20:24 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/deb9b489aa
20:25 Zoffix \o/
20:25 Zoffix Perfect timing.
20:26 jnthn Poof weeding of ChangeLog welcome :)
20:30 timotimo looks good
20:31 jnthn Alright, will cut the release shortly
20:33 timotimo and after that i'll merge telemetry, because otherwise it'll be a nightmare to constantly rebase all those intervals into the code :)
20:36 jnthn https://moarvm.org/releases/MoarVM-2017.04.tar.gz
20:36 jnthn Zoffix: ^^
20:36 Zoffix jnthn++ thanks
20:37 jnthn I'm too tired to do the website update right now, so that can happen tomorrow
20:39 [Coke] jnthn++
20:50 samcv omg
20:50 samcv version bump
20:51 samcv i thought we were in a time loop
22:11 lizmat joined #moarvm
23:51 AlexDaniel joined #moarvm
23:51 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/04/17/2017-16-io-hits-the-road/

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary