00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:05  <MI6>nodejs-master-windows: #472 UNSTABLE windows-x64 (26/676) windows-ia32 (31/676) http://jenkins.nodejs.org/job/nodejs-master-windows/472/
00:00:09  * ircretaryjoined
00:01:45  <MI6>libuv-master: #329 UNSTABLE windows (5/195) smartos (3/195) http://jenkins.nodejs.org/job/libuv-master/329/
00:05:51  * Kakeraquit (Ping timeout: 252 seconds)
00:06:48  <MI6>libuv-master-gyp: #284 UNSTABLE smartos-ia32 (3/195) windows-x64 (5/195) smartos-x64 (3/195) windows-ia32 (5/195) http://jenkins.nodejs.org/job/libuv-master-gyp/284/
00:07:05  <tjfontaine>bnoordhuis: https://github.com/joyent/node/compare/v0.10...gyp-update only configure and Makefile were updated of ours, thoughts on landing it?
00:08:39  <bnoordhuis>tjfontaine: i usually start the commit log with "tools: update gyp to rxxxx" and then list what interesting changes are in the upgrade
00:09:20  <bnoordhuis>but apart from that lgtm
00:09:28  <tjfontaine>k
00:10:09  <bnoordhuis>now review my v8 upgrade PR. each and every line!
00:10:33  <tjfontaine>:)
00:11:37  * `3rdEdenchanged nick to `3E|ZZZ
00:12:16  <tjfontaine>typed arrays are enabled by default now?
00:12:38  <bnoordhuis>yes
00:14:17  <tjfontaine>bnoordhuis: the test fails with that now?
00:14:32  <bnoordhuis>there are tests failing? *looks nonplussed*
00:14:55  <tjfontaine>it's a sketchy test anyway, it's difficult to really evaluate that way
00:15:40  <bnoordhuis>oh, you mean simple/test-event-emitter-memory-leak?
00:15:53  <tjfontaine>yes
00:16:02  <bnoordhuis>there's a speck of dust of my screen that made your 'test' look plural :)
00:16:08  <tjfontaine>:)
00:16:18  <bnoordhuis>hence me being nonplussed
00:16:25  <MI6>node-review: #106 UNSTABLE smartos-x64 (5/604) centos-x64 (1/604) windows-x64 (10/604) linux-x64 (1/604) windows-ia32 (10/604) centos-ia32 (1/604) smartos-ia32 (4/604) http://jenkins.nodejs.org/job/node-review/106/
00:16:34  <bnoordhuis>no, it's because the gc kicks in later now
00:16:43  <tjfontaine>oh it's not sync in 3.22?
00:17:04  <tjfontaine>pushing the gyp update to v0.10
00:17:04  <bnoordhuis>gc()? doesn't seem like it no
00:17:29  <tjfontaine>fuck
00:17:31  <MI6>joyent/node: Timothy J Fontaine v0.10 * 2010985 : gyp: update to bebdcea - http://git.io/maz3Eg
00:17:34  <tjfontaine>I didn't mean to do that
00:17:41  <tjfontaine>sorry about the shitty commit message ben
00:17:43  <bnoordhuis>i didn't find the actual change but it looks like v8's gc has something of a low water limit now
00:18:30  <bnoordhuis>er, low water mark
00:18:39  <bnoordhuis>lower limit, low water mark
00:19:10  <tjfontaine>v8 upgrade lgtm fwiw
00:20:18  <tjfontaine>bnoordhuis: maybe do a feature branch of it so we can do the windows build test?
00:21:48  <bnoordhuis>tjfontaine: it's already a feature branch. or you mean a joyent/node branch?
00:22:07  <tjfontaine>bnoordhuis: in joyent/node so jankins will build it on winders :)
00:22:34  <bnoordhuis>right, right :)
00:22:41  <bnoordhuis>one feature branch coming up
00:23:19  <MI6>joyent/node: bnoordhuis created branch upgrade-v8 - http://git.io/qjg-JQ
00:23:51  <tjfontaine>thanks
00:24:15  <MI6>libuv-node-integration: #299 UNSTABLE linux-ia32 (3/676) osx-x64 (3/676) osx-ia32 (3/676) linux-x64 (2/676) smartos-x64 (9/676) smartos-ia32 (8/676) http://jenkins.nodejs.org/job/libuv-node-integration/299/
00:28:19  <MI6>nodejs-v0.10-windows: #309 UNSTABLE windows-ia32 (21/604) windows-x64 (11/604) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/309/
00:30:27  <MI6>libuv-master: #330 UNSTABLE windows (5/195) smartos (3/195) http://jenkins.nodejs.org/job/libuv-master/330/
00:33:18  <MI6>nodejs-v0.10: #1589 UNSTABLE smartos-x64 (10/604) smartos-ia32 (6/604) http://jenkins.nodejs.org/job/nodejs-v0.10/1589/
00:34:46  <MI6>libuv-master-gyp: #285 UNSTABLE smartos-ia32 (4/195) linux-x64 (1/195) windows-x64 (4/195) smartos-x64 (3/195) windows-ia32 (5/195) http://jenkins.nodejs.org/job/libuv-master-gyp/285/
00:52:09  <MI6>nodejs-master-windows: #473 UNSTABLE windows-x64 (31/676) windows-ia32 (26/676) http://jenkins.nodejs.org/job/nodejs-master-windows/473/
00:58:49  <MI6>libuv-node-integration: #300 UNSTABLE linux-ia32 (2/676) osx-x64 (3/676) osx-ia32 (4/676) linux-x64 (3/676) smartos-x64 (11/676) smartos-ia32 (8/676) http://jenkins.nodejs.org/job/libuv-node-integration/300/
01:02:06  * bnoordhuisquit (Ping timeout: 265 seconds)
01:11:58  <MI6>node-review: #107 UNSTABLE smartos-x64 (10/675) centos-x64 (5/675) windows-x64 (29/675) osx-ia32 (1/675) windows-ia32 (27/675) centos-ia32 (4/675) smartos-ia32 (7/675) http://jenkins.nodejs.org/job/node-review/107/
01:14:13  <MI6>nodejs-v0.10-windows: #310 UNSTABLE windows-ia32 (11/604) windows-x64 (11/604) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/310/
01:24:18  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:48:43  <MI6>nodejs-master-windows: #474 UNSTABLE windows-x64 (128/676) windows-ia32 (29/676) http://jenkins.nodejs.org/job/nodejs-master-windows/474/
01:49:04  * mikealquit (Quit: Leaving.)
02:36:33  * abraxasquit (Remote host closed the connection)
02:41:50  * abraxasjoined
02:43:55  * AvianFluquit (Read error: Connection reset by peer)
02:44:32  * AvianFlujoined
02:48:44  * c4miloquit (Remote host closed the connection)
02:52:44  * c4milojoined
03:08:21  * paulfryzeljoined
03:12:21  * dshaw_quit (Quit: Leaving.)
03:20:09  * abraxasquit (Remote host closed the connection)
03:33:03  * paulfryzelquit (Remote host closed the connection)
03:44:13  * piscisaureus_joined
03:45:35  * piscisaureus_quit (Client Quit)
03:51:41  * abraxasjoined
03:59:32  * indexzeroquit (Quit: indexzero)
04:02:43  * jmar777quit (Remote host closed the connection)
04:03:31  * paulfryzeljoined
04:07:01  * bradleymeckjoined
04:09:39  * c4miloquit (Remote host closed the connection)
04:19:13  * bradleymeckquit (Quit: bradleymeck)
04:22:00  * mikealjoined
04:23:56  * inolenquit (Quit: Leaving.)
04:25:08  * zz_karupanerurachanged nick to karupanerura
04:28:13  * brsonjoined
04:29:25  * karupanerurachanged nick to zz_karupanerura
04:29:57  * mikealquit (Quit: Leaving.)
04:30:08  * mikealjoined
04:31:19  * brsonquit (Client Quit)
04:31:27  * brsonjoined
04:31:29  * brsonquit (Client Quit)
04:31:53  * inolenjoined
04:32:43  * brsonjoined
04:32:43  * brsonquit (Client Quit)
04:33:03  * brsonjoined
04:33:42  * brsonquit (Client Quit)
04:33:50  * brsonjoined
04:34:44  * brsonquit (Client Quit)
04:35:07  * brsonjoined
04:38:29  * paulfryzelquit (Remote host closed the connection)
04:40:37  * inolenquit (Quit: Leaving.)
04:45:07  * hueniversequit (Ping timeout: 272 seconds)
04:51:38  * inolenjoined
04:53:58  * inolenquit (Client Quit)
04:58:56  * paulfryzeljoined
04:59:26  * bradleymeckjoined
05:00:24  * kellabytequit (Quit: Quit)
05:04:45  * bradleymeckquit (Quit: bradleymeck)
05:08:26  * TooTallNatejoined
05:13:08  * TooTallNatequit (Client Quit)
05:17:29  * defunctzombiechanged nick to defunctzombie_zz
05:18:07  * bradleymeckjoined
05:19:00  * bradleymeckquit (Client Quit)
05:28:02  * AvianFluquit (Remote host closed the connection)
05:37:44  * mikealquit (Quit: Leaving.)
05:38:44  * mikealjoined
05:38:57  * indexzerojoined
05:42:59  * mikealquit (Ping timeout: 240 seconds)
05:43:34  * abraxasquit (Remote host closed the connection)
05:46:44  * mikealjoined
05:58:57  * inolenjoined
05:59:46  * inolenquit (Client Quit)
06:10:38  * paulfryzelquit (Remote host closed the connection)
06:19:10  * inolenjoined
06:30:12  * inolenquit (Quit: Leaving.)
06:38:39  * AvianFlujoined
06:41:04  <MI6>nodejs-v0.10-windows: #311 UNSTABLE windows-ia32 (10/604) windows-x64 (10/604) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/311/
06:42:57  * AvianFluquit (Ping timeout: 252 seconds)
06:47:49  * dshaw_joined
06:52:09  * dshaw_1joined
06:52:29  * dshaw_quit (Read error: Connection reset by peer)
07:00:27  * hueniversejoined
07:21:45  * paulfryzeljoined
07:25:42  * paulfryzelquit (Ping timeout: 240 seconds)
07:27:28  * bajtosjoined
07:34:57  * skabbesjoined
07:44:13  * abraxasjoined
07:48:47  * abraxasquit (Read error: Operation timed out)
07:49:40  * contrahax_desktoquit (Ping timeout: 246 seconds)
08:00:45  <skabbes>is there any clean way in libuv to associate a `on_alloc` with an `on_read` ?
08:01:04  <skabbes>I want to do something similar to this: https://gist.github.com/skabbes/7409493
08:14:21  * dshaw_1changed nick to dshaw_
08:14:45  * dshaw_quit (Quit: Leaving.)
08:16:20  * dshaw_joined
08:25:26  * brsonquit (Ping timeout: 264 seconds)
08:29:32  * skabbesquit (Quit: skabbes)
08:50:04  * rendarjoined
09:10:13  * dshaw_quit (Quit: Leaving.)
09:37:07  <indutny>morning
09:40:06  * bnoordhuisjoined
09:45:17  * dshaw_joined
09:45:26  <indutny>bnoordhuis: hey ban
09:45:29  <indutny>erm
09:45:30  <indutny>ben
09:45:35  <indutny>its monday again :)
09:45:37  <indutny>glad to see you
09:49:34  * deltalucajoined
09:53:26  * bnoordhuisquit (Ping timeout: 240 seconds)
09:53:50  * Kakerajoined
10:06:08  * dshaw_quit (Ping timeout: 244 seconds)
10:48:52  <MI6>nodejs-v0.10: #1590 UNSTABLE smartos-x64 (4/604) smartos-ia32 (4/604) linux-x64 (1/604) osx-x64 (1/604) http://jenkins.nodejs.org/job/nodejs-v0.10/1590/
11:01:57  * stagasjoined
11:15:39  * hzjoined
11:20:21  * brsonjoined
11:20:45  * bnoordhuisjoined
11:21:11  <bnoordhuis>indutny: hey fedor. sorry, had to run back there
11:21:15  <indutny>haha
11:21:16  <indutny>np
11:21:19  <indutny>how are you?
11:21:31  <bnoordhuis>i'm fine. what about you?
11:22:14  <indutny>fine too
11:22:18  <indutny>writing docs for jit.js
11:22:19  <indutny>finally
11:22:55  <indutny>bnoordhuis: are you going to be busy today?
11:23:42  <MI6>joyent/node: Ben Noordhuis master * a12870c : crypto: update root certificates (+3 more commits) - http://git.io/bswqPg
11:23:56  <bnoordhuis>indutny: i have one or two things i want to finish. why do you ask? (i can guess)
11:23:58  <indutny>great
11:24:03  <indutny>bnoordhuis: haha, you know why
11:24:35  <indutny>bnoordhuis: https://github.com/joyent/libuv/pull/971/files
11:24:45  <indutny>I guess that's pretty much all, surprisingly
11:25:10  <indutny>oh
11:25:11  <bnoordhuis>285 additions. i guess i can work my way through that
11:25:12  <indutny>have we landed this https://github.com/joyent/libuv/pull/981 ?
11:25:35  <bnoordhuis>you give 'em a finger...
11:25:41  <indutny>I guess no
11:25:51  <indutny>bnoordhuis: well, first of them would be really nice to have
11:25:56  <indutny>bnoordhuis: second one - if you have time
11:26:11  <indutny>bnoordhuis: its mostly for us, while first one is for people who are experiencing real problems :)
11:26:30  <indutny>thank you
11:26:38  <indutny>anything you want me to work on in exchange? :)
11:26:39  <indutny>haha
11:27:56  <bnoordhuis>don't think so, unless you want to review 25,000+ lines of new v8 code
11:29:35  <indutny>wait
11:29:39  <indutny>you mean actually read it?: )
11:29:47  <indutny>I believe many people already done it
11:30:48  * saghuljoined
11:34:47  <bnoordhuis>indutny: i was of course kidding :)
11:34:57  <indutny>thankfully
11:35:07  <indutny>I was just playing with it :)
11:35:19  <bnoordhuis>saghul: are you in spain?
11:35:33  <saghul>bnoordhuis yep
11:35:44  <saghul>i'll be here for a few weeks
11:35:58  <bnoordhuis>"overwinteren"?
11:36:28  <saghul>nope, attending a couple of conferences :-P
11:36:33  <bnoordhuis>ah okay :)
11:37:06  <bnoordhuis>i was discussing with my SO to maybe go spend a few months in spain, sit out the winter
11:37:17  <bnoordhuis>i'm told real estate and rentals go for low, low prices these days
11:37:26  <saghul>yep, they do!
11:40:04  <MI6>nodejs-master: #690 UNSTABLE smartos-ia32 (6/676) smartos-x64 (11/676) http://jenkins.nodejs.org/job/nodejs-master/690/
11:40:40  * `3E|ZZZchanged nick to `3E
11:40:45  * indexzeroquit (Quit: indexzero)
11:43:54  <MI6>nodejs-master-windows: #475 UNSTABLE windows-x64 (26/676) windows-ia32 (26/676) http://jenkins.nodejs.org/job/nodejs-master-windows/475/
11:48:37  <MI6>joyent/node: Ben Noordhuis master * f230a1c : v8: upgrade to 3.22.24 - http://git.io/lAuWlA
11:49:32  * bajtosquit (Quit: bajtos)
12:03:16  * dshaw_joined
12:08:11  * dshaw_quit (Ping timeout: 272 seconds)
12:09:00  * bajtosjoined
12:10:06  <MI6>nodejs-master-windows: #476 UNSTABLE windows-x64 (25/675) windows-ia32 (26/675) http://jenkins.nodejs.org/job/nodejs-master-windows/476/
12:10:43  * bajtosquit (Client Quit)
12:10:45  <MI6>nodejs-master: #691 UNSTABLE smartos-ia32 (7/675) smartos-x64 (9/675) osx-ia32 (1/675) linux-ia32 (2/675) http://jenkins.nodejs.org/job/nodejs-master/691/
12:15:25  * Kakeraquit (Ping timeout: 272 seconds)
12:23:25  * seu_barrigajoined
12:23:46  <seu_barriga>hello
12:24:07  <seu_barriga>I've read the uvbook, but I couldn't find how to make a POST request using libuv
12:24:14  <seu_barriga>does anyone know how?
12:24:19  <seu_barriga>(in c/c++)
12:38:40  <seu_barriga>anyone?
12:40:18  <indutny>haha
12:40:20  <indutny>POST request?
12:40:21  <indutny>well
12:40:29  <indutny>seu_barriga: first of all, hello
12:46:22  <bnoordhuis>seu_barriga: libuv is not a http library. it can serve as the network part for a http library though
12:58:32  <seu_barriga>I see
12:58:54  <seu_barriga>so I need a http library
12:59:47  <bnoordhuis>seu_barriga: there's https://github.com/joyent/http-parser - that's what node uses
13:00:10  <seu_barriga>thanks bnoordhuis
13:01:17  <bnoordhuis>np
13:03:53  * dshaw_joined
13:08:12  * dshaw_quit (Ping timeout: 240 seconds)
13:15:52  * brsonquit (Ping timeout: 240 seconds)
13:24:28  * saghulquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:47:20  * abraxasjoined
13:47:22  * saghuljoined
13:52:02  * abraxasquit (Ping timeout: 265 seconds)
14:04:37  * dshaw_joined
14:09:19  * jmar777joined
14:09:25  * dshaw_quit (Ping timeout: 272 seconds)
14:22:11  * kevinswiberjoined
14:24:57  * Kakerajoined
14:24:57  * bnoordhuisquit (Ping timeout: 252 seconds)
14:34:58  * piscisaureus_joined
14:51:09  * bnoordhuisjoined
14:55:24  * defunctzombie_zzchanged nick to defunctzombie
14:56:08  <piscisaureus_>http://downloadmoreram.com/
14:56:12  <piscisaureus_><3 <3
15:00:11  * bnoordhuisquit (Ping timeout: 272 seconds)
15:03:09  * inolenjoined
15:05:31  * dshaw_joined
15:10:03  * dshaw_quit (Ping timeout: 252 seconds)
15:21:15  <MI6>nodejs-master: #692 UNSTABLE osx-x64 (1/675) smartos-ia32 (5/675) smartos-x64 (8/675) osx-ia32 (1/675) http://jenkins.nodejs.org/job/nodejs-master/692/
15:22:14  * hzquit
15:32:38  * c4milojoined
15:34:10  * bradleymeckjoined
15:36:56  * paulfryzeljoined
15:44:52  * mikealquit (Quit: Leaving.)
15:52:54  * c4miloquit (Remote host closed the connection)
15:53:34  * mikealjoined
15:54:25  <isaacs>piscisaureus_: ping
15:54:39  <isaacs>piscisaureus_: so, i can build spawnSync, but if i rebase the pr onto master, it doesn't work
15:54:54  <isaacs>piscisaureus_: looks like a change to libu
15:54:56  <isaacs>v
15:59:14  * pachetjoined
16:04:23  * bnoordhuisjoined
16:06:07  * dshaw_joined
16:06:11  * mikealquit (Quit: Leaving.)
16:06:18  * mikealjoined
16:08:50  * bnoordhuisquit (Ping timeout: 244 seconds)
16:11:23  * dshaw_quit (Ping timeout: 272 seconds)
16:18:48  * bradleymeckquit (Quit: bradleymeck)
16:27:27  * kevinswiberquit (Remote host closed the connection)
16:28:00  * kevinswiberjoined
16:30:02  * AvianFlujoined
16:31:58  * kevinswiberquit (Ping timeout: 241 seconds)
16:37:55  * mikealquit (Quit: Leaving.)
16:38:05  * mikealjoined
16:39:09  * bajtosjoined
16:43:46  * bradleymeckjoined
16:44:53  * bnoordhuisjoined
16:46:29  <piscisaureus_>isaacs: hi
16:46:43  <isaacs>hola
16:46:55  <piscisaureus_>isaacs: the libuv api changes are easy
16:47:05  <piscisaureus_>isaacs: it's the multi-env stuff that needs some more work
16:55:59  <isaacs>oops. accidentally deleted my win32 vm. that sucks.
16:56:10  <isaacs>and the computer it's on, i thought i'd gotten everything off of, and had wiped.
16:56:16  <isaacs>this is what happens with tjfontaine does the builds ;)
16:56:20  * saghulquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:58:26  <tjfontaine>isaacs: hah
17:00:38  * saghuljoined
17:01:48  * mikealquit (Quit: Leaving.)
17:06:58  * dshaw_joined
17:11:38  * dshaw_quit (Ping timeout: 264 seconds)
17:18:31  * seu_barrigaquit (Ping timeout: 272 seconds)
17:26:07  * bnoordhuisquit (Ping timeout: 272 seconds)
17:28:48  * kevinswiberjoined
17:28:58  * TooTallNatejoined
17:40:50  * kevinswiberquit (Ping timeout: 245 seconds)
17:41:26  * kevinswiberjoined
17:46:01  * seu_barrigajoined
17:50:50  * deltalucaquit (Read error: Operation timed out)
17:51:40  * seu_barrigaquit (Ping timeout: 240 seconds)
17:53:11  <MI6>libuv-master: #331 UNSTABLE windows (4/195) smartos (3/195) http://jenkins.nodejs.org/job/libuv-master/331/
17:57:44  * st_lukejoined
18:01:00  * dshaw_joined
18:01:49  * st_lukequit (Read error: Connection reset by peer)
18:01:56  * st_lukejoined
18:02:15  * trevnorrisquit (Quit: IRCRelay - http://ircrelay.com)
18:02:31  * trevnorrisjoined
18:03:32  * bnoordhuisjoined
18:03:38  <bnoordhuis>piscisaureus_: call
18:11:34  <MI6>libuv-node-integration: #301 UNSTABLE linux-ia32 (3/675) osx-x64 (3/675) osx-ia32 (3/675) linux-x64 (3/675) smartos-x64 (9/675) smartos-ia32 (7/675) http://jenkins.nodejs.org/job/libuv-node-integration/301/
18:18:33  * skabbesjoined
18:21:43  * AvianFluquit (Remote host closed the connection)
18:22:57  <skabbes>is there any way to associate an alloc with a read in ilbuv?
18:23:09  <skabbes>like a void * data on the uv_buf_t?
18:23:09  <trevnorris>can I get someone to lgtm this? https://github.com/joyent/node/pull/6468
18:25:13  * Benvie_joined
18:25:51  * AvianFlujoined
18:37:41  * c4milojoined
18:41:51  * st_lukequit (Read error: Connection reset by peer)
18:42:01  * st_lukejoined
18:42:02  * mikealjoined
18:46:26  * mikealquit (Ping timeout: 244 seconds)
18:46:30  <MI6>nodejs-master-windows: #477 UNSTABLE windows-x64 (25/675) windows-ia32 (25/675) http://jenkins.nodejs.org/job/nodejs-master-windows/477/
18:48:45  * stagasquit (Ping timeout: 245 seconds)
18:49:33  * mikealjoined
18:50:58  <wolfeidau>trevnorris: that initialised_ is interesting, i haven't done much c++ hacking but yeah is it a variable or a function? :P
18:51:40  <trevnorris>wolfeidau: where you talking about?
18:54:13  <wolfeidau>trevnorris: src/node_crypto.h just looking in the file now looks like it is a common pattern
18:55:27  <trevnorris>wolfeidau: not sure why those are there. that'd be a question for indutny :)
18:55:45  <trevnorris>bnoordhuis: ping
18:55:57  <bnoordhuis>crypto objects can be deinitialized before the destructor runs
18:56:18  <wolfeidau>trevnorris: yeah i always like to know why something is there if i am hacking around it
18:56:26  * st_lukequit (Read error: Connection reset by peer)
18:56:39  <wolfeidau>aha
18:56:48  * st_lukejoined
18:57:14  <wolfeidau>It is interesting to see initialised_ as a var then initialised_(false) called
18:57:28  <bnoordhuis>that's c++ for you
18:57:43  <wolfeidau>yeah then if (!initialised_)
18:57:57  <trevnorris>bnoordhuis: I see you set v8_enable_i18n_support = 0 when you upgraded to 3.22. I've received requests to be able to enable that support. there's probably still no simple way to add that?
18:58:00  <wolfeidau>lol happy fun times in c++ :)
18:58:01  <bnoordhuis>that initialized_(false) syntax only works in constructors
18:58:07  <trevnorris>(just curious because I've received a couple requests about it)
18:58:09  <wolfeidau>aha
18:58:16  <bnoordhuis>trevnorris: sure, it's easy to make that configurable
18:58:52  <trevnorris>bnoordhuis: cool. i'm not sure if we'd want to include the bare minimum or just allow users to download the entire thing like v8 does and build it themselves.
18:59:28  <bnoordhuis>trevnorris: i'm not a fan of bundling icu
18:59:49  <trevnorris>bnoordhuis: neither am I. i'm told the minimal library is "only" a few MB. but still.
19:00:12  <trevnorris>well, anyways. good to know but not even on my priorities list.
19:00:17  <indutny>trevnorris: sup?
19:00:46  <trevnorris>indutny: not much. wolfeidau just had a question about the initialised_ variable in node_crypto.h
19:01:06  <trevnorris>bnoordhuis: when you get a moment, mind taking a quick look at this? shouldn't take more than a few minutes: https://github.com/joyent/node/pull/6468
19:01:48  <bnoordhuis>i'm in a call at the moment :)
19:02:17  <trevnorris>yup, just whenever you get a chance. just hopefully before you hit the sack tonight :)
19:02:26  <trevnorris>tjfontaine: ping
19:11:20  * jmar777quit (Remote host closed the connection)
19:14:42  <trevnorris>bnoordhuis: so... this v8::EscapeableHandleScope is new, and it says that v8::HandleScope::Close() is deprecated.
19:14:48  <trevnorris>oy, they really like to change the api around a lot.
19:14:52  <bnoordhuis>yep
19:19:18  * kevinswiberquit (Read error: Connection reset by peer)
19:19:48  * kevinswiberjoined
19:20:00  * bnoordhuisquit (Quit: leaving)
19:21:35  * saghulquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:21:37  <trevnorris>oh, that's strange. never thought about making an array of Local<T> and escaping N handles.
19:21:45  <trevnorris>cool. sure that'd be useful somewhere.
19:22:05  * bnoordhuisjoined
19:22:19  <trevnorris>i'm going to fix the HandleScope issue on CheckImmediate. anyone opposed?
19:24:07  <bnoordhuis>not i
19:24:13  <bnoordhuis>i'm generally in favor of fixing bugs
19:24:39  <trevnorris>heh
19:25:33  <MI6>joyent/node: Trevor Norris master * 7f09a13 : node: add HandleScope to prevent memory leak - http://git.io/CZQ_mQ
19:25:59  <trevnorris>hueniverse: this might help your tests ^
19:27:00  <hueniverse>trevnorris: someone needs to explain to me what the issue is exactly
19:27:34  <trevnorris>bnoordhuis: so, what's the new API, args.GetReturnValue().Set(escape_scope.Escape(Local<T>)); ?
19:28:22  * kevinswiberquit (Remote host closed the connection)
19:28:51  <trevnorris>hueniverse: i'm not sure that was your fix. The missing HandleScope allowed handles to leak through, lost forever in the v8 heap. never to be recovered.
19:28:55  * kevinswiberjoined
19:29:07  * kevinswiberquit (Read error: Connection reset by peer)
19:29:21  * kevinswiberjoined
19:31:31  <bnoordhuis>hueniverse: a missing HandleScope means that any handles that get created in c++ land end up in the top-level HandleScope which isn't destroyed until node exits
19:31:40  <bnoordhuis>so yeah, it's effectively a memory leak
19:32:39  <bnoordhuis>come to think of it, we can probably do better here...
19:34:13  <trevnorris>hm. wonder why they changed v8::Function::Call(Handle<Object>, ... to ::Call(Handle<Value>,...
19:35:05  <trevnorris>good crap we have a lot of api to update.
19:36:18  <bnoordhuis>trevnorris: https://gist.github.com/bnoordhuis/6aa54408ea7e8969f839 <- thoughts?
19:36:53  <bnoordhuis>let's see how many tests it crashes
19:37:10  <bnoordhuis>simple/test-debug-signal-cluster
19:40:46  <trevnorris>bnoordhuis: like it. probably not a way to help us find where the leak is coming from though.
19:41:38  <bnoordhuis>no. but know at least you know there's an issue
19:41:52  <othiym23>trevnorris: tjfontaine was talking about adding a clang helper to look for missing HandleScope declarations
19:41:59  <bnoordhuis>and knowing is half the battle. GEE! AYE! JOE!
19:42:05  <othiym23>with your checkImmediate fix, that's now two instances we've found
19:42:05  <trevnorris>othiym23: that was specific to MakeCallback calls.
19:42:34  <othiym23>ah I c
19:42:47  <trevnorris>othiym23: but bnoordhuis' check is pretty much anything. which is helpful, but also daunting because it's _everything_!
19:42:56  * c4miloquit (Remote host closed the connection)
19:43:06  <MI6>nodejs-master: #693 UNSTABLE smartos-ia32 (6/675) smartos-x64 (9/675) linux-ia32 (1/675) http://jenkins.nodejs.org/job/nodejs-master/693/
19:43:42  * abraxasjoined
19:44:21  <trevnorris>i'm manually checking all uses of MakeCallback now to make sure they live in a valid HandleScope.
19:44:49  <othiym23>my minor victory this weekend was finally following all the code paths and figuring out how HandleScope works
19:44:57  <trevnorris>heh
19:45:02  <othiym23>I have decided, in my professional capacity, that they are "fucking weird"
19:45:13  <groundwater_>othiym23: i thought your victory was writing a web server in dogescript
19:45:23  <othiym23>groundwater_: that was my major victory
19:46:56  <MI6>nodejs-master-windows: #478 UNSTABLE windows-x64 (24/675) windows-ia32 (26/675) http://jenkins.nodejs.org/job/nodejs-master-windows/478/
19:47:20  * kevinswiberquit (Remote host closed the connection)
19:47:55  * kevinswiberjoined
19:48:07  <bnoordhuis>ffs. EmitExit() calls exit()
19:48:32  <bnoordhuis>no wonder some stuff never got cleaned up
19:48:53  * abraxasquit (Ping timeout: 272 seconds)
19:50:35  * jmar777joined
19:51:50  * kevinswiberquit (Ping timeout: 240 seconds)
19:52:07  <trevnorris>bnoordhuis: how did you know when to create a Context::Scope with your changes for multi-context support?
19:52:20  <trevnorris>bnoordhuis: I can't find a pattern for why they're added in some places.
19:52:42  <bnoordhuis>trevnorris: intuition. germans would call it "fingerspitzengefuhl"
19:52:52  <trevnorris>heh
19:53:05  <bnoordhuis>jokes aside, you add one when you're in a libuv callback
19:53:22  <trevnorris>ah, cool. thanks.
19:53:30  <bnoordhuis>iow, in async callbacks - because the context may have changed between the start of the operation and its completion
19:53:53  <trevnorris>ah, I see. interesting.
19:54:05  <bnoordhuis>that's why the code in src/node_crypto.cc only has a few because most of it is synchronous - you know you're already in the right context
19:54:37  <trevnorris>bnoordhuis: what about the ssl stuff. need to add it for those callbacks as well?
19:54:43  <bnoordhuis>see above :)
19:55:02  <trevnorris>heh ok
19:55:09  * abraxasjoined
19:55:38  <trevnorris>...wait. so ssl takes callbacks, but it's still synchronous? that seems like a strange API decision.
19:56:48  <bnoordhuis>well, that's openssl for you
19:56:55  <trevnorris>bnoordhuis: so was EmitExit() the reason for the test failure?
19:57:15  <bnoordhuis>no. it's something in EnableDebug()
19:57:42  <bnoordhuis>i already figured out what it is but i wonder if i might have introduced a flaw with the multi-env work
19:58:06  <bnoordhuis>Environment::GetCurrent(isolate) calls isolate->GetCurrentContext() - but that creates a Local
19:58:24  <bnoordhuis>unfortunately... in most places we call that before creating the HandleScope
19:58:38  <bnoordhuis>well... at least now we know
19:58:42  <bnoordhuis>(GEE! AYE! JOE!)
19:58:42  <LOUDBOT>I WILL FIND ZUUL AND THEN THERE WILL BE NONE!
19:58:52  <trevnorris>heh
20:01:16  <trevnorris>bnoordhuis: so is the solution to just make sure that Environment::GetCurrent() comes after the HandleScope?
20:01:51  <bnoordhuis>yeah. only 89 call sites to fix up. what are we even talking about here!
20:01:51  * abraxasquit (Ping timeout: 244 seconds)
20:01:55  * bnoordhuisgets to work
20:02:12  <trevnorris>heh
20:02:15  <bnoordhuis>i guess i could cheat and add HandleScopes to Environment::GetCurrent()
20:02:20  <bnoordhuis>but that sucks from a performance POV
20:02:24  <trevnorris>nod
20:04:45  <hueniverse>so how big of an issue is this HandleScope leak?
20:05:15  <trevnorris>bnoordhuis: i find it curious that more tests didn't fail w/ that new check despite the env issue.
20:05:30  <trevnorris>hueniverse: in terms of impact, or time to clean up?
20:05:37  <hueniverse>both
20:06:31  <trevnorris>well, missing the HandleScope caused memory to grow rapidly (e.g. +1MB/sec) in an infinitely recursive SetImmeidate
20:06:49  <trevnorris>but if the method isn't called, then you'd never notice it. so it varies.
20:07:03  <bnoordhuis>hueniverse: not that big. those handles end up in a HandleScope one level up. most (all?) get destroyed pretty quickly
20:07:41  <bnoordhuis>still, avoiding it altogether is, to quote martha stewart: "a good thing"
20:07:58  <bnoordhuis>source of all wisdom, martha stewart is
20:08:02  <hueniverse>bnoordhuis: LOL
20:09:06  * skabbesquit (Quit: skabbes)
20:09:46  <trevnorris>bnoordhuis: I know the reason behind it, but it'd still be helpful if you could do a GetAlignedPointerFromEmbedderData() from an Eternal.
20:09:51  <hueniverse>bnoordhuis: is Martha Stuart big in the dutch tech scene?
20:09:54  <trevnorris>instead of needing to first return the Local<>
20:10:26  <bnoordhuis>hueniverse: martha stewart doesn't restrict herself to any particular scene
20:10:43  <bnoordhuis>trevnorris: yeah, but you can't so that ends that discussion :)
20:10:56  <trevnorris>heh, yup
20:11:28  * kevinswiberjoined
20:11:32  <bnoordhuis>apropos the MakeCallback() functions we expose in node.h... bit of a catch-22 there
20:11:34  <trevnorris>i'm also wondering what's the use of the Maybe class.
20:11:37  <trevnorris>erm struct.
20:12:06  <bnoordhuis>we have to call object->CreationContext() to get the context in order to get the isolate
20:12:19  <bnoordhuis>because without the isolate we can't construct the HandleScope
20:12:27  <bnoordhuis>but CreationContext() creates a Local...
20:12:39  <bnoordhuis>okay, i'll worry about that later
20:13:09  <trevnorris>heh, and Isolate::GetCurrent() is deprecated. so, how's that supposed to work?
20:13:17  * bajtosquit (Quit: bajtos)
20:13:22  * hzjoined
20:13:25  * skabbesjoined
20:13:25  <bnoordhuis>i guess there's nothing for it but to pass the isolate explicitly everywhere
20:13:30  <bnoordhuis>both internally and in the API
20:13:44  <bnoordhuis>addon authors will just have to suck it up
20:13:53  * bnoordhuisis an addon author and will suck it up
20:13:59  <trevnorris>hah
20:14:20  <bnoordhuis>i worry that the api changes in v0.12 are becoming rather massive
20:14:38  <trevnorris>are becoming?
20:14:44  <trevnorris>i think that ship has sailed.
20:14:50  <bnoordhuis>but maybe it's better to do it all in one fell swoop than doing lots of minor yet backwards incompatible changes over time
20:14:55  <bnoordhuis>yeah, true :)
20:15:02  <bnoordhuis>but most of that was v8
20:15:05  <trevnorris>yeah.
20:17:41  <trevnorris>bnoordhuis: doesn't that mean internally we need to make sure Environment* is always passed? since getting the current env, even _if_ the Isolate* is available, still creates a Local<>? oh, but then I guess you can still place it in a HandleScope.
20:18:22  <trevnorris>but poop. that's quite the implicit order of operations to make sure that works correctly.
20:19:11  <bnoordhuis>yeah. it'd be nice to somehow enforce that
20:19:29  * saghuljoined
20:20:02  * piscisaureus_quit (Ping timeout: 264 seconds)
20:20:51  <tjfontaine>trevnorris: pong, thanks for the test case that helped me narrow down what I was looking for, kinda sad that you pushed a fix for one of them though
20:21:06  <trevnorris>tjfontaine: oh, was there another one?
20:21:29  <tjfontaine>yes, that one you fixed was only affecting master
20:21:39  <trevnorris>ah, ok.
20:21:59  <tjfontaine>please don't commit this fix, I'd like this one to be mine ... but here's how you can catch who's doing it wrong on v0.10
20:22:03  <tjfontaine>https://gist.github.com/tjfontaine/7394912
20:22:46  <trevnorris>tjfontaine: ooh. nice.
20:22:52  <tjfontaine>I'm also considering floating a patch in v8 that assert()'s on this condition
20:23:04  <trevnorris>tjfontaine: ben also had this one: https://gist.github.com/bnoordhuis/6aa54408ea7e8969f839
20:23:05  <tjfontaine>because it's never what you want to have happen
20:23:47  <bnoordhuis>trevnorris: btw, that Maybe thing is a bit odd. v8 uses it internally in a few places but not in the API
20:23:49  <tjfontaine>I'm going to work today some more on getting the dtrace script more generic so it's catching more than just MakeCallback
20:24:14  <trevnorris>bnoordhuis: yeah. that's what I was thinking. was wondering why they'd expose that as public API.
20:24:17  <tjfontaine>but I'd rather just abort() on this case -- but that may expose some broken addon modules
20:24:30  <trevnorris>tjfontaine: well, I wouldn't consider that a bad thing :)
20:25:09  <tjfontaine>me either, it would just be weird for people in 0.10.22 when addons stop working
20:25:46  <trevnorris>bnoordhuis: hope your v8 patch gets accepted. that would make life simpler.
20:26:19  * hzquit
20:26:25  <trevnorris>tjfontaine: true. hm. is it possible to do like static anlysis and add a compiler warning or some such?
20:26:44  <tjfontaine>static analysis is possible, it's not trivial, but doable
20:27:15  <trevnorris>well, any way to let the module authors know they're missing something important would be enough imo.
20:27:56  <trevnorris>tjfontaine: and just want to double check. is that missing handlescope the issue hueniverse was having?
20:29:00  <tjfontaine>yes
20:31:05  * dshaw_quit (Quit: Leaving.)
20:32:07  * skabbes_joined
20:33:13  * skabbesquit (Ping timeout: 272 seconds)
20:33:14  * skabbes_changed nick to skabbes
20:44:07  * dshaw_joined
20:44:13  <bnoordhuis>skabbes: re uv_buf_t, it's just a struct with a pointer and a size. you can get crafy with the pointed to memory, of course
20:46:26  <skabbes>so you're saying like allocate extra memory (more than buf.len) and then cast that out when you're done?
20:46:35  <bnoordhuis>skabbes: yep
20:47:50  <skabbes>ya, I suppose that would work malloc(suggested_size + sizeof(void*)), but then i couldn't use anything else that allocates its own memory
20:47:58  <trevnorris>tjfontaine: looking at your patch, were we really missing a HandleScope in OnClose?
20:47:59  <skabbes>like in that gist
20:48:34  <bnoordhuis>skabbes: what gist is that again?
20:48:41  <skabbes>https://gist.github.com/skabbes/7409493
20:50:07  <bnoordhuis>skabbes: right. you'd have to use a std::vector with a custom allocator or something
20:50:47  <skabbes>bnoordhuis: thanks, is that not something libuv would like to support?
20:51:11  <tjfontaine>trevnorris: yes.
20:51:24  <bnoordhuis>skabbes: no. uv_buf_t is supposed to be abi-compatible with struct iovec
20:51:55  <skabbes>bnoordhuis: ahhh, gotcha. thanks a ton
20:53:15  * felixgejoined
21:00:43  * c4milojoined
21:03:48  * hueniversequit (Read error: Connection reset by peer)
21:10:54  * hueniversejoined
21:11:41  * indexzerojoined
21:23:11  * dshaw_quit (Quit: Leaving.)
21:35:28  * kellabytejoined
21:44:48  * sblomjoined
21:47:16  * kellabytequit (Ping timeout: 244 seconds)
21:47:19  <trevnorris>bnoordhuis: still working on the Environment* thing?
21:47:49  <bnoordhuis>trevnorris: yeah. i discovered an interesting bug when running `node -e 'require("crypto").randomBytes(0, console.log)'
21:48:05  <bnoordhuis>truth be told, i'm not sure yet whether it's a node bug or a v8 bug
21:48:38  <bnoordhuis>trevnorris: btw, if you want to take a peek: https://github.com/bnoordhuis/node/commits/master
21:49:15  <trevnorris>bnoordhuis: i'll take a look. think that bug might have been introduced by 66d908?
21:49:26  <trevnorris>that was the switch from the struct to a class.
21:49:39  <bnoordhuis>probably not
21:49:47  <trevnorris>that's nice to hear :)
21:50:04  <bnoordhuis>i say that because when i revert the changes to src/node_crypto.cc, the bug doesn't go away. ergo, it must be something else :)
21:50:41  <bnoordhuis>btw, the bug is that ToBooleanStub::Types::UpdateStatus() gets called with what looks to be the wrong kind of object
21:51:13  <trevnorris>the patch thus far looks straight forward. how'd you run into the randomBytes bug?
21:51:52  <bnoordhuis>simple/test-crypto-random started failing afterwards
21:53:39  <trevnorris>strange.
21:53:52  <trevnorris>gotta love when one bug fix leads to another, leads to another :P
21:54:00  * dshaw_joined
21:54:40  * saghulquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:56:48  * kellabytejoined
21:58:11  * abraxasjoined
21:58:11  * saghuljoined
21:58:28  * dshaw_quit (Ping timeout: 260 seconds)
22:02:40  * abraxasquit (Ping timeout: 252 seconds)
22:06:47  <bnoordhuis>hrm, some creative bisecting with a perl script suggests there's some weak interaction going on between src/node.cc and src/async-wrap-inl.h
22:07:34  * mikealquit (Quit: Leaving.)
22:07:34  <trevnorris>strange. for kicks can you apply this and see if it fixes the problem? https://github.com/joyent/node/pull/6468
22:07:44  <trevnorris>i'll pull your commits and see if I can reproduce the same.
22:08:14  <bnoordhuis>yep, will try
22:08:44  <bnoordhuis>ai, does not apply
22:09:07  <bnoordhuis>applied with -C0. what could possibly go wrong, right?
22:09:56  <trevnorris>haha
22:10:00  * dshaw_joined
22:11:28  <bnoordhuis>trevnorris: still happens with your patch applied
22:11:44  <trevnorris>hm. strange. well, i'm taking a look.
22:11:52  <trevnorris>don't like it when my code doesn't play nicely.
22:15:40  <trevnorris>bnoordhuis: fwiw, I could never fully understand what the CONTAINER_OF macro is doing. mind shedding some light on that?
22:16:06  <tjfontaine>you give it a struct and a member, and it uses offsetof to index into the memory
22:17:29  <bnoordhuis>trevnorris: if A embeds B then you can calculate the address of A by taking the address of B and subtracting the field offset of B in A
22:18:26  <bnoordhuis>fwiw, i'm no longer sure it's just node.cc and async-wrap-inl.h. after a rebuild, it no longer happens when i change just those two
22:19:22  <trevnorris>weird. i built w/ --debug --gdb and the stack trace is sort of useless.
22:19:37  * dshaw_quit (Ping timeout: 272 seconds)
22:20:31  <bnoordhuis>yeah, newer gdbs cut off the stack trace too soon
22:20:38  <trevnorris>what the crap. this must be some strange internal API: Handle<Object> object = args.at<Object>(0);
22:20:56  <bnoordhuis>oh, that's from runtime.cc probably
22:21:12  <tjfontaine>trevnorris: you could use mdb :)
22:21:13  <bnoordhuis>that's a v8::internal::Arguments
22:21:18  <trevnorris>heh
22:21:52  <trevnorris>bnoordhuis: when I do: (gdb) args.length
22:21:52  <trevnorris>{int (const v8::internal::Arguments * const)} 0xa46a70 <v8::internal::Arguments::length() const>
22:22:10  <trevnorris>oh, wait. must be a template thing. nm
22:22:36  <trevnorris>because I can't: p args.at or args.at<Object>
22:24:37  <trevnorris>wtf.
22:24:42  <trevnorris>bnoordhuis: when I run: lldb -- ./node_g -e 'require("crypto").randomBytes(0, console.log)'
22:24:53  <trevnorris>i get:
22:24:53  <trevnorris>ReferenceError: crypto is not defined
22:25:45  * felixgequit (Quit: felixge)
22:26:04  <trevnorris>tjfontaine: you have a mac right?
22:26:45  <bnoordhuis>okay, i think i've narrowed it down to src/node_buffer.cc
22:26:46  <tjfontaine>I do
22:27:33  <bnoordhuis>ye gods... it's a missing scope.Close()
22:27:54  <bnoordhuis>one of those New methods returns a handle to another New method
22:28:05  <tjfontaine>when I write the libclang linter for missed handlescope stack I can check closes I guess
22:29:05  * trevnorrishides in a corner
22:32:22  <trevnorris>oh, phew. it's not my code. :)
22:33:04  <bnoordhuis>it isn't :)
22:33:28  <bnoordhuis>guess i'll go over all the changes one more time, just in case
22:34:13  <trevnorris>bnoordhuis: did you add the scope.Close() to New(size_t) and New(char*, size_t) ?
22:34:38  <trevnorris>erm, wait. wrong place.
22:35:47  <trevnorris>and it's not New(Environment*, size_t, ...). where are you talking about?
22:37:11  <bnoordhuis>trevnorris: just pushed the changes to my master branch
22:37:29  <trevnorris>bnoordhuis: hm. just realized. When you do an args.GetReturnValue().Set(Local<T>), does that automatically allow it to escape, or do you have to .Close() afterwards?
22:37:47  <trevnorris>erm. .Close(Local<T>)
22:37:57  <bnoordhuis>trevnorris: no, just Set() is safe. it takes ownership
22:38:03  <trevnorris>cool. thanks.
22:38:13  <trevnorris>suddenly I'm all paranoid about leaking handles.
22:38:16  * c4miloquit (Remote host closed the connection)
22:40:02  * piscisaureus_joined
22:40:04  <tjfontaine>I'm actually thinking the assert isn't ideal, if we persist or eternalize the objects that are needed before uv_run() we can get aborts on the actual location where things are going wrong
22:40:20  <tjfontaine>but yes -- we should all be worried about leaking handles because they're a mother fucker to find.
22:41:52  <trevnorris>piscisaureus_: you're alive!
22:42:17  <bnoordhuis>tjfontaine: "aborts on the actual location where things are going wrong" <- i don't follow that logic
22:42:36  <piscisaureus_>trevnorris: yeah more or less
22:42:54  <piscisaureus_>I wasn't actually planning to go online
22:43:24  <tjfontaine>bnoordhuis: v8 will error if you try and create a handle without a scope of course, so if we avoid having that HandleScope valid before we call uv_run we can catch those sites where a handle is being created
22:46:08  <bnoordhuis>i guess that might be workable
22:47:01  * mikealjoined
22:47:02  * mikealquit (Remote host closed the connection)
22:47:18  * saghulquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:47:21  * mikealjoined
22:49:50  <trevnorris>well, that was fun. just commented that handlescope out around uv_run and it actually works. :P
22:50:01  * st_lukequit (Remote host closed the connection)
22:50:34  <tjfontaine>now specifically remove CheckImmediate and add an abort in FatalError handler
22:51:08  <trevnorris>ooh. it works.
22:51:25  <trevnorris>actually, didn't need to add an abort in FatalError
22:51:32  <tjfontaine>is it core'ing?
22:51:44  <tjfontaine>FatalError doesn't abort on v0.10
22:53:11  <tjfontaine>and master only does that on debug
22:54:49  <trevnorris>tjfontaine: oh, yeah. I was testing debug.
22:55:58  <trevnorris>i'd really like to figure out why lldb can't read the debug symbols for node. it's really annoying...
23:00:53  * saghuljoined
23:03:39  * kellabytequit (Changing host)
23:03:39  * kellabytejoined
23:03:39  * kellabytequit (Changing host)
23:03:39  * kellabytejoined
23:05:03  * mikealquit (Quit: Leaving.)
23:07:01  * mikealjoined
23:10:41  <bnoordhuis>naughty, naughty... there's a lot of code in src/tls_wrap.cc that depends on a HandleScope declared in DoRead() in stream_wrap.cc...
23:10:56  <bnoordhuis>man, the bugs never end
23:13:02  <piscisaureus_>http://www.google.com/trends/explore#q=nodejs%2C%20angularjs&cmpt=q
23:13:11  <piscisaureus_>^- the front enders are winning
23:13:28  <tjfontaine>OMIG NODE IS DEAD
23:13:28  <LOUDBOT>BREAKING NEWS: BILLY MAYS AUTOPSY DONE, IT WAS HIS HEART
23:15:14  * mikealquit (Quit: Leaving.)
23:16:00  * dshaw_joined
23:17:33  * mikealjoined
23:17:40  <trevnorris>bnoordhuis: it's always fun to rebase my work whenever you get on a roll like this.
23:18:04  * kevinswiberquit (Remote host closed the connection)
23:18:36  * kevinswiberjoined
23:19:21  * rendarquit (Quit: Leaving)
23:20:15  <piscisaureus_>interestingly enough, in china people are really into node but in india they're really into angular
23:20:17  * dshaw_quit (Ping timeout: 252 seconds)
23:20:41  <trevnorris>piscisaureus_: while you're here, you ok w/ https://github.com/joyent/node/pull/6468
23:22:48  <piscisaureus_>trevnorris: this is with MakeWeak optional and living in a base class for AsyncWrap right?
23:22:54  * kevinswiberquit (Ping timeout: 246 seconds)
23:22:59  <trevnorris>piscisaureus_: yeah
23:23:43  <piscisaureus_>trevnorris: \o/ for the return of ObjectWrap but with a different name
23:23:50  <piscisaureus_>trevnorris: yeah looks good
23:24:05  <piscisaureus_>trevnorris: let me do the full review
23:24:53  * bradleymeckquit (Quit: bradleymeck)
23:34:06  <piscisaureus_>trevnorris: so the issue that FSEvents and ZTX use both MakeCallback and MakeWeak didn't go away so far?
23:34:35  * sblomquit (Ping timeout: 260 seconds)
23:34:39  <piscisaureus_>trevnorris: reorganizing the the house a bit better
23:35:04  * AvianFluquit (Remote host closed the connection)
23:35:10  <trevnorris>piscisaureus_: was looking for a solution, but removing the weak part of them has been complicated to say the least.
23:35:15  * paulfryzelquit (Remote host closed the connection)
23:38:52  * mikealquit (Quit: Leaving.)
23:38:55  <trevnorris>piscisaureus_: also don't forget about node::Connection in node_crypto. that has a strange implicit dependency on MakeWeak because it inherits from SSLWrap.
23:39:20  <trevnorris>piscisaureus_: and wasn't about to figure out how to straighten that out before landing this patch.
23:40:09  <piscisaureus_>trevnorris: right, I don't know for sure either
23:40:24  <piscisaureus_>trevnorris: but that PR looks like a good step anyway so let's land that at least
23:40:57  <trevnorris>piscisaureus_: coolio. i'm just going to wait for bnoordhuis to finish whatever swath of bug fixes he's currently pounding on.
23:43:15  <trevnorris>tjfontaine: btw, nice idea on removing the HandleScope around uv_run. wonder how many hours of work that would've saved. ;P
23:44:22  <tjfontaine>trevnorris: I think you mean, how many it *will* save
23:44:33  <tjfontaine>trevnorris: but I spent 2~3 weeks on this bug
23:44:53  <tjfontaine>not completely full time, but context switching in and out of it
23:45:23  <trevnorris>tjfontaine: heh, yeah. and I similarly spent a week (not knowing it was the same bug), and who knows how long hueniverse spend.
23:45:29  <trevnorris>well... I guess he would.
23:46:05  <trevnorris>tjfontaine: but honestly those flame graphs you produces are pretty bad ass. keep those scripts under your belt for later. :)
23:46:15  <trevnorris>*produced
23:47:41  <tjfontaine>trevnorris: ya, they aren't going anywhere, I have a PR on stackvis already
23:47:59  <trevnorris>heh, awesome.
23:48:03  <tjfontaine>https://github.com/davepacheco/node-stackvis/pull/8
23:48:17  <tjfontaine>but now I have a few other methods of generating those files, so I will need to update it
23:48:40  <tjfontaine>being able to see flamegraphs for active heap memory is fucking awesome though
23:49:23  <MI6>joyent/node: Maciej Małecki v0.10 * 568072c : repl: do not insert duplicates into completions - http://git.io/1LiBgQ
23:50:01  * pachetquit (Quit: leaving)
23:50:24  * sblomjoined
23:50:59  <bnoordhuis>trevnorris: https://github.com/joyent/node/pull/6499
23:51:14  * trevnorrisgoes off to look
23:53:02  * c4milojoined
23:53:07  <trevnorris>bnoordhuis: isn't a Local stack allocated and will be cleaned up when the function is complete? the reason for the HandleScope is to prevent gc from cleaning up the handle early?
23:54:46  <trevnorris>bnoordhuis: also, on the side, won't we have to change all the HandleScope's where we use .Close() to EscapableHandleScope in the near future?
23:54:53  <trevnorris>not worried about it right now, just curious.
23:55:10  <bnoordhuis>trevnorris: Locals aren't really stack allocated
23:55:24  <bnoordhuis>they're basically just tiny wrappers around a pointer
23:56:07  <bnoordhuis>when you call e.g. Object::New(), v8 internally adds that pointer to the then-current HandleScope
23:57:13  <trevnorris>bnoordhuis: why'd you remove the HandleScope in node::Buffer::Initialize() ?
23:57:36  <trevnorris>ah, nm.
23:57:37  <bnoordhuis>because module initializer functions have an implicit HandleScope
23:57:55  * c4miloquit (Ping timeout: 260 seconds)
23:57:56  <bnoordhuis>i could add it back in but it's a little more consistent with other modules this way