Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-01-16

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

All times shown according to UTC.

Time Nick Message
00:21 diakopter woolfy: sry I tried to reply to woolfy1 it seems
00:58 timotimo this seems like a stupid idea, but can i remove a permanent root again?
01:19 jnap joined #moarvm
07:40 FROGGS joined #moarvm
07:55 woolfy diakopter: well, the question was: will you please give a presentation at Fosdem about MoarVM on Saturday February 1?
08:18 tadzik fosdem, hmm
08:27 tadzik tempting
08:40 odc joined #moarvm
09:57 diakopter woolfy: hi
09:58 diakopter woolfy: yes, Melanie and I are still planning to go
10:03 diakopter nwc10: ping
10:05 nwc10 braaaaaaaaaaaaaaaaaaaaaaanes
10:11 diakopter nwc10: I got a segf
10:11 diakopter when I did a --static build of moarvm
10:12 nwc10 Oh. Odd
10:18 diakopter nwc10: I guess it found some additional optimization opportunities?
10:19 diakopter (visual studio link time)
10:24 diakopter nwc10: have you tried the gc torture with clang? (is it possible?)
10:24 nwc10 should be, but I don't think that ther'es clang installed on that server
10:52 FROGGS[mobile] joined #moarvm
11:04 FROGGS[mobile]2 joined #moarvm
11:26 FROGGS[mobile] joined #moarvm
12:29 jnthn timotimo: No, you can't remove a permroot, but note permroots are not actually objects, but addresses, and you can change the object at the address
12:30 jnthn diakopter: Did a static build? Hm. Those are mostly useless these days as you can't build Rakudo with one... :)
12:54 timotimo jnthn: thanks :)
12:55 jnthn timotimo: I've kinda considered forcing only gen2 things to be allowed to be permroots
12:55 jnthn timotimo: But fear fragility
12:55 timotimo right
12:56 jnthn And when nwc10++ has been de-fragiling us so much... :)
12:57 * timotimo is experimenting with seccomp atop moarvm
13:02 tadzik hm
13:07 jnthn In random news: the other evening I did some really good fun pair programming with ingy++. We used Rakudo on Moar and didn't manage to SEGV it once, and only hit one bug over other backends. :)
13:12 grondilu jnthn: how fast was it compared to parrot?
13:13 grondilu .oO( though I guess I should not put too much hope in speed for now, since it's not optimised at all)
13:21 jnthn grondilu: Didn't compare, but undoubtably slower given the whole sig bind stuff is very much slow-pathed on Moar righ tnow
13:25 jnthn If I get chance, I will deal with that before the January Rakudo release. 'cus it doesn't matter what we say, people are still gonna go benchmark it :/
13:30 timotimo \o/
13:30 timotimo nobody but me seems excited about my moarvm sandboxing work. i wonder why that is? o_O
13:31 jnthn timotimo: Well, for one 'cus I don't know what seccomp is ;)
13:32 timotimo oh!
13:32 timotimo yeah, the fact that it isn't portable is kind of meh
13:32 FROGGS me does not know either
13:33 timotimo after running prctl with the appropriate parameter, the process will no longer be able to do any syscalls besides read/write on already-open file descriptors, sendmsg/recvmsg (thus enabling new file descriptors to be passed in via unix domain sockets) and a few other harmless things
13:33 timotimo alternatively, you can use the filtered mode of seccomp where you specify a whitelist for syscalls
13:34 hoelzro I've been looking for a use for seccomp
13:35 hoelzro iirc, it sends SIGKILL on illegal operations, right?
13:35 timotimo yup
13:35 hoelzro I wish it weren't SIGKILL
13:35 hoelzro I feel like you should be able to handle it
13:35 timotimo so does every attacker out there :)
13:36 hoelzro hmm
13:36 hoelzro I suppose
13:37 hoelzro it would be nice to be able to differentiate beteween it and a kill() in the parent
13:37 hoelzro hmm
13:37 hoelzro maybe sigaction lets you?
14:37 jnap joined #moarvm
14:48 FROGGS[mobile] joined #moarvm
14:53 FROGGS[mobile]2 joined #moarvm
15:03 dalek MoarVM: adce756 | jonathan++ | README.markdown:
15:03 dalek MoarVM: Update status, add a feature overview.
15:03 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/adce756800
15:14 timotimo do we have sockets in moarvm already, btw?
15:14 timotimo also, i can supply more than one --vmlib, right?
15:15 timotimo because right now i've implemented the moarvm seccomp stuff as a bunch of ops that i want to expose to nqp
15:15 timotimo that way i can build the sandboxing logic and management in nqp rather than C
15:17 JimmyZ what is seccomp?
15:18 timotimo linux syscall that restricts all except a few syscalls
15:18 timotimo "secure computation"
15:18 timotimo you can still read/write to already-open file descriptors
15:18 timotimo and with unix domain sockets you can pass file descriptors into the sandboxed process after dropping privileges
15:21 camelia joined #moarvm
15:21 JimmyZ thanks
15:21 JimmyZ :)
15:23 jnthn timotimo: Yes, should be able to do --vmlib multiple itmes
15:23 jnthn timotimo: I think sockets are there but not yet wired up
15:23 jnthn timotimo: Getting them working from Rakudo would be awesome
15:23 timotimo well, of course they are "there", we have libuv ;)
15:33 dalek MoarVM: 1030d3e | jonathan++ | CREDITS:
15:33 dalek MoarVM: First pass at a CREDITS file.
15:33 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1030d3e76c
15:34 jnthn If you don't like your entry, well, fix it :)
15:35 [Coke] I did the darwin ... oh, that was ancient history. :)
15:35 JimmyZ I like it :P
15:35 * jnthn just git log'd :)
15:43 * JimmyZ still is curious how much .moarvm size will be cut after some s/int/int16/ or s/int/int8/ in serialization.
16:02 jnthn JimmyZ: There's not all that many places we can do that.
16:12 * timotimo is already glad the base64 stuff disappeared
16:13 FROGGS joined #moarvm
16:13 arnsholt jnthn: Mostly sized ints, I guess?
16:13 FROGGS[mobile] joined #moarvm
16:13 jnthn arnsholt: Most plaes could be up to 64 bits
16:15 arnsholt Yeah, and IIRC there aren't a whole lot of sized ints in NQP/Rakudo
16:15 jnthn Right
16:15 jnthn We could go with some fancier encoding scheme, of course.
16:19 lizmat .oO( would Sereal be an option )
16:20 timotimo not necessarily Sereal, but the sized ints they have could prove useful
16:26 timotimo ... how do i debug "extension symbol not found
16:26 timotimo ?
16:27 timotimo ah, doh
16:31 timotimo oh, doh! i have the extops now, but i didn't map them for nqp usage
16:31 timotimo how do i properly do that? :\
16:31 timotimo i mean without making a whole new nqp compiler
16:31 timotimo well, a derived one, that is
16:54 [Coke] r-j: say 27988/28469
16:54 camelia rakudo-jvm dddd3f: OUTPUT«0.983104␤»
16:54 [Coke] ^^ likely percentage today.
16:54 [Coke] (running against nom)
16:54 [Coke] yesterday was 27980, we're slowing down. :)
16:55 FROGGS [Coke]: well, hard stuff is hard
16:55 FROGGS ahh this was it what I wanted to ask TimToady
16:56 FROGGS TimToady: how shall I implement <:L> im MoarVM?
16:56 FROGGS TimToady: I guess I should compare some properties of the current grapheme to the one before, but I don't know what/how
17:00 * [Coke] will have to make sure he adds at least one more roast test tonight. :P
17:05 FROGGS :o)
17:05 FROGGS Will Coleda is a heavy hitting Shell coder (one of the 10% most active Shell users) who loves pushing code.
17:06 FROGGS not bad ^^
17:06 FROGGS ha! I am even more active than jnthn++ according to http://osrc.dfm.io :D
17:17 [Coke] the only shell I really do is on the roast data, and most of the stuff I'm committing is just log files. sheesh.
17:20 FROGGS nah, it is in the internet, so it must be right :o)
17:23 PerlJam FROGGS: I just went through several people on http://osrc.dfm.io and it seems like all of them are or should be friends with Moritz Lenz.  He's a popular guy! :)
17:23 FROGGS hehe
17:23 FROGGS he is :o)
17:24 FROGGS the weird thing is is that a Siddhant Saraf shows up for many ppl, and the only thing I know is that he made a PR once
17:25 PerlJam I even half expected moritz's own "report card" to say that he's friends with Moritz Lenz
17:25 FROGGS *g*
17:25 PerlJam (but no, he's friends with you! :)
17:26 diakopter FROGGS: there's guidance how to do the clusters
17:27 diakopter imho we should store a list with the string of the offsets of ones connected to the prior one, since that should be the lowest amount of information
17:28 diakopter er not string of the offsets
17:28 diakopter list of the offsets
17:29 FROGGS ahh, yeah
17:30 FROGGS and +(this list) is the number of graphemes in it
17:30 FROGGS (or it is rather one less)
17:30 FROGGS hmmm, so for .chars and for <:L> we would need that list...
17:31 FROGGS k, then I am thinking about how to calculate this list, and try to understand how clusters are made
17:44 benabik joined #moarvm
18:09 moritz I get
18:09 moritz Stage start      :   0.000
18:09 moritz MVMCallCapture cannot be copied
18:09 moritz make: *** [CORE.setting.moarvm] Error 12
18:09 moritz while trying to build rakudo-m
18:10 jnap joined #moarvm
18:12 timotimo you get that from an outdated ... either nqp or moarvm
18:14 timotimo moritz:  ^^
18:15 moritz well, I've used --gen-moar
18:15 moritz anyway, now trying again with leading edge
18:16 moritz I'd love to be able to build it, 'cause I have some Makefile patches I'd like to test :-)
18:17 diakopter moritz: you have to --gen-moar=master I think
18:19 moritz ok, I got farther this time
18:29 tadzik joined #moarvm
18:38 timotimo didn't we get a moar revision bump just before the merge, though?
18:40 moritz we still have a week until the release, right? :-)
18:42 benabik I think Moar is installing the LDFLAGS to build libmoar into is config, which is then being used by Rakudo.  That isn't correct and kills build on OS X.
18:43 benabik Two problems: 1) OS X gets `-install_name install/lib/libmoar.dylib` in LDFLAGS, which is wrong for anything other than libmoar.  2) There's no `-lmoar`, so the linker can't find all the moar functions.
18:53 TimToady FROGGS: why would <:L> want to know anything about the previous grapheme?
18:54 FROGGS TimToady: isn't <:L> the equivalent of \b ?
18:54 TimToady no, it's just the various L categories of letter
18:54 FROGGS ahh
18:55 TimToady just as <:S> is the various kinds of spaces
18:55 TimToady or is that symbols, I forget
18:55 TimToady and Z is the odd stuff
18:55 FROGGS looks like I need to read a lot about that stuff
18:57 TimToady p: $_ = "A"; say /<:L>/; say /<:Lu>/; say /<:Ll>/
18:57 camelia rakudo-parrot dddd3f: OUTPUT«␤␤␤»
18:57 TimToady hmm
18:58 TimToady n: $_ = "A"; say /<:L>/; say /<:Lu>/; say /<:Ll>/
18:58 camelia niecza v24-109-g48a8de3: OUTPUT«regex ANON(Any \self) { ... }␤regex ANON(Any \self) { ... }␤regex ANON(Any \self) { ... }␤»
18:58 TimToady n: $_ = "A"; say m/<:L>/; say m/<:Lu>/; say m/<:Ll>/
18:58 camelia niecza v24-109-g48a8de3: OUTPUT«「A」␤␤「A」␤␤Nil␤»
18:58 TimToady p: $_ = "A"; say m/<:L>/; say m/<:Lu>/; say m/<:Ll>/
18:58 camelia rakudo-parrot dddd3f: OUTPUT«「A」␤␤「A」␤␤Nil␤»
19:52 moritz benabik: did my last rakudo commit fix the parrot build issue at least? (you need to reconfigure)
20:07 benabik moritz: Trying now.
20:07 benabik moritz: Actually, given that it's been running for more than a minute, it probably worked.  :-)
20:20 jnthn Happy to see that having merged stuff has resulted in some fixes already :)
20:24 timotimo jnthn: besides nativecall and deriving the compiler, do you know a mechanism to get my vmlibs introduced to nqp?
20:30 moritz patch the vm?
20:31 jnthn timotimo: By passing --vmlibs or so at command line?
20:37 benabik moritz: Build complete!  Thanks.  Now to de-tangled the LDFLAGS mess.
20:38 jnthn timotimo: What piece are you running into?
20:38 jnthn timotimo: I mean, Rakudo has its set of extops
20:38 jnthn timotimo: See src/vm/moar/Perl6/Ops.nqp
20:38 jnthn timotimo: There's a few pieces of wiring needed.
20:47 timotimo precisely. how do i get at the right levers to hook up my extension methods to be nqp:: methods?
20:47 timotimo not methods, functions
20:47 timotimo well, ops really
20:48 timotimo oh!
20:48 timotimo that seems easy
20:48 timotimo thanks for the nudge in the right direction :)
20:57 colomon joined #moarvm
21:00 jnthn Whee. make test of NQP on MoarVM runs in 16s (non-parallel) on my box here at home
21:01 diakopter thot u sed raduko
21:01 jnthn lol, I did it in 6s by passing --jobs=16
21:02 jnthn Lemme see what I can do Rakudo sanity test in with TEST_JOBS=6 or so
21:02 FROGGS jnthn: can you make it run my v5 spectest in (way) less than 30 minutes? :o)
21:03 jnthn FROGGS: Probably, with time and optimization :)
21:04 FROGGS don't you say :D
21:04 FROGGS "with time"
21:04 FROGGS that is the point
21:07 jnthn Rakudo "make test" is 7s
21:07 jnthn FROGGS: I assume you are running with --jobs=a-number-bigger-than-one? :)
21:07 jnthn On a bit of hardware where that is actually useful?
21:08 FROGGS jnthn: -j3 atm, having 4 cores
21:08 jnthn 4 real or virtual?
21:08 FROGGS there were test aborts using -j4 when it hit the recursion test
21:09 FROGGS it is a Core i5
21:09 jnthn I've 4 real, 8 virtual, and found 6 works out nicely for parallelizing but retaining responsiveness
21:09 FROGGS so 2 cores plus HT
21:09 jnthn ah, ok
21:09 jnthn I'm i7, 4 + HT = 8
21:09 FROGGS so three is about right :o)
21:09 jnthn Mebbe I should get myself one of those dustbins^WMac Pros that has 8 cores some day... :)
21:10 FROGGS I would love to let my other PCs here help... like a render farm
21:10 jnthn Oh, that'd be intersting
21:10 jnthn Distributed testing
21:11 FROGGS not only testing
21:11 FROGGS if you had perl6 servers in your LAN you could maybe share other load as well
21:11 jnthn True :)
21:12 FROGGS not file io or some such, but still
21:12 FROGGS would be interesting for me at work too, where we have servers with >16 cores each, and most of these servers are bored
21:13 FROGGS except one, usually
21:16 FROGGS is there an (e)Book I should read in order to get the missing Unicode bits together?
21:16 FROGGS TimToady / diakopter ^^
21:17 FROGGS damnit, and I even tried to avoid doing it >.<
21:17 FROGGS and now I find myself volunteering
21:18 diakopter FROGGS: what bits are missing
21:18 FROGGS well, some sort of road map and a clear vision mostly
21:19 FROGGS diakopter: I just have the feeling that I miss fundamental knowledge in order to make it right (or even work)
21:20 diakopter did you read the hundreds-of-pages unicode pdfs?
21:20 FROGGS no
21:20 diakopter they contain recommended efficient algorithms for all the things
21:21 FROGGS ohh
21:21 FROGGS good point
21:23 * FROGGS gets http://www.unicode.org/versions/Unicode6.2.0/UnicodeStandard-6.2.pdf
21:23 FROGGS 690
21:23 FROGGS "yay"
21:43 krunen joined #moarvm
22:03 colomon joined #moarvm
23:03 d4l3k_ joined #moarvm
23:58 FROGGS joined #moarvm

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