00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:00:12  * brsonquit (Ping timeout: 264 seconds)
00:09:04  * hzjoined
00:11:50  * mikealquit (Quit: Leaving.)
00:37:33  * loladirojoined
00:38:47  * qmx|awaychanged nick to qmx
00:41:07  * mikealjoined
00:42:42  * bnoordhuisjoined
00:47:35  * bnoordhuisquit (Ping timeout: 260 seconds)
01:01:28  * hzquit
01:26:53  * mikealquit (Quit: Leaving.)
01:41:15  * jmar777quit (Ping timeout: 256 seconds)
01:57:05  * mikealjoined
02:21:24  * c4milojoined
02:57:30  * qmxchanged nick to qmx|away
03:06:52  * trevnorrisjoined
03:19:15  * c4miloquit (Read error: Connection reset by peer)
03:19:18  * c4milo_joined
03:53:35  * benoitcquit (Excess Flood)
03:57:43  * trevnorrisquit (Quit: Leaving)
03:58:37  * benoitcjoined
04:36:30  * loladiroquit (Quit: loladiro)
05:07:01  * benoitcquit (Excess Flood)
05:11:37  * benoitcjoined
05:13:59  * c4milo_quit (Remote host closed the connection)
05:58:09  * piscisaureus_joined
06:00:32  * wolfeidauquit (Remote host closed the connection)
06:04:20  * indexzerojoined
06:12:51  * russell_hquit (Ping timeout: 260 seconds)
06:16:19  * AvianFluquit (Remote host closed the connection)
06:16:35  * loladirojoined
06:21:52  * russell_hjoined
06:34:59  * paddybyersjoined
06:51:59  * piscisaureus_quit (Ping timeout: 255 seconds)
06:59:42  * indexzeroquit (Quit: indexzero)
07:31:34  * V1joined
07:33:16  * V1changed nick to `3rdEden
07:43:29  * rendarjoined
07:43:30  * rendarquit (Excess Flood)
07:43:50  * rendarjoined
08:09:24  * `3rdEdenquit (Remote host closed the connection)
08:15:00  * benoitcquit (Excess Flood)
08:25:40  * benoitcjoined
08:51:17  * piscisaureus_joined
09:16:24  * loladiroquit (Quit: loladiro)
09:42:55  * wolfeidaujoined
10:05:21  * `3rdEdenjoined
10:09:36  * bnoordhuisjoined
10:15:01  * bnoordhuisquit (Ping timeout: 244 seconds)
10:27:02  * hzjoined
10:31:15  * piscisaureus_quit (Ping timeout: 252 seconds)
11:08:56  * hzquit
11:21:47  * bnoordhuisjoined
11:26:16  * bnoordhuisquit (Ping timeout: 245 seconds)
11:47:13  * qmx|awaychanged nick to qmx
12:00:35  * bnoordhuisjoined
12:05:35  * benoitcquit (Excess Flood)
12:09:17  * benoitcjoined
12:21:24  <indutny>bnoordhuis: hey man
12:21:27  <indutny>bnoordhuis: how are you doing?
12:21:28  <bnoordhuis>indutny: ho man
12:21:33  <bnoordhuis>i'm okay. you?
12:21:39  <indutny>yeah, me too
12:21:54  <indutny>I wanted to exploit your knowledge of libev a little
12:22:00  <indutny>do you have a minute for this?
12:22:16  <bnoordhuis>sure
12:22:26  <indutny>ok
12:22:28  <indutny>so the problem is
12:22:34  <indutny>that ev_io callback is invoked
12:22:37  <indutny>after ev_io_stop
12:22:57  <indutny>have you ever seen this?
12:23:05  <indutny>I mean we've used libev for quite a long time
12:23:09  <bnoordhuis>i don't think so
12:23:15  <indutny>and I guess this bug should have been shown eventually if its present
12:23:19  <bnoordhuis>when you call ev_io_stop, libev removes it from the list
12:23:21  <indutny>interesting
12:23:23  <indutny>yes
12:23:24  <indutny>I know
12:23:25  <indutny>I see this code
12:23:37  <indutny>I just know that code path with ev_io_stop is definitelly called
12:23:50  <indutny>because memory allocated for ev_io structure is freed
12:23:59  <indutny>and there're only one place that calls free() in code
12:24:05  <indutny>and it calls ev_io_stop before it
12:24:08  <indutny>but
12:24:14  <indutny>ev_io_start's callback is called later anyway
12:24:32  <bnoordhuis>start debugger, put breakpoint on callback, inspect stack frames when hit?
12:24:39  <indutny>haha
12:24:45  <indutny>I can do only postmortem
12:24:49  <indutny>and I've stack frames
12:25:00  <indutny>that's why I know what's happening
12:25:48  <indutny>ok, thank you anyway
12:25:51  <bnoordhuis>can't think of a good reason why that happens unless you're corrupting data structures somewhere
12:25:51  <indutny>I'll continue looking
12:25:56  <bnoordhuis>good luck :)
12:25:57  <indutny>bnoordhuis: exactly
12:26:05  <indutny>bnoordhuis: that's what I'm afraid of
12:31:44  * benoitcquit (Excess Flood)
12:32:53  <indutny>bnoordhuis: interesting thing is that watcher itself seems to be correct
12:32:57  <indutny>but w->active = 0
12:33:07  <indutny>when passed to invoke_pending
12:33:13  <indutny>s/to/through/
12:33:28  <bnoordhuis>yes, that's odd
12:34:06  * paddybyers_joined
12:35:03  * paddybyersquit (Ping timeout: 260 seconds)
12:35:03  * paddybyers_changed nick to paddybyers
12:37:17  * benoitcjoined
12:43:25  * sgallaghjoined
12:51:25  <mmalecki>bnoordhuis: hey. any way to send ICMP packet with libuv?
12:51:55  <bnoordhuis>mmalecki: with uv_poll_t but you'll have to create the raw socket yourself
12:52:10  <mmalecki>yeah, the raw socket creation is what I mean :)
12:52:17  <mmalecki>okay then, writing a module
12:52:23  <mmalecki>uv_icmp
12:57:53  <indutny>heh
13:00:46  <MI6>joyent/node: Ben Noordhuis master * d5a5ae3 : test: fix common.mustCall Don't run the 'has function been called?' chec - http://git.io/WJwzqg
13:07:01  <mmalecki>bnoordhuis: actually, ugh, any idea why `ping` doesn't need root
13:07:02  <mmalecki>?
13:07:11  <bnoordhuis>mmalecki: on linux or?
13:07:13  <mmalecki>I can't seem to find it on the interwebs
13:07:17  <mmalecki>bnoordhuis: yeah, linux
13:07:22  <bnoordhuis>CAP_NET_ADMIN
13:07:58  <bnoordhuis>oh and/or maybe CAP_NET_RAW
13:08:16  <bnoordhuis>probably the latter, CAP_NET_ADMIN also lets you do a lot of other stuff
13:08:41  <mmalecki>ah, so setcap, basically
13:08:56  <mmalecki>thanks, didn't know that was a capability
13:09:13  * jmar777joined
13:15:18  * hzjoined
13:18:26  * qmxchanged nick to qmx|away
13:32:41  * benoitcquit (Excess Flood)
13:33:54  * indexzerojoined
13:36:47  * benoitcjoined
13:54:47  * sgallaghquit (Remote host closed the connection)
13:56:47  * Raltquit (Remote host closed the connection)
14:16:04  * indexzeroquit (Quit: indexzero)
14:23:05  * jmar777quit (Remote host closed the connection)
14:24:01  * jmar777joined
14:24:49  * jmar777quit (Remote host closed the connection)
14:41:34  * bnoordhu1sjoined
14:46:45  * indexzerojoined
14:51:14  * mikealquit (Quit: Leaving.)
14:51:42  * indexzeroquit (Quit: indexzero)
14:54:41  * sgallaghjoined
14:56:06  * c4milojoined
15:06:28  * kuplatup1ujoined
15:06:35  * saghul_joined
15:07:05  * saghulquit (Ping timeout: 276 seconds)
15:07:05  * benoitcquit (Ping timeout: 276 seconds)
15:07:06  * kuplatupsuquit (Ping timeout: 276 seconds)
15:07:06  * philips_quit (Ping timeout: 276 seconds)
15:07:07  * saghul_changed nick to saghul
15:12:36  * hzquit
15:14:00  * philips_joined
15:14:17  * benoitcjoined
15:18:54  * sgallaghquit (Ping timeout: 252 seconds)
15:24:32  * qmx|awaychanged nick to qmx
15:37:41  * loladirojoined
15:48:40  * loladiroquit (Quit: loladiro)
16:06:01  * bradleymeckjoined
16:08:26  * AvianFlujoined
16:19:29  * indexzerojoined
16:19:41  * indexzeroquit (Client Quit)
16:20:01  * indexzerojoined
16:34:16  * `3rdEdenchanged nick to `3E|Dinner
16:36:46  * creationixquit (Ping timeout: 246 seconds)
16:39:56  <MI6>joyent/node: Ben Noordhuis master * ed3d553 : typed arrays: make call-as-function work for ctors Turn call-as-function (+1 more commits) - http://git.io/wtN5Xw
16:40:00  * creationixjoined
16:47:21  * sgallaghjoined
16:48:43  * paddybyersquit (Remote host closed the connection)
16:49:23  * paddybyersjoined
16:52:51  * trevnorrisjoined
16:55:19  * paddybyersquit (Ping timeout: 246 seconds)
17:09:23  * c4miloquit (Remote host closed the connection)
17:09:23  <trevnorris>bnoordhu1s: anymore thoughts about buffer/arraybuffer?
17:12:28  * c4milojoined
17:20:42  * dapjoined
17:21:16  <bnoordhu1s>trevnorris: no, not really
17:22:42  <trevnorris>i like it. hope something can be figured out before 0.10.
17:26:36  * bnoordhuisquit (Ping timeout: 264 seconds)
17:32:54  * c4miloquit (Remote host closed the connection)
17:35:52  <bnoordhu1s>trevnorris: i guess the one controversial change is changing Buffer#slice()
17:36:27  <trevnorris>and by that you mean just the api, not how it works internally, right?
17:36:37  <bnoordhu1s>trevnorris: yep
17:37:22  <trevnorris>well, fwiw it wouldn't add much code complexity.
17:39:55  <isaacs>bnoordhu1s, trevnorris: I'm not strongly opposed to changing that.
17:40:52  <isaacs>making it work more like string/array.slice() is kinda nice, i geuss
17:41:26  <bnoordhu1s>okay, let's do it then
17:43:05  <trevnorris>how can you get a full stacktrace from a trycatch? tried try_catch.StackTrace() but it's just giving me the current method.
17:46:09  * qmxchanged nick to qmx|lunch
17:51:33  <bnoordhu1s>trevnorris: StackTrace()->AsArray()?
17:52:01  <bnoordhu1s>or iterate over them with GetFrameCount() and GetFrame()
17:53:30  <trevnorris>bnoordhu1s: ok. i'll give that a shot. and nice call on the assert(). saved me from figuring out where the seg fault was coming from.
17:56:15  <trevnorris>isaacs: so the issue is that MakeCallback is called with process.domain set as an empty object. still trying to figure out how that's possible.
17:56:21  * bnoordhu1schanged nick to bnoordhuis
17:57:05  <isaacs>trevnorris: is this before src/node.js has run, perhaps?
17:57:20  <isaacs>trevnorris: otherwise, process.domain will be null, but not Empty
17:57:55  <trevnorris>isaacs: this only happens on the "isDirectory" test in test/simple/test-domain.js
17:59:28  <bnoordhuis> 26 cipher = EVP_get_cipherbyname(cipherType);
17:59:31  <bnoordhuis> 27 if(!cipher) {
17:59:34  <bnoordhuis> 28 fprintf(stderr, "node-crypto : Unknown cipher %s\n", cipherType);
17:59:37  <bnoordhuis> 29 return false;
17:59:40  <bnoordhuis> 30 }
17:59:43  <bnoordhuis>^ wut?
18:00:03  <bnoordhuis>why doesn't that just throw an exception
18:00:49  <isaacs>bnoordhuis: maybe because node_crypto.cc is ancient garbage?
18:00:56  <isaacs>bnoordhuis: looks like you've found a bug.
18:01:58  <isaacs>trevnorris: what do you mean by "empty object"?
18:02:14  <trevnorris>isaacs: i mean it's a {}, with nothing inside.
18:02:29  <isaacs>are you sure it's not a {} that inherits from Domain.prototype?
18:02:51  <isaacs>oh, no, it wouldn't be, becuase it's got the EE stuff on it then
18:02:54  <isaacs>wtf.
18:03:05  <isaacs>trevnorris: code?
18:03:35  <trevnorris>isaacs: it's my pr 4687, all up to date.
18:03:47  <trevnorris>just run that against test/simple/domain-test.js and you should see it
18:11:58  * c4milojoined
18:18:40  * `3E|Dinnerchanged nick to `3rdEden
18:19:54  * TooTallNatejoined
18:20:08  * qmx|lunchchanged nick to qmx
18:31:06  <isaacs>trevnorris: k, i'll check it out
18:32:07  <trevnorris>isaacs: thanks.
18:35:31  * loladirojoined
18:36:58  * qmxchanged nick to qmx|brb
18:40:16  * TheJHjoined
18:44:47  * bnoordhuisquit (Ping timeout: 255 seconds)
18:50:12  * bnoordhuisjoined
18:51:05  * sgallaghquit (Ping timeout: 255 seconds)
18:52:08  * mcavagejoined
18:55:48  * qmx|brbchanged nick to qmx
18:55:54  * `3rdEdenquit (Quit: OHAIBAI)
19:00:59  * V1joined
19:03:23  * bradleymeckquit (Quit: bradleymeck)
19:03:41  <trevnorris>isaacs: ok. accidently used !...->IsNull(), so wasn't passing the null value domains.
19:03:45  <trevnorris>so it is equal to null.
19:06:42  <trevnorris>isaacs: but another issue w/ the same test. "TypeError: Cannot call method 'isDirectory' of undefined"
19:09:57  * bradleymeckjoined
19:14:57  * V1changed nick to `3rdEden
19:15:03  <trevnorris>isaacs: ah suck. so i forgot to process the nextticks at the end of the function call. give me a bit and should be fixed.
19:18:17  * mcavagequit (Remote host closed the connection)
19:18:53  * lohkeyjoined
19:19:20  * bradleymeckquit (Quit: bradleymeck)
19:28:35  <isaacs>bnoordhuis: i think this is pending your review: https://github.com/isaacs/node/compare/econnreset
19:32:07  * loladiroquit (Quit: loladiro)
19:38:47  * sgallaghjoined
19:39:57  * brsonjoined
19:43:39  * bradleymeckjoined
19:44:24  * benoitcquit (Excess Flood)
19:48:50  * benoitcjoined
19:55:27  * mcavagejoined
20:02:00  <indutny>isaacs: hi
20:02:04  <indutny>just wanted to say
20:02:14  <indutny>I'll miss standup this week
20:02:21  <indutny>hopefuly you guys too
20:02:22  <indutny>:)
20:03:07  * jmar777joined
20:03:39  <isaacs>ok
20:15:19  <trevnorris>isaacs: well that wasn't the issue. when process.domain === null, is that supposed to mean anything special?
20:15:41  <MI6>joyent/node: Ben Noordhuis master * c7b84a1 : fs: fix immediate WriteStream#end() Fix an exception that was raised whe - http://git.io/6A-yMw
20:16:24  <bnoordhuis>isaacs: lgtm
20:17:29  * jmar777quit (Read error: Connection reset by peer)
20:18:08  * jmar777joined
20:21:41  <isaacs>trevnorris: when domain === null, that means "no domain here"
20:22:35  <trevnorris>isaacs: figured. thanks.
20:32:17  <MI6>joyent/node: isaacs master * 862b164 : test: update http tests for ECONNRESET change (+1 more commits) - http://git.io/riMVbA
20:38:14  <trevnorris>isaacs: just need a sanity check, so the domain should carry through each tick of a domain, right?
20:38:40  <isaacs>trevnorris: you mean, if you do a nextTick(cb) in a domain, then cb() runs in teh context of that domain?
20:38:43  <isaacs>trevnorris: if so, yes.
20:39:00  <isaacs>trevnorris: if you mean that the domain remains active past the current tick, then no.
20:39:16  <isaacs>trevnorris: it deactivates at the end of the tick, then re-activates if the tock object has a link to a domain
20:41:21  <trevnorris>isaacs: yeah, thought so. thanks.
20:48:35  <trevnorris>isaacs: my latest is up. working well, except can't figure out why domains aren't passing through nextTick.
20:48:52  <trevnorris>isaacs: i've traced the initial nextTick call and the domain is showing up.
20:55:00  * hzjoined
20:55:07  <trevnorris>isaacs: ugh, suck a duck. got it. if the first callback in a tick doesn't have a domain then it's passed to the no tick callback.
20:59:30  * bradleymeckquit (Quit: bradleymeck)
21:00:38  * lohkey_joined
21:01:42  <trevnorris>isaacs: i'll get it. with both commit's we're pushing +10% better performance just a couple quirks to work out.
21:02:45  * lohkey__joined
21:03:33  * lohkeyquit (Ping timeout: 276 seconds)
21:03:33  * lohkey__changed nick to lohkey
21:04:22  * lohkey_quit (Read error: Connection reset by peer)
21:09:54  * trevnorrisquit (Quit: Leaving)
21:10:56  * trevnorrisjoined
21:11:17  * trevnorrisquit (Client Quit)
21:13:00  * trevnorrisjoined
21:20:34  * wolfeidauquit (Remote host closed the connection)
21:27:13  * lohkeyquit (Read error: Connection reset by peer)
21:27:22  * lohkeyjoined
21:29:20  * lohkeyquit (Read error: Connection reset by peer)
21:29:31  * lohkeyjoined
21:30:59  * loladirojoined
21:31:33  * loladiroquit (Client Quit)
21:39:09  * trevnorrisquit (Quit: Leaving)
21:40:10  * wolfeidaujoined
21:42:03  * jmar777quit (Remote host closed the connection)
21:42:37  * loladirojoined
21:46:16  * lohkey_joined
21:46:32  * lohkey_quit (Read error: Connection reset by peer)
21:46:44  * lohkey_joined
21:46:46  * lohkeyquit (Read error: Connection reset by peer)
21:46:46  * lohkey_changed nick to lohkey
21:46:48  * lohkeyquit (Client Quit)
21:52:41  <roxlu>uv_run(loop, UV_RUN_NOWAIT) blocks on linux with a libuv from a couple of days ago (?)
21:54:20  * rendarquit
21:55:01  * lohkeyjoined
21:55:01  * lohkeyquit (Client Quit)
21:55:11  * lohkeyjoined
21:55:27  * lohkeyquit (Client Quit)
21:58:53  <saghul>roxlu I haven't seen it happening, do you have a test case?
21:59:45  * sgallaghquit (Remote host closed the connection)
22:00:37  <roxlu>saghul: no, I would need to create one
22:00:50  <roxlu>but I'm doing a project for Mac and just tested it on linux
22:00:56  <roxlu>on mac / windows it works (same code)
22:01:32  <roxlu>but saghul this is the code I use: https://github.com/roxlu/roxlu/blob/master/addons/Buttons/src/buttons/Server.cpp
22:02:06  <roxlu>the C-functions, here: https://github.com/roxlu/roxlu/blob/master/addons/Buttons/src/buttons/Server.cpp#L282 are based on the 'test' and online doc
22:03:59  <saghul>I se no code calling update (which calls uv_run), are you sure it that exact place?
22:04:07  <roxlu>saghul: it stops at https://github.com/roxlu/roxlu/blob/master/addons/Buttons/src/buttons/Server.cpp#L47
22:04:28  <saghul>can you strace it?
22:04:48  * roxlugoogling
22:06:22  <txdv>hei saghul
22:06:29  <saghul>hei txdv
22:06:54  <txdv>https://github.com/txdv/libuv/tree/addr-struct-by-ref3
22:07:08  <txdv>it is a WIP, since it needs windows love
22:09:04  <saghul>txdv awesome
22:09:17  <saghul>txdv why does uv__send need addrlen?
22:09:32  <saghul>can't it be guessed with sockaddr.sa_family ?
22:10:03  <txdv>well uv__send is internal and that addrlen is being provided (by guessin from sa_family) one level earlier
22:10:28  <roxlu>saghul: https://gist.github.com/roxlu/0179424a5a3fa4ca445c <-- strace output
22:12:03  <saghul>txdv I see. But does it add any benefits or is it just for convenience?
22:12:25  * `3rdEdenquit (Remote host closed the connection)
22:12:52  <txdv>convenience
22:13:00  <txdv>didn't want to change the underlyig code
22:15:01  <saghul>since you are there, it may be good to change that as well IMHO
22:15:16  <txdv>i am where?
22:15:35  <txdv>what is your proposed change?
22:18:57  <saghul>txdv since you are touching that code :-) I mean remove addrlen from uv__send
22:20:19  <MI6>joyent/node: Ben Noordhuis master * f5f9e8d : crypto: improve cipher/decipher error messages Throw the OpenSSL error s - http://git.io/NRH8Ng
22:42:56  * `3rdEdenjoined
22:51:29  * bnoordhuisquit (Ping timeout: 255 seconds)
22:51:34  * `3rdEdenquit (Ping timeout: 256 seconds)
22:51:50  * TheJHquit (Ping timeout: 240 seconds)
22:53:33  <isaacs>indutny: ping
22:53:41  <isaacs>indutny: i think i might've found something broken with cryptostreams...
22:58:01  <isaacs>indutny: check this out: https://gist.github.com/4758403
22:58:56  * qmxchanged nick to qmx|away
22:58:58  <isaacs>indutny: memory goes up and up, data never gets to the server.
23:05:06  * c4miloquit (Remote host closed the connection)
23:08:34  <indutny>pong
23:08:40  <indutny>isaacs: interesting
23:08:52  <indutny>I'll look into it a little bit later
23:08:54  <indutny>probably tomorrow
23:08:56  <indutny>isaacs: ok?
23:12:04  * benoitcquit (Excess Flood)
23:16:20  * benoitcjoined
23:19:02  <isaacs>indutny: ohh,, i think i found it
23:19:07  <isaacs>i'll have a pr for you tomorrow morning :)
23:19:21  <isaacs>dream of read(0) causing needReadable=true, triggering excessive calls to _read()
23:19:24  <isaacs>indutny: :)
23:20:38  * wolfeidauquit (Read error: Connection reset by peer)
23:20:55  * wolfeidaujoined
23:22:23  * bradleymeckjoined
23:24:11  <txdv>come on and slam
23:24:16  <txdv>and welcome to the jam
23:24:39  * wolfeidauquit (Read error: Connection reset by peer)
23:24:55  * wolfeidaujoined
23:32:30  * jmar777joined
23:34:56  * hzquit
23:50:47  * loladiroquit (Ping timeout: 260 seconds)
23:53:26  * c4milojoined
23:59:38  * piscisaureus_joined