00:00:02  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:01:37  * inolenjoined
00:02:29  * alexforsterjoined
00:07:11  * s3shsjoined
00:08:13  * avalanche123quit (Remote host closed the connection)
00:11:01  * s3shsquit (Client Quit)
00:11:37  * s3shsjoined
00:16:21  * s3shsquit (Client Quit)
00:17:31  * inolenquit (Quit: Leaving.)
00:19:52  * zjuquit (Read error: Connection reset by peer)
00:19:53  * zju3quit (Read error: Connection reset by peer)
00:21:25  * inolenjoined
01:13:31  * Ralithquit (Ping timeout: 240 seconds)
01:25:03  * dap_quit (Quit: Leaving.)
01:32:14  * bradleymeckjoined
01:35:43  * Ralithjoined
01:52:45  * qardquit (Quit: My Mac has gone to sleep. ZZZzzz…)
01:57:15  * jgiquit (Quit: jgi)
02:31:47  * qardjoined
02:44:06  * qardquit (Quit: Textual IRC Client: www.textualapp.com)
02:50:10  * toothrotquit (Ping timeout: 265 seconds)
03:13:36  * bradleymeckquit (Quit: bradleymeck)
03:29:24  * jgijoined
03:44:57  * alexforsterquit
04:10:30  * jgiquit (Quit: jgi)
05:00:51  * inolenquit (Ping timeout: 240 seconds)
05:14:36  * jgijoined
05:19:42  * jgiquit (Quit: jgi)
06:07:42  * mmickojoined
06:26:49  * inolenjoined
06:28:04  * terinjokesquit (Excess Flood)
06:28:35  * terinjokesjoined
06:29:57  * rmgquit (Remote host closed the connection)
07:21:43  * SergeiRNDjoined
07:26:44  * zju4joined
07:30:45  * rmgjoined
07:35:36  * rmgquit (Ping timeout: 264 seconds)
07:41:45  * rendarjoined
07:42:02  * roxlujoined
08:01:39  <rendar>saghul: sorry i had to quit yesterday, we were saying if N uv_work_t objects are executed by N different threads in the threadpool or by only 1 thread
08:10:57  * saghul_joined
08:31:40  * Fishrock123joined
08:39:36  * Fishrock123quit (Remote host closed the connection)
08:53:03  * dignifiedquirejoined
09:05:25  * Fishrock123joined
09:39:19  * seishunjoined
09:58:56  * Jan____changed nick to jan____
09:59:04  * saghul_quit (Read error: Connection reset by peer)
09:59:44  * saghul_joined
10:02:43  * saghul_quit (Read error: Connection reset by peer)
10:07:10  * saghul_joined
10:09:18  * Fishrock123quit (Quit: Leaving...)
10:13:08  * saghul_quit (Ping timeout: 256 seconds)
10:13:41  * saghul_joined
10:57:36  * bradleymeckjoined
11:06:05  * SergeiRNDquit (Quit: Leaving.)
11:38:30  * SergeiRNDjoined
11:49:57  * bradleymeckquit (Quit: bradleymeck)
12:05:27  * bradleymeckjoined
12:09:42  * danielijoined
12:23:12  * saghul_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
12:28:48  * toothrotjoined
12:41:40  * roxluquit (Quit: My Mac has gone to sleep. ZZZzzz…)
12:44:22  * roxlujoined
13:32:51  * davi_joined
13:33:15  * davi_changed nick to Guest62159
13:42:55  * Guest62159quit (Ping timeout: 246 seconds)
13:53:08  <saghul>rendar: the N objects are executed using M threads (the number of threads in the pool, by default 4)
13:58:41  <rendar>yeah
13:58:52  <rendar>so basically you have multithreading with that
13:59:05  <rendar>but those threads of the threadpool are not the same threads used for doing I/O right?
14:10:42  * alexforsterjoined
14:14:52  <saghul>no
14:15:28  <saghul>you do have multithreading, but you cannot call any handle or loop apis in the work callback, it's not thread safe
14:16:26  <rendar>saghul: right
14:19:45  * davi__joined
14:20:20  * saghul_joined
14:27:34  * mmickoquit (Ping timeout: 250 seconds)
14:33:42  * rmgjoined
14:38:31  * rmgquit (Ping timeout: 255 seconds)
14:42:37  * bradleymeckquit (Quit: bradleymeck)
14:45:00  * edwin_liujoined
14:46:18  * edwin_liu_joined
14:49:14  * edwin_liuquit (Ping timeout: 246 seconds)
14:49:52  <edwin_liu_>Hi , currently I am using visual studio, and I want to debug specific test case of libuv , for example test-async
14:50:47  <edwin_liu_>but it seems does not attach to the break point
14:51:02  <edwin_liu_>TEST_IMPL(async) {
14:51:18  <edwin_liu_>so how should I do , thanks
14:58:05  * danieliquit (Quit: *does an epic backflip into nowhere*)
15:05:10  * toothrotquit (Ping timeout: 246 seconds)
15:06:21  * erikjquit (Quit: kfonx)
15:06:54  * erikjjoined
15:17:48  * jgijoined
15:20:39  * jgiquit (Client Quit)
15:22:37  * avalanche123joined
15:24:06  * jgijoined
15:26:41  * SergeiRNDquit (Quit: Leaving.)
15:29:54  * SergeiRNDjoined
15:30:28  <jeremyw>You need to install this: http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/24/introducing-the-child-process-debugging-power-tool.aspx
15:30:56  <jeremyw>Once you install that, you should be able to add 'run-tests.exe' to the processes to be debugged and you can start debugging the spawned tests.
15:31:00  <jeremyw>I'm doing this now.
15:31:08  <jeremyw>Sometimes it still doesn't catch but after a rebuild, it works fine.
15:31:23  * avalanche123quit (Remote host closed the connection)
15:31:34  * jgiquit (Quit: jgi)
15:33:12  * SergeiRNDquit (Client Quit)
15:34:08  <jeremyw>edwin_liu_: ^^^
15:41:44  <edwin_liu_>Hmm...
15:42:14  <edwin_liu_>I try it ,
15:47:11  * rmgjoined
15:58:22  * davi__quit (Ping timeout: 246 seconds)
16:06:45  * jgijoined
16:07:49  <jeremyw>It's what I'm doing now.
16:09:15  <edwin_liu_>great , it works :)
16:09:15  <edwin_liu_>Thanks very much:)
16:09:15  <edwin_liu_>with the test case , I will know more about libuv
16:09:15  <edwin_liu_>thanks Jeremyw
16:09:15  <edwin_liu_>so you are also studying libuv ?
16:09:35  <jeremyw>:)
16:09:43  <jeremyw>I'm doing my best to be useful, that's all.
16:10:30  <edwin_liu_>great!!
16:10:33  * jgiquit (Client Quit)
16:11:29  <edwin_liu_>currently my main work it to make nodejs support multithread , so most of the time I need to use libuv a lot
16:12:12  <edwin_liu_>Thanks again
16:12:14  * edwin_liu_quit (Remote host closed the connection)
16:12:16  <jeremyw>np
16:12:41  * edwin_liujoined
16:14:40  * roxluquit (Quit: My Mac has gone to sleep. ZZZzzz…)
16:24:59  * bradleymeckjoined
16:30:08  * evanlucasjoined
16:32:21  * saghul_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:34:25  * edwin_liuquit (Remote host closed the connection)
16:39:06  * davi_joined
16:39:30  * davi_changed nick to Guest45512
17:37:11  * inolenquit (Ping timeout: 244 seconds)
17:38:30  <jeremyw>indutny: ping (Sorry for the double ping, didn't mean to ping in io.js)
17:39:41  <jeremyw>indutny: Long story short, I am trying to update test-ipc-send-recv.c per issues/505 (Two write requests to the same tcp pipe on Windows) and I'm having a heck of a time getting the test to not produce ERROR_NO_DATA on the second uv_write2 call. I can't tell where the pipe could be closed.
17:39:47  <jeremyw>Another set of eyes would be appreciated.
17:56:43  * ncthom91joined
17:58:00  * ncthom91quit (Client Quit)
18:00:51  * bradleymeckquit (Quit: bradleymeck)
18:03:53  * bradleymeckjoined
18:08:34  * dap_joined
18:21:30  * inolenjoined
18:27:53  * roxlujoined
18:31:21  * SergeiRNDjoined
18:44:16  * Guest45512quit (Ping timeout: 246 seconds)
18:50:04  * SergeiRNDquit (Quit: Leaving.)
18:54:36  * qardjoined
19:05:00  * qardquit (Quit: My Mac has gone to sleep. ZZZzzz…)
19:08:58  * Jacob8432joined
19:11:36  <indutny>jeremyw: pong
19:12:13  <indutny>sorry, I don't even remember the test
19:12:16  <indutny>what is it about?
19:12:17  * Jacob843quit (Ping timeout: 244 seconds)
19:20:05  * qardjoined
19:21:54  * Jacob8432quit (Quit: Leaving)
19:22:09  * Jacob843joined
19:40:38  <jeremyw>indutny: ipc send/recv
19:40:48  <indutny>thanks :)
19:40:59  <jeremyw>haha
19:41:33  <jeremyw>So, the current test spawns a child that will read and then close. If I create one write request, all is well.
19:41:46  <jeremyw>If I create two write requests, the second one gives a "no data" error.
19:41:56  <jeremyw>It seems this happens if you write to a closing/closed pipe.
19:42:25  <jeremyw>But it only happens on Windows and I can't seem to figure ouw how the pipe is in a closing/closed state.
19:43:00  <jeremyw>I'm thinking the test was written to only do one write/read but I'm just having a hard time making sense of it.
19:43:41  <jeremyw>Even worse, the spawned children can finish with a 0 exit without having ever read anything. (That last bit might not be 100% accurate and could be a result of long-lived debugger)
19:44:25  <jeremyw>Here is the change I'm working with: http://pastie.org/private/eaunxcsxeeddtuuax2sofa (I just want to create another write operation on the same pipe to trigger the issue in 505).
19:44:46  <jeremyw>EOM
19:44:46  * rendarquit (Ping timeout: 250 seconds)
19:45:08  <jeremyw>indutny: If you're not interested, feel free to let me know. I'm just stuck and hoping another set of eyes can help me figure out what I'm missing.
19:45:42  <indutny>ok, I'm looking
19:46:30  * bradleymeckquit (Quit: bradleymeck)
19:46:51  <indutny>jeremyw: have you seen `recv_cb`?
19:47:00  <indutny>jeremyw: it is closing the pipe upon receiving the first chunk
19:47:58  <jeremyw>I saw that. :)
19:48:10  <indutny>jeremyw: so yes, it is ok :)
19:48:14  <indutny>jeremyw: it should error
19:48:18  <jeremyw>But the problem is prior to that.
19:48:19  <indutny>it may not sometimes
19:48:36  <indutny>well, the implementation may be different
19:48:42  <indutny>on unixes it may coalesce the data
19:48:46  <jeremyw>If you call uv_write2 twice, the second call fails so the loop never runs so recv_cb shouldn't be called at all yet.
19:48:46  <indutny>into a single packet
19:48:56  <indutny>hm...
19:49:14  <indutny>I see...
19:49:57  <indutny>jeremyw: which particular error do you get?
19:49:57  <jeremyw>I thought maybe the spawned children were closing prior to the test loop starting but I don't see how.
19:50:48  <jeremyw>ERROR_NO_DATA which gets turned into a UV_EPIPE.
19:50:51  * rendarjoined
19:51:38  <indutny>I see
19:51:47  <indutny>you know
19:51:59  <indutny>other side of the pipe is a different process
19:52:07  <indutny>so it may have received the data packet by that time
19:52:14  <indutny>it doesn't need a libuv event loop tick to happen
19:52:19  <indutny>many writes are happening immediately
19:52:24  <indutny>for performance reasons
19:52:53  <jeremyw>Ah...that makes sense. I think I saw that but I wasn't sure.
19:53:28  <jeremyw>So recv_cb could be called immediately evenb efore the loop starts?
19:53:41  <jeremyw>Which means the pipe is closed and the second write request fails.
19:54:04  <jeremyw>I'm pretty sure I tried this but maybe I mistakenly thought the new error was the same as the old one.
19:54:15  <indutny>jeremyw: yep
19:54:25  <indutny>jeremyw: I think you hit this thing
19:54:44  <jeremyw>Will you be here for a few? I'd like to try to see if I can test this.
19:54:49  <jeremyw>I really appreciate your help.
19:54:57  <jeremyw>I saw what was up but I didn't realize it was on purpose.
19:55:40  <jeremyw>So basically, I need to keep track of what was read so that I can close the pipe after all writes have been processed.
19:56:11  <jeremyw>Does that sound right?
20:00:52  <jeremyw>What's wild is I do not see the second recv_cb being called. And when it's called once, I do not see both writes being processed. Interesting...
20:06:03  <indutny>jeremyw: sorry, I'm on different thing atm
20:06:35  <jeremyw>No sweat. If you get some time, I'll be here. If not, no problem.
20:07:06  * edwin_liujoined
20:07:39  <jeremyw>I bet something in recv_cb is causing my grief. Not only do I not want to close the unnecessary things until all reads are processed but there is probably something else there I do not want to run. I just have to figure out what it is.
20:08:34  * davi_joined
20:08:58  * davi_changed nick to Guest76938
20:23:02  * roxluquit (Quit: My Mac has gone to sleep. ZZZzzz…)
20:23:11  * bradleymeckjoined
20:26:25  * Jacob8432joined
20:30:18  * Jacob843quit (Ping timeout: 244 seconds)
20:36:01  * edwin_liuquit (Read error: Connection reset by peer)
20:44:02  * Jacob8432quit (Quit: Leaving)
20:44:25  * Jacob843joined
21:01:49  * Guest76938quit (Ping timeout: 246 seconds)
21:05:41  * seishunquit (Ping timeout: 250 seconds)
21:30:14  * jgijoined
21:31:26  * jhamhaderjoined
21:51:52  <jeremyw>Well, I was able to get it almost working but I end up with the child process never returning. MAKE_VALGRIND_HAPPY() never returns. Wild...
21:52:07  * jhamhaderquit (Quit: leaving)
22:02:54  * tunniclmjoined
22:03:05  * dignifiedquirequit (Quit: dignifiedquire)
22:04:51  <jeremyw>Time to take a break...
22:10:11  * rmgquit (Read error: Connection reset by peer)
22:10:43  * rmgjoined
22:11:01  * toothrotjoined
22:20:00  * reqsharkjoined
22:22:30  * jgiquit (Quit: jgi)
22:27:21  * alexforsterquit
22:32:24  * tunniclmquit (Ping timeout: 265 seconds)
22:36:03  * inolenquit (Ping timeout: 260 seconds)
22:43:21  * avalanche123joined
22:49:49  * jgijoined
22:51:29  * jgiquit (Client Quit)
22:53:50  * jgijoined
22:58:07  * jgiquit (Client Quit)
22:59:32  * avalanche123quit (Remote host closed the connection)
23:00:16  * avalanche123joined
23:04:45  * avalanche123quit (Ping timeout: 244 seconds)
23:08:50  * rendarquit
23:19:54  * jeremywquit (Quit: leaving)
23:23:41  * jeremywjoined
23:38:39  * evanlucasquit (Quit: My Mac has gone to sleep. ZZZzzz…)