github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 3 August 2013.
00:05 grondilu left 00:50 FROGGS joined 00:55 cognominal joined 01:02 crab2313 joined 01:42 FROGGS_ joined
dalek arVM/libuv2: cbdd341 | jimmy++ | src/io/fileops.c:
re-implemented MVM_file_stat by libuv api
01:49
02:03 FROGGS_ joined
dalek arVM/libuv2: f276e33 | jimmy++ | src/ (2 files):
re-implemented MVM_file_read_fhs/MVM_file_write_fhs by libuv api
02:28
03:28 FROGGS joined 03:58 ggoebel joined 04:56 birdwindupbird joined 05:11 FROGGS joined 05:32 woolfy joined
dalek arVM/libuv2: 5fcd8bd | jimmy++ | / (7 files):
changed all codes in fileops.c to libuv api
05:41
05:42 FROGGS joined 06:00 lizmat joined 06:16 woolfy left 06:17 isBEKaml joined 06:18 isBEKaml left 06:36 FROGGS joined 06:53 crab2313 joined 07:24 mst_ joined
dalek arVM/libuv2: c3a0226 | jimmy++ | / (3 files):
make some fileops test passed
07:33
JimmyZ not_gerd: ping
07:37 FROGGS joined 07:42 woolfy joined 07:45 not_gerd joined
not_gerd JimmyZ: pong 07:45
JimmyZ not_gerd: gist.github.com/zhuomingliang/6239017 07:46
on ubuntu
no, it's centos 07:49
not_gerd JimmyZ: probably missing -luuid
that was expected, but BabsSeed had it working without it 07:50
I'll add it, no problem
JimmyZ and clock_gettime
not_gerd so -lrt as well 07:51
JimmyZ oh
works
not_gerd: Could you help fixes these fileops test on windows, please? I don't know how to fix it :( 07:52
not_gerd JimmyZ: I can try
will take a shot at it later today 07:53
JimmyZ it' about read and delete
not_gerd: thanks
make test passed on linux but failed on windows ... 07:59
08:00 woolfy left 08:07 FROGGS joined
not_gerd JimmyZ: it might just be that the test files are created with write protection... 08:16
JimmyZ: yes, that's it 08:22
JimmyZ not_gerd: and how about read?
not_gerd no idea yet ;)
JimmyZ how to fixed delete?
not_gerd JimmyZ: depends on what the API is supposed to be 08:23
either the tests need to be changed to do a chmod +w 08:24
or the delete implementation needs to be changed to take care of that
JimmyZ looks like libuv doesn't not support windows well enough
not_gerd: the read problem is ReadFile cant not return :( 08:25
I mean ReadFile() API
08:32 japhb joined
BabsSeed Hey all 08:35
not_gerd o/
BabsSeed Just got to work 08:36
JimmyZ so left work in libuv2 branch is about socket and threads 08:37
BabsSeed Yay threads 08:39
JimmyZ I may do threads prot firstly
and I don't want to touch socket and streams
s/prot/port/ 08:40
BabsSeed I have about zero knowledge of threaded programming. 08:43
I know how to use threads, but not properly 08:44
JimmyZ BabsSeed: threads are already there ,just do apr api => libuv api 08:45
not_gerd JimmyZ: if I understand the libuv code correctly, one needs to pass _S_IWRITE as mode argument to uv_fs_open 08:50
see libuv/src/win/fs.c:461
otherwise, we get readonly files 08:51
JimmyZ: github.com/MoarVM/MoarVM/pull/50 09:01
I'll look into the remaining breakage later today
JimmyZ not_gerd: Failed to delete file: operation not permitted 09:03
which test it fixed? 09:05
not_gerd t\\moar\\dirs.t gets further 09:08
note that you need to manually delete the files first before running the test again
looks like this for me: t\\moar\\dirs.t ................... Failed to rmdir: 09:09
JimmyZ I got Failed to copy file: bad file descriptor
not_gerd hm... 09:10
I'll make a clean build and gist my failures so we can compare
JimmyZ not_gerd: gist.github.com/zhuomingliang/0cb1...52b92e03a0 09:15
not_gerd hm.. 09:16
now even more stuff passes: gist.github.com/gerdr/6228451
JimmyZ not_gerd: I just updated my gist 09:17
not_gerd: I'm on Windows7 x64 09:18
not_gerd same
nqp compiled with mingw64, moarvm compiler with msvc64 09:19
s/compiler/compiled/
JimmyZ same 09:22
nqp comiple by strawberry perl, moarvm compiler with msvc64 09:23
Microsoft Visual Studio 2012 Express
not_gerd JimmyZ: no idea what's the cause 09:27
maybe git clean -xdf, check that you *really* have the commit, and try again? 09:28
that worked for me ;)
which branch are you suing?
*using?
JimmyZ libuv2 and you pr 09:30
not_gerd then I have no idea 09:35
JimmyZ I just did git clean -xdf and rebuild
same error :(
Failed to copy file: bad file descriptor
not_gerd let's wait for another windows person and see what happens for them ;) 09:36
JimmyZ not_gerd: slurp.t is the same error to me 09:38
and open_file_for_reading.t ...
not_gerd: I know why 09:50
not_gerd: in_fd and out_fd is all 0 09:51
I don't know why :(
not_gerd: 09:53
out_fd 0 const int
in_fd 0 const int
a 0x00000000002ff020 "Makefile" char * const
b 0x00000000002b0800 "Makefile2" char * const
not_gerd JimmyZ: what happens if you replace DEFAULT_MODE with 0 in MVM_file_copy() but leave it in MVM_file_open_fh()? 09:56
JimmyZ not_gerd: file_copy.t doesn't call MVM_file_open_fh 09:59
JimmyZ decommutes
not_gerd JimmyZ: sure, but other tests do 10:00
10:17 FROGGS joined 10:33 japhb joined
not_gerd bye, #moarvm 11:09
11:09 not_gerd left
JimmyZ good evening 11:15
not_gerd: pr/49 builds faild on windows x86, master didn't fail 11:48
not_gerd: on windows x86, apr lib dir is not apr\\.lib, it's apr\\LibR, and it has problems to link _AO_compare_and_swap_full 11:50
can't find _AO_compare_and_swap_full
12:02 woolfy joined 12:40 not_gerd joined
not_gerd back 12:40
JimmyZ: pushed some fixes and an assertion that shows where we fail
JimmyZ: it's fixed in libuv master 12:46
JimmyZ not_gerd: thanks 12:47
12:49 crab2313 joined
not_gerd JimmyZ: should we switch to libuv 0.11.7 (latest unstable release from 9 days ago) 12:53
JimmyZ not_gerd: I copied form master 12:56
not_gerd: I think it does not need, before we merge to master, they will release 0.11.8 12:58
how do checkout new pr/49 13:00
not_gerd JimmyZ: git merge origin/pr/49
don't know if there's some git magic that makes it work out of the box 13:01
JimmyZ works after delete and re-checkout 13:02
crab2313 is t/moar/thread.t really take a long time? 13:04
JimmyZ yeah
know issue
not_gerd: weird, file-copy.t works on win x86 13:10
not_gerd: gist.github.com/zhuomingliang/6240724
not_gerd JimmyZ: I imported libuv master and got a clean test run just now 13:14
gist.github.com/gerdr/6228451
JimmyZ not_gerd: nice
not_gerd should I add that to my pull request? 13:15
JimmyZ not_gerd: cherry-pick to your libuv2? 13:16
or my
:p
not_gerd JimmyZ: I actually created a local libuv branch with your changes a few days ago 13:19
now pushed to github.com/gerdr/libuv/tree/moarvm
in particular github.com/gerdr/libuv/commit/7ed9...9e90edaf13
should make it easier to track libuv 13:20
merge to the fork, then copy to moarvm
JimmyZ yeah, I had one in my github too...
not_gerd ;) 13:21
JimmyZ 7ed94eb3fa6e71d7161096ccbaceeb9e90edaf13 is out of date 13:22
I wonders why these test fail to me 13:24
hmm, just found libuv has no mmap 13:31
and loadbytecode needs it 13:32
dalek arVM/libuv2: 8561f61 | (Gerhard R)++ | src/io/fileops.c:
no longer create readonly files by default
13:42
13:42 benabik joined
JimmyZ not_gerd: m0_platform_mmap_file_private is equal mmap? 13:50
not_gerd JimmyZ: no, it's just a dummy Icreated so Icould keep going 13:51
JimmyZ ok
:)
not_gerd JimmyZ: you need CReateFileView on windows, iirc
misremembers 13:52
I
I'll dig it up...
JimmyZ not_gerd: CreateFileMapping, but I don't want to implement it
I hate windows API 13:53
:P
they doesn't work for me
not_gerd JimmyZ: I've seen mmap wrappers over the WinAPI
if I only could remember which project that was ;) 13:54
benabik git has a variety of useful Windows to POSIX wrappers in platform
not_gerd I *do* remember that they leaked handles, though
JimmyZ not_gerd: apr implemented mmap by CreateFileMapping
benabik Sorry... compat/win32
not_gerd on windows, you need to keep a handle and the pointer to the memory block 13:55
benabik Ah, but they just use posix calls to emulate mmap by just reading the file into a large buffer.
not_gerd if you do a 1:1 mmap() wrapper, you leak the handle
JimmyZ not_gerd: msdn.microsoft.com/en-us/library/wi...85%29.aspx 13:56
not_gerd: you're right, I see it in apr 13:57
and see it here msdn.microsoft.com/en-us/library/wi...85%29.aspx 13:58
anyway, I don't want to touch windows API 13:59
not_gerd hm... 14:01
JimmyZ I have found a [s]printf bug in MSVC 2012
14:47 donaldh joined
not_gerd JimmyZ: I updated my pull request to use latest libuv 14:56
JimmyZ: do you keep yout libuv/patch branch up to date? 14:58
*your
JimmyZ not_gerd: uv_fs_getstd* is already removed
not_gerd: not yet
not_gerd: and uv_fs_getfullpath removed too 14:59
not_gerd too many branches to keep track of ;)
so moarvm/libuv2 is authorative? 15:00
JimmyZ not_gerd: yeah 15:01
not_gerd: libuv3 is too, but it doesn't do apr => libuv
and libuv2 based libuv3 15:02
dalek arVM/libuv2: 897be12 | jimmy++ | 3rdparty/libuv/ (14 files):
update libuv to c82e7033a5d6c604b891c1f722cf23a063c202b0
15:08
arVM/libuv2: d772baf | jimmy++ | 3rdparty/libuv/test/test-async-null-cb.c:
oops, lost test/test-async-null-cb.c
15:14
JimmyZ Good night 15:27
not_gerd good night 15:30
16:19 ggoebel joined 17:20 ggoebel2 joined 18:50 dalek joined 19:08 crab2313 joined
jnthn .tell JimmyZ In 2262765 I suspect the MVMROOT on cloned may be needed; it's plausible some clone routine would allocate 19:45
yoleaux jnthn: I'll pass your message to JimmyZ.
dalek arVM: 68366d8 | jonathan++ | src/gc/roots.c:
compiling_scs needs to be a TC root in GC.
19:49
jnthn Please can we either (a) not do needless whitespace changes, or (b) keep them out of commits that do other stuff... 19:54
Also, and much more importantly, code like: 19:57
((MVMException *)ex)->body.message = GET_REG(cur_op, 2).s;
is always wrong. Never assign MVMString or MVMObject references directly, unless you're writing code in the GC or something. This must always be done with the MVM_ASSIGN macro.
Otherwise, it doesn't get write-barried and then we spend months tracking down stupid GC bugs... 19:58
*barriered
uA*MVM_ASSIGN_REF 19:59
grr, stupid connection 20:00
dalek arVM: 7b36749 | jonathan++ | src/core/interp.c:
A couple of missing MVM_ASSIGN_REF.
20:01
jnthn has sorta caught up-ish on reviewing master :) 20:03
Which of the libuv branches, if any, should I be looking at and reviewing? 20:04
20:07 not_gerd joined
not_gerd jnthn: JimmyZ does his work in libuv2 based on libvu3 ;) 20:08
I added my build system refactor to that in pr/49
tests cleanly on my win7 system, but not on JimmyZ's
we needed to go to libuv master as the old import returned a handle where they should have returned a file descriptor 20:09
dalek arVM: e5b8fe5 | grondilu++ | src/core/loadbytecode.c:
typo: 38s/Inovke/Invoke/
20:10
arVM: 51fc554 | jonathan++ | src/core/loadbytecode.c:
Merge pull request #47 from grondilu/patch-1

typo: 38s/Inovke/Invoke/
jnthn not_gerd: OK. And we're pulling libuv itself into the Moar repo? 20:11
not_gerd jnthn: not decided yet
jnthn OK, the decision is "no" :)
not_gerd personally, I'd say fork libuv to MoarVM repo and do periodic imports
(or use git subtrees, which are non-standard :() 20:12
jnthn We can maintain our own fork of it in a MoarVM/libuv repo, but ideally at some pointI'd hope we can use a system one.
not_gerd jnthn: libuv isn't a full APR replacement
JimmyZ added missing functionality in the uv_* namespace 20:13
jnthn Yes, I'm aware it's not. I don't think putting our extra stuff in the uv_* namespace is a good idea. 20:15
It'll be confusing. What's ours vs. what's in libuv, etc. And what if they use that symbol in the future? 20:16
not_gerd github.com/gerdr/libuv/compare/master...moarvm should be his patch set
(if I didn't mess is up)
jnthn (yes, I know it's probably JimmyZ I should be mentioning this to more than you :))
not_gerd: Thanks for the link...if only this hotel wifi will ever open it... 20:18
hmm...the places where stuff gets added to libuv structs probably makes teasing it apart a bit harder, though... 20:23
Anyways, probably more useful to discuss this when more folks are here :) 20:24
And when I'm not conf exhausted. :)
not_gerd slacker - only 3 talks: you're only allowed to feel exhausted after at least a dozen ;) 20:25
jnthn :P 20:26
Well, I did work hard on some beers too.
not_gerd btw, the Rust guys are also working on better libuv integration 20:27
I posted github.com/mozilla/rust/issues/4419 a few days ago
might be worth looking into their design work
jnthn thanks, will do, looks interesting 20:28
yes, it's interesting, but I need to read it again when I'm less tired and explore the links 20:34
not_gerd++
Time for an early night here...after staying up until 4am or so last night :) 20:35
o/
not_gerd good night 20:37
20:50 not_gerd left 22:43 benabik joined