Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-08-15

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

All times shown according to UTC.

Time Nick Message
00:05 grondilu left #moarvm
00:50 FROGGS joined #moarvm
00:55 cognominal joined #moarvm
01:02 crab2313 joined #moarvm
01:42 FROGGS_ joined #moarvm
01:49 dalek MoarVM/libuv2: cbdd341 | jimmy++ | src/io/fileops.c:
01:49 dalek MoarVM/libuv2: re-implemented MVM_file_stat by libuv api
01:49 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/cbdd3413fc
02:03 FROGGS_ joined #moarvm
02:28 dalek MoarVM/libuv2: f276e33 | jimmy++ | src/ (2 files):
02:28 dalek MoarVM/libuv2: re-implemented MVM_file_read_fhs/MVM_file_write_fhs by libuv api
02:28 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/f276e33399
03:28 FROGGS joined #moarvm
03:58 ggoebel joined #moarvm
04:56 birdwindupbird joined #moarvm
05:11 FROGGS joined #moarvm
05:32 woolfy joined #moarvm
05:41 dalek MoarVM/libuv2: 5fcd8bd | jimmy++ | / (7 files):
05:41 dalek MoarVM/libuv2: changed all codes in fileops.c to libuv api
05:41 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/5fcd8bd71b
05:42 FROGGS joined #moarvm
06:00 lizmat joined #moarvm
06:16 woolfy left #moarvm
06:17 isBEKaml joined #moarvm
06:18 isBEKaml left #moarvm
06:36 FROGGS joined #moarvm
06:53 crab2313 joined #moarvm
07:24 mst_ joined #moarvm
07:33 dalek MoarVM/libuv2: c3a0226 | jimmy++ | / (3 files):
07:33 dalek MoarVM/libuv2: make some fileops test passed
07:33 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/c3a0226301
07:33 JimmyZ not_gerd: ping
07:37 FROGGS joined #moarvm
07:42 woolfy joined #moarvm
07:45 not_gerd joined #moarvm
07:45 not_gerd JimmyZ: pong
07:46 JimmyZ not_gerd: https://gist.github.com/zhuomingliang/6239017
07:46 JimmyZ on ubuntu
07:49 JimmyZ no, it's centos
07:49 not_gerd JimmyZ: probably missing -luuid
07:50 not_gerd that was expected, but BabsSeed had it working without it
07:50 not_gerd I'll add it, no problem
07:50 JimmyZ and clock_gettime
07:51 not_gerd so -lrt as well
07:51 JimmyZ oh
07:51 JimmyZ works
07:52 JimmyZ 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
07:53 not_gerd will take a shot at it later today
07:53 JimmyZ it' about read and delete
07:53 JimmyZ not_gerd: thanks
07:59 JimmyZ make test passed on linux but failed on windows ...
08:00 woolfy left #moarvm
08:07 FROGGS joined #moarvm
08:16 not_gerd JimmyZ: it might just be that the test files are created with write protection...
08:22 not_gerd JimmyZ: yes, that's it
08:22 JimmyZ not_gerd: and how about read?
08:22 not_gerd no idea yet ;)
08:22 JimmyZ how to fixed delete?
08:23 not_gerd JimmyZ: depends on what the API is supposed to be
08:24 not_gerd either the tests need to be changed to do a chmod +w
08:24 not_gerd or the delete implementation needs to be changed to take care of that
08:24 JimmyZ looks like libuv doesn't not support windows well enough
08:25 JimmyZ not_gerd: the read problem is ReadFile cant not return :(
08:25 JimmyZ I mean ReadFile() API
08:32 japhb joined #moarvm
08:35 BabsSeed Hey all
08:35 not_gerd o/
08:36 BabsSeed Just got to work
08:37 JimmyZ so left work in libuv2 branch is about socket and threads
08:39 BabsSeed Yay threads
08:39 JimmyZ I may do threads prot firstly
08:39 JimmyZ and I don't want to touch socket and streams
08:40 JimmyZ s/prot/port/
08:43 BabsSeed I have about zero knowledge of threaded programming.
08:44 BabsSeed I know how to use threads, but not properly
08:45 JimmyZ BabsSeed: threads are already there ,just do apr api => libuv api
08:50 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 not_gerd see libuv/src/win/fs.c:461
08:51 not_gerd otherwise, we get readonly files
09:01 not_gerd JimmyZ: https://github.com/MoarVM/MoarVM/pull/50
09:01 not_gerd I'll look into the remaining breakage later today
09:03 JimmyZ not_gerd: Failed to delete file: operation not permitted
09:05 JimmyZ which test it fixed?
09:08 not_gerd t\moar\dirs.t gets further
09:08 not_gerd note that you need to manually delete the files first before running the test again
09:09 not_gerd looks like this for me: t\moar\dirs.t ................... Failed to rmdir:
09:09 JimmyZ I got Failed to copy file: bad file descriptor
09:10 not_gerd hm...
09:10 not_gerd I'll make a clean build and gist my failures so we can compare
09:15 JimmyZ not_gerd: https://gist.github.com/zhuom​ingliang/0cb1eaa34052b92e03a0
09:16 not_gerd hm..
09:16 not_gerd now even more stuff passes: https://gist.github.com/gerdr/6228451
09:17 JimmyZ not_gerd: I just updated my gist
09:18 JimmyZ not_gerd: I'm on Windows7 x64
09:18 not_gerd same
09:19 not_gerd nqp compiled with mingw64, moarvm compiler with msvc64
09:19 not_gerd s/compiler/compiled/
09:22 JimmyZ same
09:23 JimmyZ nqp comiple by strawberry perl, moarvm compiler with msvc64
09:23 JimmyZ Microsoft Visual Studio 2012 Express
09:27 not_gerd JimmyZ: no idea what's the cause
09:28 not_gerd maybe git clean -xdf, check that you *really* have the commit, and try again?
09:28 not_gerd that worked for me ;)
09:28 not_gerd which branch are you suing?
09:28 not_gerd *using?
09:30 JimmyZ libuv2 and you pr
09:35 not_gerd then I have no idea
09:35 JimmyZ I just did git clean -xdf and rebuild
09:35 JimmyZ same error :(
09:35 JimmyZ Failed to copy file: bad file descriptor
09:36 not_gerd let's wait for another windows person and see what happens for them ;)
09:38 JimmyZ not_gerd: slurp.t  is the same error to me
09:38 JimmyZ and open_file_for_reading.t ...
09:50 JimmyZ not_gerd: I know why
09:51 JimmyZ not_gerd: in_fd and out_fd is all 0
09:51 JimmyZ I don't know why :(
09:53 JimmyZ not_gerd:
09:53 JimmyZ out_fd    0    const int
09:53 JimmyZ in_fd    0    const int
09:53 JimmyZ a    0x00000000002ff020 "Makefile"    char * const
09:53 JimmyZ b    0x00000000002b0800 "Makefile2"    char * const
09:56 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:59 JimmyZ not_gerd: file_copy.t doesn't call MVM_file_open_fh
09:59 * JimmyZ decommutes
10:00 not_gerd JimmyZ: sure, but other tests do
10:17 FROGGS joined #moarvm
10:33 japhb joined #moarvm
11:09 not_gerd bye, #moarvm
11:09 not_gerd left #moarvm
11:15 JimmyZ good evening
11:48 JimmyZ not_gerd: pr/49 builds faild on windows x86, master didn't fail
11:50 JimmyZ 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 JimmyZ can't find  _AO_compare_and_swap_full
12:02 woolfy joined #moarvm
12:40 not_gerd joined #moarvm
12:40 * not_gerd back
12:40 not_gerd JimmyZ: pushed some fixes and an assertion that shows where we fail
12:46 not_gerd JimmyZ: it's fixed in libuv master
12:47 JimmyZ not_gerd: thanks
12:49 crab2313 joined #moarvm
12:53 not_gerd JimmyZ: should we switch to libuv 0.11.7 (latest unstable release from 9 days ago)
12:56 JimmyZ not_gerd: I copied form master
12:58 JimmyZ not_gerd: I think it does not need, before we merge to master, they will release 0.11.8
13:00 JimmyZ how do checkout new pr/49
13:00 not_gerd JimmyZ: git merge origin/pr/49
13:01 not_gerd don't know if there's some git magic that makes it work out of the box
13:02 JimmyZ works after delete and re-checkout
13:04 crab2313 is t/moar/thread.t really take a long time?
13:04 JimmyZ yeah
13:04 JimmyZ know issue
13:10 JimmyZ not_gerd: weird, file-copy.t works on win x86
13:10 JimmyZ not_gerd: https://gist.github.com/zhuomingliang/6240724
13:14 not_gerd JimmyZ: I imported libuv master and got a clean test run just now
13:14 not_gerd https://gist.github.com/gerdr/6228451
13:14 JimmyZ not_gerd: nice
13:15 not_gerd should I add that to my pull request?
13:16 JimmyZ not_gerd: cherry-pick to your libuv2?
13:16 JimmyZ or my
13:16 JimmyZ :p
13:19 not_gerd JimmyZ: I actually created a local libuv branch with your changes a few days ago
13:19 not_gerd now pushed to https://github.com/gerdr/libuv/tree/moarvm
13:19 not_gerd in particular https://github.com/gerdr/libuv/commit/7​ed94eb3fa6e71d7161096ccbaceeb9e90edaf13
13:20 not_gerd should make it easier to track libuv
13:20 not_gerd merge to the fork, then copy to moarvm
13:20 JimmyZ yeah, I had one in my github too...
13:21 not_gerd ;)
13:22 JimmyZ 7ed94eb3fa6e71d7161096ccbaceeb9e90edaf13 is out of date
13:24 JimmyZ I wonders why these test fail to me
13:31 JimmyZ hmm, just found libuv has no mmap
13:32 JimmyZ and loadbytecode needs it
13:42 dalek MoarVM/libuv2: 8561f61 | (Gerhard R)++ | src/io/fileops.c:
13:42 dalek MoarVM/libuv2: no longer create readonly files by default
13:42 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/8561f61662
13:42 benabik joined #moarvm
13:50 JimmyZ not_gerd: m0_platform_mmap_file_private is equal mmap?
13:51 not_gerd JimmyZ: no, it's just a dummy Icreated so Icould keep going
13:51 JimmyZ ok
13:51 JimmyZ :)
13:51 not_gerd JimmyZ: you need CReateFileView on windows, iirc
13:52 not_gerd misremembers
13:52 not_gerd I
13:52 not_gerd I'll dig it up...
13:52 JimmyZ not_gerd: CreateFileMapping, but I don't  want to implement it
13:53 JimmyZ I hate windows API
13:53 JimmyZ :P
13:53 JimmyZ they doesn't work for me
13:53 not_gerd JimmyZ: I've seen mmap wrappers over the WinAPI
13:54 not_gerd if I only could remember which project that was ;)
13:54 benabik git has a variety of useful Windows to POSIX wrappers in platform
13:54 not_gerd I *do* remember that they leaked handles, though
13:54 JimmyZ not_gerd: apr implemented mmap by CreateFileMapping
13:54 benabik Sorry... compat/win32
13:55 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.
13:55 not_gerd if you do a 1:1 mmap() wrapper, you leak the handle
13:56 JimmyZ not_gerd: http://msdn.microsoft.com/en-us/library/w​indows/desktop/aa366542%28v=vs.85%29.aspx
13:57 JimmyZ not_gerd: you're right, I see it in apr
13:58 JimmyZ and see it here http://msdn.microsoft.com/en-us/library/w​indows/desktop/aa366546%28v=vs.85%29.aspx
13:59 JimmyZ anyway, I don't want to touch windows API
14:01 not_gerd hm...
14:01 JimmyZ I have found a [s]printf bug in MSVC 2012
14:47 donaldh joined #moarvm
14:56 not_gerd JimmyZ: I updated my pull request to use latest libuv
14:58 not_gerd JimmyZ: do you keep yout libuv/patch branch up to date?
14:58 not_gerd *your
14:58 JimmyZ not_gerd: uv_fs_getstd* is already removed
14:58 JimmyZ not_gerd: not yet
14:59 JimmyZ not_gerd: and uv_fs_getfullpath removed too
14:59 not_gerd too many branches to keep track of ;)
15:00 not_gerd so moarvm/libuv2 is authorative?
15:01 JimmyZ not_gerd: yeah
15:01 JimmyZ not_gerd: libuv3 is too, but it doesn't do apr => libuv
15:02 JimmyZ and libuv2 based libuv3
15:08 dalek MoarVM/libuv2: 897be12 | jimmy++ | 3rdparty/libuv/ (14 files):
15:08 dalek MoarVM/libuv2: update libuv to c82e7033a5d6c604b891c1f722cf23a063c202b0
15:08 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/897be1263b
15:14 dalek MoarVM/libuv2: d772baf | jimmy++ | 3rdparty/libuv/test/test-async-null-cb.c:
15:14 dalek MoarVM/libuv2: oops, lost test/test-async-null-cb.c
15:14 dalek MoarVM/libuv2: review: https://github.com/MoarVM/MoarVM/commit/d772bafe53
15:27 JimmyZ Good night
15:30 not_gerd good night
16:19 ggoebel joined #moarvm
17:20 ggoebel2 joined #moarvm
18:50 dalek joined #moarvm
19:08 crab2313 joined #moarvm
19:45 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.
19:49 dalek MoarVM: 68366d8 | jonathan++ | src/gc/roots.c:
19:49 dalek MoarVM: compiling_scs needs to be a TC root in GC.
19:49 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/68366d8211
19:54 jnthn Please can we either (a) not do needless whitespace changes, or (b) keep them out of commits that do other stuff...
19:57 jnthn Also, and much more importantly, code like:
19:57 jnthn ((MVMException *)ex)->body.message = GET_REG(cur_op, 2).s;
19:57 jnthn 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.
19:58 jnthn Otherwise, it doesn't get write-barried and then we spend months tracking down stupid GC bugs...
19:58 jnthn *barriered
19:59 jnthn uA*MVM_ASSIGN_REF
20:00 jnthn grr, stupid connection
20:01 dalek MoarVM: 7b36749 | jonathan++ | src/core/interp.c:
20:01 dalek MoarVM: A couple of missing MVM_ASSIGN_REF.
20:01 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7b36749c0b
20:03 * jnthn has sorta caught up-ish on reviewing master :)
20:04 jnthn Which of the libuv branches, if any, should I be looking at and reviewing?
20:07 not_gerd joined #moarvm
20:08 not_gerd jnthn: JimmyZ does his work in libuv2 based on libvu3 ;)
20:08 not_gerd I added my build system refactor to that in pr/49
20:08 not_gerd tests cleanly on my win7 system, but not on JimmyZ's
20:09 not_gerd we needed to go to libuv master as the old import returned a handle where they should have returned a file descriptor
20:10 dalek MoarVM: e5b8fe5 | grondilu++ | src/core/loadbytecode.c:
20:10 dalek MoarVM: typo:  38s/Inovke/Invoke/
20:10 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e5b8fe588a
20:10 dalek MoarVM: 51fc554 | jonathan++ | src/core/loadbytecode.c:
20:10 dalek MoarVM: Merge pull request #47 from grondilu/patch-1
20:10 dalek MoarVM:
20:10 dalek MoarVM: typo:  38s/Inovke/Invoke/
20:10 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/51fc554059
20:11 jnthn not_gerd: OK. And we're pulling libuv itself into the Moar repo?
20:11 not_gerd jnthn: not decided yet
20:11 jnthn OK, the decision is "no" :)
20:11 not_gerd personally, I'd say fork libuv to MoarVM repo and do periodic imports
20:12 not_gerd (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.
20:12 not_gerd jnthn: libuv isn't a full APR replacement
20:13 not_gerd JimmyZ added missing functionality in the uv_* namespace
20:15 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:16 jnthn 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 https://github.com/gerdr/li​buv/compare/master...moarvm should be his patch set
20:16 not_gerd (if I didn't mess is up)
20:16 jnthn (yes, I know it's probably JimmyZ I should be mentioning this to more than you :))
20:18 jnthn not_gerd: Thanks for the link...if only this hotel wifi will ever open it...
20:23 jnthn hmm...the places where stuff gets added to libuv structs probably makes teasing it apart a bit harder, though...
20:24 jnthn Anyways, probably more useful to discuss this when more folks are here :)
20:24 jnthn And when I'm not conf exhausted. :)
20:25 not_gerd slacker - only 3 talks: you're only allowed to feel exhausted after at least a dozen ;)
20:26 jnthn :P
20:26 jnthn Well, I did work hard on some beers too.
20:27 not_gerd btw, the Rust guys are also working on better libuv integration
20:27 not_gerd I posted https://github.com/mozilla/rust/issues/4419 a few days ago
20:27 not_gerd might be worth looking into their design work
20:28 jnthn thanks, will do, looks interesting
20:34 jnthn yes, it's interesting, but I need to read it again when I'm less tired and explore the links
20:34 jnthn not_gerd++
20:35 jnthn Time for an early night here...after staying up until 4am or so last night :)
20:35 jnthn o/
20:37 not_gerd good night
20:50 not_gerd left #moarvm
22:43 benabik joined #moarvm

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