00:06:22  <bnoordhuis>interesting... turns out the client is sending as fast as the server can read, hence it loops indefinitely in uv__read()
00:07:37  * brsonquit (Ping timeout: 265 seconds)
00:09:57  <bnoordhuis>limiting the number of consecutive reads fixes the server... now to fix whatever's leaking in the client
00:14:09  * dshaw_joined
00:17:24  * ericktquit (Quit: erickt)
00:22:26  * ericktjoined
00:23:30  * brsonjoined
00:28:15  * brsonquit (Ping timeout: 256 seconds)
00:33:45  <CIA-112>node: isaacs master * rcc36cc5 / tools/installer.js : build: Don't clobber symlinked npm - http://git.io/OlM_NA
00:33:46  <CIA-112>node: isaacs master * rb9e40fb / (239 files in 22 dirs): Upgrade npm to 1.1.24 - http://git.io/hid9qQ
00:40:28  * c4miloquit (Remote host closed the connection)
00:46:58  * mikealquit (Quit: Leaving.)
01:02:14  * dapquit (Quit: Leaving.)
01:24:45  * brsonjoined
01:27:47  * abraxasjoined
01:28:54  * ericktquit (Ping timeout: 260 seconds)
01:52:42  * mjr_quit (Quit: mjr_)
01:52:51  * theColejoined
02:01:35  * brsonquit (Ping timeout: 245 seconds)
02:30:46  * isaacsquit (Remote host closed the connection)
02:33:24  * theColequit (Quit: theCole)
02:37:37  * brsonjoined
02:39:50  * c4milojoined
02:40:31  * perezdjoined
02:44:34  * TooTallNatequit (Quit: Textual IRC Client: www.textualapp.com)
02:46:10  * bnoordhuisquit (Ping timeout: 245 seconds)
02:48:16  * iraquit (Quit: Computer has gone to sleep.)
02:49:19  * russfrankquit (Remote host closed the connection)
02:54:05  * brsonquit (Ping timeout: 245 seconds)
02:55:57  * brsonjoined
03:11:51  * isaacsjoined
03:14:46  * c4miloquit (Remote host closed the connection)
03:49:50  * loladiroquit (Read error: Connection reset by peer)
03:53:22  * loladirojoined
04:03:30  * russfrankjoined
04:44:05  * avalanche123|wquit (Ping timeout: 245 seconds)
04:57:22  * isaacsquit (Remote host closed the connection)
05:35:16  * loladiroquit (Quit: loladiro)
05:36:52  * isaacsjoined
05:40:20  * perezdquit (Quit: perezd)
05:46:15  * mikealjoined
06:13:48  * mikealquit (Quit: Leaving.)
06:44:09  * mikealjoined
06:45:20  * dshaw_quit (Ping timeout: 245 seconds)
06:51:43  * stephankquit (Quit: *Poof!*)
07:02:23  * dshaw_joined
07:09:08  * paddybyersjoined
07:19:40  * rendarjoined
07:41:46  * einaros_changed nick to einaros
08:00:09  * isaacsquit (Remote host closed the connection)
08:00:54  * isaacsjoined
08:08:01  * isaacsquit (Ping timeout: 250 seconds)
08:13:39  * \toothrotjoined
08:15:21  * toothrquit (Ping timeout: 240 seconds)
08:49:31  * brsonquit (Remote host closed the connection)
09:04:07  * ibcjoined
09:11:11  * mmaleckijoined
09:20:51  * avalanche123quit (Ping timeout: 260 seconds)
09:22:31  * avalanche123joined
09:23:30  * mmalecki_joined
09:23:46  * ibcquit (Read error: Connection reset by peer)
09:27:15  * mmaleckiquit (Ping timeout: 260 seconds)
09:29:07  * mmaleckijoined
09:31:28  * ibcjoined
09:32:06  * mmalecki_quit (Ping timeout: 250 seconds)
09:50:36  * AvianFluquit (Ping timeout: 244 seconds)
09:50:55  * mmalecki_joined
09:54:12  * mmaleckiquit (Ping timeout: 250 seconds)
09:55:52  * mmalecki_quit (Ping timeout: 265 seconds)
10:13:21  * mmaleckijoined
10:15:09  * mmalecki_joined
10:18:35  * mmaleckiquit (Ping timeout: 265 seconds)
10:31:48  * mmaleckijoined
10:34:56  * mmalecki_quit (Ping timeout: 250 seconds)
10:47:36  * mmaleckiquit (Ping timeout: 252 seconds)
11:30:42  * abraxasquit (Remote host closed the connection)
11:31:23  * abraxasjoined
11:35:29  * abraxasquit (Ping timeout: 244 seconds)
11:38:31  * dshaw_quit (Quit: Leaving.)
12:30:31  * bnoordhuisjoined
12:31:22  * \toothrotchanged nick to toothr
13:13:10  <CIA-112>node: koichik v0.6 * r0742f56 / lib/punycode.js : Revert "punycode: Update to v1.0.0" - http://git.io/_nKYHQ
13:32:47  * c4milojoined
13:40:29  * irajoined
13:45:19  <CIA-112>libuv: Ben Noordhuis master * rc8c9fe1 / src/unix/udp.c : unix: move memset out of recvmsg inner loop - http://git.io/5Xn9JQ
13:45:21  <CIA-112>libuv: Ben Noordhuis master * r738b31e / (src/unix/stream.c src/unix/udp.c): unix: fix loop starvation under high network load - http://git.io/ZCapQw
13:47:33  * travis-cijoined
13:47:33  <travis-ci>[travis-ci] joyent/libuv#384 (master - c8c9fe1 : Ben Noordhuis): The build is still failing.
13:47:33  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/be9d1ce...c8c9fe1
13:47:33  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1535661
13:47:33  * travis-cipart
13:53:08  * ericktjoined
14:02:26  * piscisaureus_joined
14:02:35  <piscisaureus_>hey bnoordhuis
14:07:10  * xaqjoined
14:14:52  * TheJHjoined
14:28:10  <indutny>hey people
14:28:21  <indutny>what are our priorities for 0.8.x
14:28:23  <indutny>?
14:28:30  <indutny>piscisaureus_: ^
14:30:19  <piscisaureus_>good question
14:30:23  <piscisaureus_>getting stable I guess :-)
14:30:43  <piscisaureus_>indutny: if you're bored, maybe you can do a ref/unref binding
14:30:53  <piscisaureus_>for node processes/streams
14:30:56  <indutny>for everything?
14:31:03  <indutny>ref/unref everything!
14:31:29  <piscisaureus_>indutny: well I think it would be nice to have for processes
14:31:37  <piscisaureus_>to make AvianFlu happy
14:31:51  <indutny>oook
14:31:59  <indutny>sounds good to me
14:32:06  <indutny>what about EventEmitter speed regression?
14:32:19  <piscisaureus_>is there one?
14:34:30  <tjfontaine>ref/unref for streams would be helpful for keepalive stuff
14:34:45  <piscisaureus_>yes
14:35:01  <piscisaureus_>but implementing it for file streams may not be possible atm
14:35:26  * ericktquit (Quit: erickt)
14:35:26  <piscisaureus_>since reading from file streams uses uv_fs_read, which is not unref'able atm
14:36:29  <tjfontaine>is there a problem with only releasing it for other streams, and being a noop on fs streams?
14:36:37  <indutny>piscisaureus_: someone mentioned that on twitter
14:37:24  <piscisaureus_>tjfontaine: well, yes that would be possible, although noop-ing something is not great right
14:37:39  <tjfontaine>indeed, but throw probably isn't ideal :)
14:38:07  <piscisaureus_>tjfontaine: ok so we can just specify for the time being that only net.Socket instances can be unref'ed
14:38:09  <piscisaureus_>easy
14:38:22  <piscisaureus_>oh and processes
14:38:28  <tjfontaine>right
14:38:40  <piscisaureus_>indutny: if you want to dig into an EventEmitter speed issue, be my guest
14:40:22  <tjfontaine>hmm I wonder why process.env.DYLD_LIBRARY_PATH changes don't seem to help node-ffi, but work fine pre execution
14:41:20  <piscisaureus_>tjfontaine: well, that's what it is.
14:41:30  <bnoordhuis>piscisaureus_: ho
14:41:38  <piscisaureus_>tjfontaine: a program cannot change the load path while it is running
14:41:48  <piscisaureus_>bnoordhuis: huuu
14:42:08  <tjfontaine>piscisaureus_: hm
14:51:38  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/node/compare/joyent:master...master <- want to review that?
14:52:12  <piscisaureus_>I should upgrade libuv more often
14:52:17  <piscisaureus_>it's a good way to score karma
14:53:16  <piscisaureus_>bnoordhuis: shigeki's lgtm. (and what a stupid error, btw :-p)
14:53:57  <piscisaureus_>bnoordhuis: re fix crash in dtor if V8 is dead ... when does v8 die?
14:54:06  <bnoordhuis>piscisaureus_: need i remind you that you originally reviewed that commit?
14:54:14  <bnoordhuis>piscisaureus_: at program exit
14:54:36  <piscisaureus_>bnoordhuis: oh so the problem is that some v8 destructor runs before the slab_allocator destructor?
14:54:41  <bnoordhuis>yes
14:54:43  <piscisaureus_>aha
14:54:44  <piscisaureus_>ok
14:54:47  <piscisaureus_>lgtm
14:55:05  <CIA-112>node: Shigeki Ohtsu master * r208d171 / src/slab_allocator.cc : slab_allocator: fix leak of Persistent handles - http://git.io/8OInOQ
14:55:05  <CIA-112>node: Ben Noordhuis master * rcc0e7ef / src/slab_allocator.cc : slab_allocator: fix crash in dtor if V8 is dead - http://git.io/seGAvQ
14:55:05  <CIA-112>node: Ben Noordhuis master * r27061cc / (src/stream_wrap.cc src/udp_wrap.cc): udp_wrap, stream_wrap: lazy init slab allocator - http://git.io/0DHgcg
14:55:06  <CIA-112>node: Ben Noordhuis master * r0a2076b / (45 files in 7 dirs): deps: upgrade libuv to c8c9fe1 - http://git.io/CduBoQ
14:55:08  <piscisaureus_>I wonder why v8 doesn't check it for itself btw
14:55:17  <bnoordhuis>piscisaureus_: it does but it's an assert
14:55:41  <piscisaureus_>bnoordhuis: ok, so I didn't review "udp_wrap, stream_wrap: lazy init slab allocator" yet
14:56:07  <bnoordhuis>now he tells me...
14:56:30  <piscisaureus_>bnoordhuis: well I was just doing them top to bottom
14:57:27  <piscisaureus_>bnoordhuis: ok
14:58:24  <bnoordhuis>i guess it needs to be backported to v0.6 as well
14:58:25  <piscisaureus_>bnoordhuis: it's a shame that we now need another indirection just to keep valgrind happy. and this AtExit thing is hacky too]\
14:58:35  <bnoordhuis>what's wrong with AtExit?
15:04:27  <CIA-112>libuv: Ben Noordhuis v0.6 * r06e0319 / (src/unix/stream.c src/unix/udp.c): unix: fix loop starvation under high network load - http://git.io/ogRvPg
15:06:17  * travis-cijoined
15:06:17  <travis-ci>[travis-ci] joyent/libuv#385 (v0.6 - 06e0319 : Ben Noordhuis): The build is still failing.
15:06:17  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/dbe681e...06e0319
15:06:17  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1536466
15:06:17  * travis-cipart
15:08:12  <tjfontaine>ah libtool handles it differently of course
15:10:42  <CIA-112>node: Ben Noordhuis v0.6 * rcb76999 / (5 files in 4 dirs): deps: upgrade libuv to 06e0319 - http://git.io/cHbVzg
15:16:14  <piscisaureus_>bnoordhuis: hey
15:16:18  <bnoordhuis>piscisaureus_: ho
15:16:25  <piscisaureus_>bnoordhuis: I was wondering... why are you reading until you actually see EAGAIN
15:16:39  <piscisaureus_>bnoordhuis: isn't it more efficient to just stop when nread < buffer_size
15:16:41  <bnoordhuis>piscisaureus_: reading where?
15:16:42  * ericktjoined
15:16:58  <bnoordhuis>oh, you mean in uv__read? we already do that
15:17:06  <bnoordhuis>but it's still possible to get EAGAIN, of course
15:17:30  <piscisaureus_>bnoordhuis: just curious, does the fd also get rearmed when nread < buffer_size ?
15:17:47  <bnoordhuis>the fd doesn't get rearmed at all right now :)
15:17:57  <piscisaureus_>bnoordhuis: ok, but if you would switch to epollet?
15:18:01  <bnoordhuis>it's something i need to take care of in the epoll branch
15:18:05  <bnoordhuis>yes, exactly
15:19:19  * dshaw_joined
15:24:22  * isaacsjoined
15:24:57  * ericktquit (Ping timeout: 248 seconds)
15:25:09  * iraquit (Quit: Leaving...)
15:43:24  * mmaleckijoined
15:48:49  * mmaleckiquit (Ping timeout: 245 seconds)
15:50:29  * loladirojoined
15:52:03  * stephankjoined
15:54:06  * igorziquit (Ping timeout: 245 seconds)
15:54:06  * dshaw_quit (Quit: Leaving.)
15:58:04  * ibcquit (Remote host closed the connection)
16:04:36  * theColejoined
16:08:39  * mmaleckijoined
16:08:40  <piscisaureus_>I wonder why there is a print option in visual studio
16:08:55  <tjfontaine>how else do you archive your source code
16:10:29  * mmaleckiquit (Client Quit)
16:10:41  * mmaleckijoined
16:14:13  <russfrank>code review!
16:15:07  <isaacs>reviewing code on paper is so last century
16:15:21  * mmaleckiquit (Client Quit)
16:15:42  * mmaleckijoined
16:16:14  <indutny>isaacs: try reviewing code on perfo-cards!
16:17:43  <indutny>oh god
16:17:57  <indutny>I used eval() for parsing JSON in my node.js app, dunno how may server got hacked
16:18:16  <indutny>also SSH login/password was admin:admin
16:18:21  <tjfontaine>heh
16:18:52  * AvianFlujoined
16:18:57  <mmalecki>yeah, this thing is lulz
16:19:13  <mmalecki>like, really, someone does that?
16:19:32  <indutny>mmalecki: looks like yes
16:19:47  <indutny>mmalecki: https://twitter.com/nodejs/status/210041436429750273
16:20:13  <mmalecki>oh my.
16:20:53  <indutny>isaacs: example with createReadStream is definitely much more interesting
16:21:09  <indutny>though same mistake may be done in almost every web framework
16:22:39  * dapjoined
16:24:42  <CIA-112>libuv: Bert Belder master * ra0d2af0 / src/win/util.c : windows: detect when GetCurrentDirectoryW returns more than MAX_PATH chars - http://git.io/wI9sbQ
16:24:42  <CIA-112>libuv: Bert Belder master * r24f8a53 / src/win/util.c : windows: refactor uv_chdir implementation - http://git.io/3pIFZQ
16:26:48  * travis-cijoined
16:26:48  <travis-ci>[travis-ci] joyent/libuv#386 (master - 24f8a53 : Bert Belder): The build is still failing.
16:26:48  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/c8c9fe1...24f8a53
16:26:48  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1537191
16:26:48  * travis-cipart
16:27:48  * ericktjoined
16:33:06  <isaacs>indutny: yeah, i think it might be worth even having node do req.url = path.join('/', req.url)
16:33:12  <isaacs>indutny: solves every example of .. issues
16:33:21  <isaacs>indutny: the problem is that req.url can be a full http:// url
16:34:49  <creationix>isaacs: out of curiosity, has anyone seen that happen in the wild? What user-agents actually do that?
16:34:55  <creationix>I know it's parts of the spec, I don't doubt that
16:34:59  <isaacs>creationix: proxies do that
16:35:07  <isaacs>creationix: http proxies. that's how they work
16:35:14  <creationix>I see
16:35:24  <isaacs>so, yeah, i've seen it in the wild with http proxies ;)
16:35:41  <creationix>that explains why I've never seed it testing over localhost
16:35:49  <isaacs>i don't know of any user agents that do that for a non-proxy request, but it IS legal
16:35:49  <creationix>s/seed/seen/
16:35:58  <creationix>right
16:36:03  <isaacs>creationix: you can of course open up a tcp connection and just make it do that
16:36:21  <creationix>well, yeah for testing
16:37:45  <indutny>isaacs: why ain't we resolving this in node?
16:37:52  <indutny>isaacs: like we can pull host name out of it
16:38:00  <indutny>isaacs: and leave just an absolute url
16:38:17  <isaacs>indutny: because if you write a proxy in node, you need that full url
16:38:29  * avalanche123|wjoined
16:38:34  <indutny>isaacs: oh crap
16:39:07  * ericktquit (Quit: erickt)
16:39:24  <isaacs>so, the sanitizing logic would have to check if it's a full url with url.parse (which is not so fast, but very sanitizing), adn THEN do parsed.pathname = path.join('/', parsed.pathname), and then req.url = url.format(parsed)
16:39:57  <isaacs>Also, a common one is that decodeURIComponent() throws if you give it bogus data
16:40:07  <isaacs>which is why you must use qs.decode() instead, since that wraps it
16:40:51  <isaacs>> decodeURIComponent('%')
16:40:52  <isaacs>URIError: URI malformed
16:40:52  <isaacs> at decodeURIComponent (native)
16:40:52  <isaacs> at repl:1:2
16:40:53  <isaacs> at REPLServer.self.eval (repl.js:110:21)
16:40:55  <isaacs> at Interface.<anonymous> (repl.js:249:12)
16:40:57  <isaacs> at Interface.EventEmitter.emit (events.js:87:17)
16:40:59  <isaacs> at Interface._onLine (readline.js:183:10)
16:41:01  <isaacs> at Interface._line (readline.js:502:8)
16:41:03  <isaacs> at Interface._ttyWrite (readline.js:719:14)
16:41:05  <isaacs> at ReadStream.<anonymous> (readline.js:105:12)
16:41:07  <isaacs> at ReadStream.EventEmitter.emit (events.js:114:20)
16:41:09  <isaacs>> querystring.decode('%')
16:41:11  <isaacs>{ '%': '' }
16:42:54  * isaacsquit (Remote host closed the connection)
16:43:41  * isaacsjoined
16:46:13  <isaacs>I'm going to try to release 0.6.19 today. anything that you want to get into it, now's the time
16:49:27  <indutny>honestly, I'm much more interested in seeing 0.8 as soon as possible :P
16:49:32  * ericktjoined
16:50:29  <mmalecki>indutny: ++
16:50:29  <kohai>indutny has 24 beers
16:56:39  * loladiroquit (Quit: loladiro)
16:57:07  * TheJHquit (Read error: Operation timed out)
17:03:45  * brsonjoined
17:03:57  * irajoined
17:05:18  * mmaleckiquit (Quit: Reconnecting)
17:05:23  * mmalecki_joined
17:09:32  * mmalecki_changed nick to mmalecki
17:13:08  * bitprobejoined
17:14:16  <isaacs>indutny: yep, me too :)
17:14:25  <isaacs>indutny: i'd like to drop 0.7.10 this week some time as well
17:14:29  <isaacs>maybe thursday
17:14:31  <isaacs>then 0.8 next week
17:14:43  <isaacs>*maybe* an 0.7.11
17:14:56  <isaacs>just for the 7/11 reference :)
17:15:44  * ibcjoined
17:16:12  <ibc>hi, there must be a regresion in TCP stuf: https://github.com/joyent/libuv/issues/448
17:18:05  * theColequit (Quit: theCole)
17:20:26  <isaacs>bnoordhuis: Hey, for shimming ev_io: https://github.com/joyent/node/issues/3355#issuecomment-6067670
17:20:43  <isaacs>bnoordhuis: how hard is that to do? do you think that you could get to it today or tomorrow? it'd be nice to fix for 0.7.10
17:20:45  <piscisaureus_>isaacs: uv_poll does that
17:21:03  <isaacs>piscisaureus_: i know, but a bunch of modules broke on 0.7.9 when ev_io stopped working
17:21:24  <isaacs>piscisaureus_: https://github.com/joyent/node/issues/3355
17:22:21  <piscisaureus_>isaacs: yeah it is sort of a problem that libuv is less stable than node
17:22:39  <piscisaureus_>isaacs: however I don't really want to go into freeze mode because there is just so much to fix
17:23:07  * TooTallNatejoined
17:23:15  <isaacs>piscisaureus_: yeah, that's reasonable.
17:23:34  <isaacs>piscisaureus_: but if we're going to deprecate ev_io, or make it stop working, then we need to do so gracefullly.
17:23:45  <isaacs>even if that means doing it in node somehow
17:24:31  <TooTallNate>isaacs: so now that npm in the node repo is updated
17:24:35  <TooTallNate>we should land https://github.com/TooTallNate/node/commit/nodedir-test-gc
17:24:51  <isaacs>TooTallNate: land at will.
17:24:57  <TooTallNate>kewl
17:25:42  <isaacs>piscisaureus_: we can re-break it in 0.9, and just say, "that's how it is". but it's too late into 0.7's lifetime to introduce new unexpected breakage.
17:26:37  <CIA-112>node: Nathan Rajlich master * rc69d7f1 / Makefile : test: make the node-weak install build agaist this repo - http://git.io/npio-w
17:26:47  * `3rdEdenjoined
17:31:16  * arlolrajoined
17:31:57  * mikealquit (Quit: Leaving.)
17:32:45  * mikealjoined
17:36:17  * dshaw_joined
17:38:42  * ericktquit (Quit: erickt)
17:41:30  * loladirojoined
17:42:43  * ericktjoined
17:44:27  * igorzijoined
17:47:45  * mmaleckiquit (Quit: Reconnecting)
17:47:58  * mmaleckijoined
17:49:13  * isaacsquit (Remote host closed the connection)
17:51:16  * `3rdEdenquit (Quit: Leaving...)
17:58:13  * ibcquit (Remote host closed the connection)
18:02:17  * iraquit (Quit: Leaving...)
18:03:50  * irajoined
18:10:59  * paddybyersquit (Quit: paddybyers)
18:11:03  * mmaleckiquit (Quit: Reconnecting)
18:11:21  * mmaleckijoined
18:13:07  * `3rdEdenjoined
18:13:14  * mmalecki_joined
18:13:24  * mmaleckiquit (Client Quit)
18:24:30  * dshaw_1joined
18:26:23  * dshaw_quit (Ping timeout: 240 seconds)
18:31:16  * isaacsjoined
18:32:02  * mmaleckijoined
18:35:10  * mmalecki_quit (Ping timeout: 256 seconds)
18:38:24  * TheJHjoined
18:52:45  * paddybyersjoined
18:53:07  * `3rdEdenquit (Quit: Leaving...)
19:01:03  * arlolraquit (Quit: Linkinus - http://linkinus.com)
19:02:33  * dshaw_1quit (Quit: Leaving.)
19:02:44  * mmaleckiquit (Quit: Reconnecting)
19:03:02  * mmaleckijoined
19:04:15  <isaacs>TooTallNate: thoughts? https://github.com/isaacs/node/commit/a5f84333f1da4c02215b62708d4365f84781a0b5
19:04:59  <tjfontaine>instead of ' ' you might use \b
19:05:23  <tjfontaine>though I don't know if that might inadvertently catch \.
19:05:35  <TooTallNate>isaacs: looks good, lemme try it
19:05:58  <TooTallNate>isaacs: isn't setting the `cmd` unnecessary, since you're just returning?
19:07:09  <TooTallNate>isaacs: holy cow you have a lot of branches on your fork :D
19:09:30  * `3rdEdenjoined
19:09:38  * mikealquit (Quit: Leaving.)
19:16:57  <TooTallNate>isaacs: lgtm :)
19:17:27  <isaacs>TooTallNate: k. i'll add a test.
19:17:36  <isaacs>the cmd setting is unnecessary, too, i see that.
19:21:10  * mmaleckiquit (Quit: Reconnecting)
19:21:28  * mmaleckijoined
19:29:10  * \toothrotjoined
19:29:56  <bnoordhuis>isaacs: re ev_io, yes, for the common case
19:30:02  <bnoordhuis>same for ev_timer, probably
19:31:16  * toothrquit (Ping timeout: 256 seconds)
19:31:33  * `3rdEdenquit (Quit: Leaving...)
19:35:17  <pquerna>hrm
19:35:33  <pquerna>can i rename linux/core.c to linux/linux_core.c
19:36:16  <pquerna>newer GYP doesn't like it
19:36:17  <pquerna>https://gist.github.com/35ee1b21c2ccde4b65d2
19:37:01  * igorziquit (Ping timeout: 245 seconds)
19:37:05  <isaacs>TooTallNate: added test, still +1? https://github.com/isaacs/node/commit/28e851c169ad589a7f6a1357fd84fd75254a2ab7
19:39:18  * paddybyersquit (Quit: paddybyers)
19:40:17  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
19:47:09  * mjr_joined
19:47:16  * isaacsquit (Remote host closed the connection)
19:49:49  * AndreasMadsenjoined
19:54:37  * AndreasMadsenquit (Remote host closed the connection)
19:57:36  * mmaleckiquit (Quit: Reconnecting)
19:57:58  * mmaleckijoined
19:58:44  * paddybyersjoined
20:05:31  * `3rdEdenjoined
20:06:24  * mmalecki_joined
20:06:40  * isaacsjoined
20:09:23  * mmaleckiquit (Ping timeout: 240 seconds)
20:17:15  * benviejoined
20:22:03  * piscisaureus_joined
20:26:04  <isaacs>mjr_: i think i might've found the source of your http Parse Error
20:26:17  <mjr_>I love finding the source of things
20:28:14  <mjr_>So what's the deal?
20:30:18  * `3rdEdenquit (Quit: Leaving...)
20:36:07  <isaacs>mjr_: there's an issue where the socket doesn't have an error handler attached between requests.
20:36:19  <isaacs>mjr_: so, if there's a parse error, it does socket.destroy(error)
20:36:24  <isaacs>mjr_: which raises an error event
20:36:51  <mjr_>That matches with what I've correlated in the logs.
20:36:52  <isaacs>mjr_: which previously was ignored, since the associated request is ended, but now it's not, because there *is* no handler there to catch it and ignore it.
20:37:05  <isaacs>because we prune that handler, since it's no longer in use.
20:37:29  <isaacs>so, basically, i need to figure out why we're removing the error handler, but *not* removing the socket.ondata when it's through with the response.
20:38:03  <isaacs>mjr_: https://github.com/joyent/node/issues/3375 <-- reproduces issue consistently
20:38:22  <isaacs>just send a Content-length: 1 header from a HEAD request, and then write a bunch of body after.
20:38:40  <isaacs>the http parser will say "Yep, this is done", and then the socket emits the res (since no body is expected)
20:38:50  <isaacs>and then the error happens right away
20:39:17  <isaacs>because it processes that bit of data before properly cleaning up
20:40:10  * dshaw_joined
20:44:15  * avalanche123quit (Quit: Computer has gone to sleep.)
20:44:15  * avalanche123|wchanged nick to avalanche123
20:47:01  <mjr_>isaacs: I think that explains the parse errors on the HTTP side, but not necessarily the HTTPS ones.
20:47:26  <mjr_>Thankfully it seems that these errors are harmless if you catch them.
20:48:24  * igorzijoined
20:50:23  * TheJHquit (Ping timeout: 240 seconds)
20:50:41  <isaacs>mjr_: one thign at a time :)
20:52:31  <mjr_>isaacs: here's a quick sample of the errors we catch with a similar error handler: https://gist.github.com/2877804
20:56:14  <isaacs>mjr_: yeah, ideally, you'd just have to have a single handler on req or res
20:57:17  <mjr_>Indeed
20:57:44  <mjr_>So we added that voxer_error_flag thing back in 0.4, because we needed it then as well.
20:58:06  <mjr_>That is, we needed those error listeners on the socket objects back then as well.
21:10:50  * paddybyersquit (Quit: paddybyers)
21:13:45  <mmalecki_>isaacs: npm registry might be down
21:13:51  <mmalecki_>http://www.downforeveryoneorjustme.com/registry.npmjs.org
21:16:23  * mikealjoined
21:17:10  * pfox__changed nick to pfox___
21:17:13  * paddybyersjoined
21:21:09  <TooTallNate>isaacs: sorry, was mario karting :p ya lgtm
21:22:10  <mmalecki_>isaacs: it's back up now
21:24:45  <dap>TooTallNate: you play kart?!
21:24:50  * pfox___changed nick to pfox__
21:25:04  <TooTallNate>dap: haha, it's all about the kart 64 ;)
21:25:18  <dap>oh. my. God.
21:25:40  <TooTallNate>dap: it's like the office game right now. it was goldeneye 64 before
21:26:41  <dap>Nice!
21:26:44  * mmalecki_changed nick to mmalecki
21:29:14  * mmalecki_joined
21:32:22  * mmaleckiquit (Ping timeout: 240 seconds)
21:58:47  * mmaleckijoined
22:01:08  * vtjnashjoined
22:02:16  * mmalecki_quit (Ping timeout: 252 seconds)
22:07:50  * bitprobequit (Quit: Computer has gone to sleep.)
22:13:37  <pfox__>quick question, re: uv_tcp_t and libuv streams, in general..
22:13:50  * vtjnashpart
22:14:09  <pfox__>are they bufered? that is.. packats that arrive outside of a uv_read_start/stop pair.. do they get dropped on the floor.. or are they stored somewhere until a callback is registered to process them?
22:14:56  <piscisaureus_>pfox__: they're not dropped
22:15:28  * mmalecki_joined
22:15:51  <pfox__>piscisaureus_: thanks. pretty obvious, i guess. wouldn't be very useful, otherwise :)
22:16:21  <pfox__>does node expose a traditional, buffered reader API anywhere on top of libuv's stream facilities?
22:16:30  <pfox__>with arbitrary length reads, seek, etc?
22:16:38  <piscisaureus_>pfox__: not for sockets, no
22:16:43  <piscisaureus_>pfox__: only for files
22:16:45  * pfox__nods
22:17:11  <piscisaureus_>pfox__: in fact, that's the only thing libuv supports right now, but I want to make fs stuff more stream-y in the 0.9 scope
22:18:36  * mmaleckiquit (Ping timeout: 250 seconds)
22:19:44  * paddybyersquit (Quit: paddybyers)
22:25:33  * mmalecki_quit (Quit: Reconnecting)
22:25:47  * mmaleckijoined
22:33:38  * loladiroquit (Quit: loladiro)
22:34:37  * loladirojoined
22:49:10  * c4miloquit (Remote host closed the connection)
22:50:40  * mmaleckiquit (Ping timeout: 252 seconds)
22:51:42  * mikealquit (Quit: Leaving.)
22:52:35  * iraquit (Quit: Textual IRC Client: http://www.textualapp.com/)
22:53:50  * rendarquit
23:02:36  <piscisaureus_>bnoordhuis: hey
23:02:38  <piscisaureus_>bnoordhuis: yt?
23:10:27  * \toothrotchanged nick to toothr
23:18:27  * xaqquit (Remote host closed the connection)
23:29:42  * irajoined
23:31:22  * avalanche123quit (Ping timeout: 252 seconds)
23:31:55  * c4milojoined
23:39:27  <piscisaureus_>small excerpt from my v8.log
23:39:27  <piscisaureus_>code-creation,LoadIC,0xebe6c60,62,"parent"
23:39:27  <piscisaureus_>code-creation,LoadIC,0xebe6c60,62,"parent"
23:39:27  <piscisaureus_>code-creation,LoadIC,0xebe6ca0,62,"offset"
23:39:27  <piscisaureus_>code-creation,LoadIC,0xebe6ca0,62,"offset"
23:39:28  <piscisaureus_>code-creation,LoadIC,0xebe6ee0,71,"Buffer"
23:39:28  <piscisaureus_>code-creation,LoadIC,0xebe6ee0,71,"Buffer"
23:39:28  <piscisaureus_>code-creation,LoadIC,0xebe6f40,65,"length"
23:39:29  <piscisaureus_>code-creation,LoadIC,0xebe6f40,65,"length"
23:39:29  <piscisaureus_>code-creation,StoreIC,0xebe6fa0,123,"used"
23:39:30  <piscisaureus_>code-creation,StoreIC,0xebe6fa0,123,"used"
23:39:30  <piscisaureus_>code-creation,LoadIC,0xebe7020,62,"length"
23:39:31  <piscisaureus_>code-creation,LoadIC,0xebe7020,62,"length"
23:39:37  <piscisaureus_>I have the feeling that there is a bug in there somewhere :-)
23:42:28  * avalanche123joined
23:46:34  * avalanche123quit (Ping timeout: 244 seconds)
23:48:19  * theColejoined
23:48:38  * avalanche123joined
23:56:23  <tjfontaine>TooTallNate: when something tries to deref a null cstring shouldn't it return null?
23:56:47  <TooTallNate>tjfontaine: ya i think that's what happens. what are you seeing?
23:57:07  <tjfontaine>Error: readCString: Cannot read from NULL pointer
23:57:31  <tjfontaine>I'm making a smaller case so I can see what actually is happening at the moment though
23:57:48  <TooTallNate>tjfontaine: so it will return null with a Buffer that "points" to NULL
23:57:57  <TooTallNate>but if the Buffer *is* NULL, then that won't work
23:58:17  <loladiro>piscisaureus_: ping
23:58:36  <piscisaureus_>loladiro:
23:58:38  <piscisaureus_>yo
23:58:41  <bnoordhuis>piscisaureus_: ho
23:58:46  <tjfontaine>TooTallNate: hmm, there's nothing particularly fancy about this return though
23:58:47  <piscisaureus_>oh no
23:58:56  <piscisaureus_>why does everything always start at 2.00 am ?
23:59:04  <TooTallNate>tjfontaine: can you show me some code?
23:59:17  <tjfontaine>libvlc_media_get_meta: ['string', ['pointer', 'uint32']], I have a feeling that's returning null
23:59:43  <tjfontaine>TooTallNate: of course gimmie a second
23:59:49  <loladiro>piscisaureus_: I think we figured out what we need. Here's what I came up with: https://gist.github.com/2878900. Comments?