00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:12  * ircretaryjoined
00:09:46  * kazuponjoined
00:15:02  * kazuponquit (Ping timeout: 240 seconds)
00:17:44  * inolenquit (Quit: Leaving.)
00:18:31  * inolenjoined
00:19:46  * lenardquit (Ping timeout: 246 seconds)
00:20:34  * lenardjoined
00:22:21  * Benviequit
00:22:27  * bnoordhuisjoined
00:27:00  * bnoordhuisquit (Ping timeout: 256 seconds)
00:51:38  * c4milojoined
00:54:08  * jmar777joined
00:54:14  <tjfontaine>othiym23, Domenic_ I will also look into it this weekend, I don't really want to rush into the revert if we can avoid the churn
00:54:38  <othiym23>sounds like indutny's going to give it a look in his time in the non-Internet wilderness
00:54:46  <othiym23>tjfontaine: congratulations on making it home safely
00:54:50  <tjfontaine>othiym23: barely :P
00:54:53  <tjfontaine>but thanks :)
01:01:56  * inolenquit (Quit: Leaving.)
01:08:35  * TooTallNatejoined
01:08:52  * Kakeraquit (Ping timeout: 256 seconds)
01:10:13  * groundwaterquit (Quit: groundwater)
01:11:22  * kazuponjoined
01:15:55  * kazuponquit (Ping timeout: 260 seconds)
01:18:17  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
01:42:14  * kazuponjoined
01:43:13  * amartensquit (Quit: Leaving.)
01:49:14  * jmar777quit (Remote host closed the connection)
01:51:39  * defunctzombiechanged nick to defunctzombie_zz
02:05:06  * inolenjoined
02:08:03  * karupaneruraquit (*.net *.split)
02:13:30  * zz_karupanerurajoined
02:19:08  * AvianFluquit (Remote host closed the connection)
02:19:36  * AvianFlujoined
02:43:44  * amartensjoined
02:44:25  * kazuponquit (Remote host closed the connection)
02:48:50  * AvianFluquit (Remote host closed the connection)
02:49:18  * AvianFlujoined
02:51:50  * amartensquit (Ping timeout: 264 seconds)
02:59:47  * defunctzombie_zzchanged nick to defunctzombie
03:03:34  * AvianFluquit (Remote host closed the connection)
03:04:23  * amartensjoined
03:04:49  * AvianFlujoined
03:08:34  * rjequit (Excess Flood)
03:10:48  * rjejoined
03:14:43  * kazuponjoined
03:23:10  * kazuponquit (Ping timeout: 256 seconds)
03:26:45  * amartensquit (Quit: Leaving.)
03:46:15  * groundwaterjoined
03:50:26  * groundwaterquit (Ping timeout: 256 seconds)
03:54:53  * kazuponjoined
03:59:26  * kazuponquit (Ping timeout: 240 seconds)
04:21:56  * pfox___joined
04:22:50  <pfox___>so.. in a successful call to uv_fs_readdir() .. what exactly is stored in the req->ptr field.. a pointer to an array of char's ?
04:22:56  <pfox___>or is it a uv buffer w/ a length field?
04:23:36  <pfox___>the idea of doing pointer arithmetic to count the number of null bytes to discover the length of the return char* isn't too appealing
04:23:40  <pfox___>curious if there's a better way...
04:24:45  <pfox___>is it a double-null-terminated string?
04:25:03  <pfox___>a multistring..
04:32:05  * brson_joined
04:32:15  * brsonquit (Ping timeout: 260 seconds)
04:39:17  * c4miloquit (Remote host closed the connection)
04:51:04  * inolenquit (Quit: Leaving.)
05:28:32  * xakajoined
05:37:45  * EhevuTovjoined
06:02:07  * lenardquit (Read error: Connection reset by peer)
06:02:26  * lenardjoined
06:03:52  * rendarjoined
06:20:07  * amartensjoined
06:43:29  <MI6>nodejs-v0.10-windows: #211 UNSTABLE windows-ia32 (7/600) windows-x64 (8/600) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/211/
06:52:07  * brson_quit (Quit: leaving)
06:57:04  * groundwaterjoined
07:12:23  * amartensquit (Quit: Leaving.)
07:15:35  * luigy_joined
07:16:13  * groundwaterquit (Quit: groundwater)
07:22:46  * defunctzombiechanged nick to defunctzombie_zz
07:24:14  * wwicksquit (Ping timeout: 240 seconds)
07:31:58  * M28joined
07:31:58  * M28_quit (Read error: Connection reset by peer)
07:36:26  * pfox___quit (Ping timeout: 240 seconds)
07:36:34  * pfox___joined
07:36:43  * defunctzombie_zzchanged nick to defunctzombie
07:38:54  * hzjoined
07:43:37  * dominictarrjoined
08:09:24  * xakaquit (Ping timeout: 256 seconds)
09:02:00  * kazuponjoined
09:38:50  * dominictarrquit (Quit: dominictarr)
09:39:04  * defunctzombiechanged nick to defunctzombie_zz
09:46:05  * bnoordhuisjoined
09:48:27  * EhevuTovquit (Quit: This computer has gone to sleep)
09:49:27  * defunctzombie_zzchanged nick to defunctzombie
09:50:14  * dominictarrjoined
10:03:07  * defunctzombiechanged nick to defunctzombie_zz
10:18:15  * Kakerajoined
10:37:06  * indutnyjoined
10:37:40  <indutny>heya
10:42:11  <bnoordhuis>hoya
10:42:41  <indutny>so
10:42:45  <indutny>vm2, right? :)
10:43:54  <bnoordhuis>your mission, if you choose to accept it
10:44:20  <indutny>haha
10:44:26  <indutny>well, what's up with it except that crash?
10:44:32  <indutny>(which I can reproduce)
10:44:37  <indutny>Can I reproduce another problems
10:45:00  <bnoordhuis>try this -> out/Release/node --trace-gc -e 'for (var vm = require("vm"), i = 0; i < 1e4; ++i) vm.createContext({})'
10:45:19  <bnoordhuis>and compare it with v0.10
10:45:30  <bnoordhuis>add a printf statement to the contextifycontext destructor and you'll see that it never gets called
10:45:35  <bnoordhuis>and if it does get called, it crashes
10:45:50  <bnoordhuis>the crash is relatively easy to fix but not without introducing memory leaks :-/
10:46:13  <MI6>nodejs-v0.10: #1483 UNSTABLE linux-ia32 (1/600) linux-x64 (1/600) smartos-x64 (2/600) http://jenkins.nodejs.org/job/nodejs-v0.10/1483/
10:46:17  <bnoordhuis>i think some from-the-ground-up-redesign is in order but that requires a fair bit of work
10:50:07  * dominictarrquit (Quit: dominictarr)
11:03:38  * kazuponquit (Read error: Connection reset by peer)
11:04:04  * kazuponjoined
11:16:54  * niskaquit (Ping timeout: 264 seconds)
11:17:26  * dominictarrjoined
11:19:58  * niskajoined
11:22:01  * kazuponquit (Remote host closed the connection)
12:20:18  * lenardquit (Ping timeout: 264 seconds)
12:32:29  * kazuponjoined
12:35:50  <indutny>bnoordhuis: well, you're always quite negative about new features :)
12:36:05  <indutny>from looking at vm2 code, I can't tell that its really that bad
12:37:07  * kazuponquit (Ping timeout: 260 seconds)
12:40:38  <indutny>bnoordhuis: also, ~ContextifyContext is called
12:40:41  <indutny>pretty often
12:40:50  <indutny>and that was a problem for me actually :)
12:40:54  <indutny>because it was crashing
12:40:58  <indutny>afterwards :D
12:47:38  * c4milojoined
12:53:05  * hzquit
13:00:55  * c4miloquit (Remote host closed the connection)
13:03:51  * bnoordhuisquit (Ping timeout: 260 seconds)
13:03:52  * M28quit (Read error: Connection reset by peer)
13:05:14  * M28joined
13:07:17  * c4milojoined
13:10:01  * c4miloquit (Remote host closed the connection)
13:47:36  * bnoordhuisjoined
13:47:38  * Kakeraquit (Ping timeout: 264 seconds)
13:58:39  * kazuponjoined
14:08:15  <bnoordhuis>indutny: stability > new features
14:08:28  <indutny>hohoh :)
14:08:35  <indutny>you're such a reactionist
14:08:35  <indutny>:)
14:08:51  <indutny>but that's not bad
14:09:01  <indutny>its good
14:09:11  <indutny>as long as there're people who standing on opposite side :)
14:09:30  <indutny>anyawy
14:09:32  <indutny>anyway
14:09:36  <indutny>regarding that memory leak
14:09:41  <indutny>it seems to be mostly a v8 issue
14:09:52  <indutny>I'm trying to figure out what's happening there
14:10:20  <bnoordhuis>indutny: if you remove the SetHiddenValue, the issue goes away
14:10:26  <indutny>oh, really
14:10:56  <indutny>that's odd
14:11:21  <indutny>no, it doesn't
14:11:31  * Kakerajoined
14:12:01  <bnoordhuis>maybe i should say 'part of the issue'
14:12:08  <indutny>haha
14:12:12  <indutny>no, its pretty much the same
14:12:19  <indutny>the issue is that Context never gets weak
14:12:22  <bnoordhuis>what are you testing it with?
14:12:26  <indutny>for (var vm = require("vm"), i = 0; i < 1e4; ++i) vm.createContext({})
14:12:31  <bnoordhuis>okay
14:13:24  <indutny>there's list of contexts in v8's heap
14:13:32  <indutny>I suspect that it could be holding reference to it
14:13:37  <indutny>though, its named Weak
14:23:11  <MI6>joyent/libuv: Ben Noordhuis master * b460142 : bench: measure total/init/dispatch/cleanup times - http://git.io/mVPCgQ
14:28:48  <MI6>libuv-master: #241 UNSTABLE windows (4/195) smartos (9/194) http://jenkins.nodejs.org/job/libuv-master/241/
14:29:36  <MI6>libuv-master-gyp: #180 UNSTABLE windows-x64 (3/195) smartos-ia32 (2/194) windows-ia32 (3/195) linux-ia32 (1/194) smartos-x64 (2/194) http://jenkins.nodejs.org/job/libuv-master-gyp/180/
14:30:43  * bnoordhuisquit (Quit: leaving)
14:35:32  * lenardjoined
14:35:44  * bnoordhuisjoined
14:37:15  <indutny>bnoordhuis: surprisingly DetachGlobal() helps here
14:37:24  <indutny>bnoordhuis: though, it breaks a lot of tests
14:37:46  <indutny>and Context's weak callback is still never called
14:41:50  <MI6>libuv-node-integration: #226 UNSTABLE smartos-x64 (6/639) linux-x64 (1/639) http://jenkins.nodejs.org/job/libuv-node-integration/226/
15:00:38  * lenardquit (Remote host closed the connection)
15:02:12  * hzjoined
15:06:49  * bradleymeckjoined
15:17:24  <MI6>nodejs-master: #554 UNSTABLE osx-x64 (1/639) linux-x64 (1/639) smartos-x64 (5/639) http://jenkins.nodejs.org/job/nodejs-master/554/
15:30:12  * skebcioquit (Ping timeout: 256 seconds)
15:37:30  * c4milojoined
15:51:14  <indutny>oh god
15:51:16  <indutny>bnoordhuis: yt?
15:53:27  <Domenic_>what's up indutny my potential savoir
15:54:33  <indutny>I've just figured out
15:54:38  <indutny>that function with name `Array`
15:54:43  <indutny>is referencing Context :)
15:55:04  <indutny>so it'll never be destroyed
15:55:59  <indutny>I wonder if its referenced by proxy_global_
15:56:06  <indutny>and if yes - what's referencing proxy_global_ itself
15:57:57  <indutny>ah, ok
15:58:03  <indutny>its proxy_global_ that references Array
15:58:05  <indutny>hm...
15:58:07  <indutny>who is referencing it
15:59:36  * wwicksjoined
16:02:17  * dominictarrquit (Quit: dominictarr)
16:05:09  <indutny>huuuh
16:05:14  <indutny>its referenced by global object?!
16:05:15  <indutny>wtf
16:26:53  * jmar777joined
16:27:01  <indutny>ok, its not a global leak
16:27:15  <indutny>its a global object that is referencing it...
16:28:14  <indutny>well, I mean
16:28:19  <indutny>its how it should work
16:28:24  <indutny>global object contains pointer to global proxy
16:28:30  <indutny>and someone contains pointer to that global object
16:34:06  * bnoordhuisquit (Ping timeout: 264 seconds)
16:52:54  <indutny>yikes
16:52:55  <indutny>fixed leak
16:53:25  <indutny>it was more a luck, than a result of deep analysis, though
16:53:28  <indutny>which saddens me a bit
16:56:17  <tjfontaine>indutny: do you have a diff?
17:02:01  * jmar777_joined
17:02:38  * jmar777quit (Ping timeout: 256 seconds)
17:03:27  <indutny>tjfontaine: sure, I'll open a PR quite soon
17:05:31  <tjfontaine>thanks
17:06:47  <indutny>tjfontaine: https://github.com/joyent/node/pull/6232
17:06:59  <indutny>it isn't obvious, but yeah
17:07:00  <indutny>:)
17:07:00  <tjfontaine>thanks
17:07:56  <indutny>that fixes bug mentioned by bnoordhuis
17:07:59  <tjfontaine>nod
17:08:52  * jmar777_quit (Remote host closed the connection)
17:11:36  * jmar777joined
17:12:56  * jmar777quit (Remote host closed the connection)
17:13:56  <indutny>oh, apparently its fixing crash too :)
17:24:57  * dominictarrjoined
17:44:25  * bradleymeckquit (Quit: bradleymeck)
17:48:59  * hzquit
17:53:38  <MI6>libuv-master: #242 UNSTABLE windows (4/195) smartos (9/194) http://jenkins.nodejs.org/job/libuv-master/242/
17:59:33  * jmar777joined
18:02:24  * kazuponquit (Remote host closed the connection)
18:05:39  * TooTallNatejoined
18:06:34  <MI6>libuv-node-integration: #227 UNSTABLE linux-ia32 (1/639) smartos-x64 (6/639) http://jenkins.nodejs.org/job/libuv-node-integration/227/
18:20:01  * AvianFluquit (Remote host closed the connection)
18:20:30  * AvianFlujoined
18:32:32  * jmar777quit (Remote host closed the connection)
18:46:08  <MI6>nodejs-master-windows: #348 UNSTABLE windows-x64 (20/639) windows-ia32 (21/639) http://jenkins.nodejs.org/job/nodejs-master-windows/348/
18:53:01  * groundwaterjoined
18:56:14  * EhevuTovjoined
19:00:00  * hzjoined
19:00:40  * wwicksquit (Quit: wwicks)
19:14:12  * defunctzombie_zzchanged nick to defunctzombie
19:30:08  <MI6>joyent/node: Nathan Rajlich master * f31037d : http: don't pass the request options to Agent - http://git.io/kjWL5g
19:33:03  * kazuponjoined
19:39:04  <MI6>nodejs-master: #555 UNSTABLE osx-ia32 (1/640) smartos-x64 (5/640) http://jenkins.nodejs.org/job/nodejs-master/555/
19:41:14  * kazuponquit (Ping timeout: 256 seconds)
19:49:39  <MI6>nodejs-master-windows: #349 UNSTABLE windows-x64 (21/640) windows-ia32 (22/640) http://jenkins.nodejs.org/job/nodejs-master-windows/349/
20:03:22  * bnoordhuisjoined
20:09:52  * wwicksjoined
20:10:00  * defunctzombiechanged nick to defunctzombie_zz
20:24:01  * defunctzombie_zzchanged nick to defunctzombie
20:31:22  <indutny>bnoordhuis: hey ben
20:31:34  <indutny>bnoordhuis: wanna help making https://github.com/joyent/node/pull/6232 reach master? ;)
20:37:33  * c4miloquit (Remote host closed the connection)
20:38:07  * kazuponjoined
20:45:51  <bnoordhuis>indutny: i'm curious why that was never an issue with node_script.cc
20:46:01  <indutny>bnoordhuis: honestly, I don't know :0
20:46:16  <bnoordhuis>maybe because it doesn't mess around with Context::Global()...
20:46:23  <indutny>I spent a couple of hours tracking through Garbage collector's code
20:46:33  <indutny>to figure out what's happening there
20:46:39  <indutny>and they were all referencing each other
20:46:39  * kazuponquit (Ping timeout: 260 seconds)
20:46:41  <indutny>from different places
20:46:50  <indutny>:)
20:47:02  <indutny>+1 thing to the list of v8 wierdness
20:47:11  <indutny>bnoordhuis: btw, fixed all mentionted nits
20:47:16  <indutny>mentioned*
20:47:17  <bnoordhuis>yeah. maybe raise a v8 issue?
20:47:20  <indutny>bnoordhuis: mind taking a look again?
20:47:27  <indutny>bnoordhuis: yeah, will do
20:47:38  <bnoordhuis>okay, cool. i'll take another look
20:48:02  * defunctzombiechanged nick to defunctzombie_zz
20:49:00  <bnoordhuis>let me try your patch for a bit
20:50:01  <indutny>bnoordhuis: v
20:50:02  <indutny>https://code.google.com/p/v8/issues/detail?id=2884&thanks=2884&ts=1379191795
20:51:20  * defunctzombie_zzchanged nick to defunctzombie
20:52:05  <bnoordhuis>indutny: looks better but:
20:52:07  <bnoordhuis> 33476608 maximum resident set size
20:52:07  <bnoordhuis> 0 average shared memory size
20:52:11  <bnoordhuis>that's with your patch
20:52:15  <indutny>well
20:52:15  <indutny>33
20:52:15  <bnoordhuis>err
20:52:19  <bnoordhuis>wait, one sec
20:52:24  <indutny>k
20:52:28  <bnoordhuis>sorry, this:
20:52:28  <bnoordhuis> 11.01 real 10.95 user 0.13 sys
20:52:29  <bnoordhuis> 33476608 maximum resident set size
20:52:31  <bnoordhuis>that's with master
20:52:34  <bnoordhuis>and here's v0.10
20:52:46  <bnoordhuis> 2.99 real 2.50 user 0.36 sys
20:52:46  <bnoordhuis> 478846976 maximum resident set size
20:53:03  <indutny>ok
20:53:09  <indutny>memory usage became lower :)
20:53:10  <bnoordhuis>less memory but takes 4x longer
20:53:13  <indutny>haha
20:53:20  <indutny>well, that is a context creation, right?
20:53:34  <indutny>that's 1ms per call
20:53:39  <bnoordhuis>yes, it's /usr/bin/time -l out/Release/node -e 'for (var vm = require("vm"), i = 0; i < 1e4; ++i) vm.createContext({})'
20:53:58  <indutny>that's a price to pay
20:54:05  <indutny>I can optimize it
20:54:05  <bnoordhuis>i guess i should run it through perf and see where the difference comes from
20:54:08  <indutny>but it'll pay off later
20:54:15  <bnoordhuis>right, not tonight
20:54:16  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
20:54:24  <indutny>ok
20:54:27  <indutny>what about that PR?
20:54:29  <indutny>LGTY?
20:54:51  <bnoordhuis>yeah. i'm a teensy weensy bit skeptical it fixes all the issues, though
20:54:58  <bnoordhuis>but land it and let's see what happens
20:55:22  <indutny>ok
20:55:24  <indutny>thank you
20:56:17  <MI6>joyent/node: Fedor Indutny master * 59a075e : contextify: fix ContextifyContext leak - http://git.io/owPILg
21:01:13  * groundwaterquit (Quit: groundwater)
21:02:05  * c4milojoined
21:07:11  <MI6>nodejs-master: #556 UNSTABLE smartos-x64 (5/640) http://jenkins.nodejs.org/job/nodejs-master/556/
21:16:40  * rendarquit (Quit: Leaving)
21:17:20  * c4miloquit (Remote host closed the connection)
21:17:57  <MI6>nodejs-master-windows: #350 UNSTABLE windows-x64 (22/640) windows-ia32 (21/640) http://jenkins.nodejs.org/job/nodejs-master-windows/350/
21:33:19  * c4milojoined
21:34:28  * hzquit
21:43:21  * kazuponjoined
21:43:25  * stagasjoined
21:47:19  * M28_joined
21:47:19  * M28quit (Read error: Connection reset by peer)
21:48:18  * kazuponquit (Ping timeout: 240 seconds)
21:55:43  * AvianFluquit (Remote host closed the connection)
21:56:15  * AvianFlujoined
22:00:38  * AvianFluquit (Ping timeout: 256 seconds)
22:10:32  * EhevuTovquit (Quit: This computer has gone to sleep)
22:22:42  <indutny>ttyl
22:27:51  <bnoordhuis>sleep tight fedor
22:28:43  <tjfontaine>bnoordhuis: is there a deadline yet? :)
22:29:12  <tjfontaine>also will you make sure to drop us an email or something when it happens?
22:31:07  * brsonjoined
22:34:00  * c4miloquit (Remote host closed the connection)
22:44:12  * kazuponjoined
22:48:40  <bnoordhuis>tjfontaine: probably in the next two or three days and will do :)
22:48:53  * kazuponquit (Ping timeout: 256 seconds)
22:48:57  <tjfontaine>excellent, I'm excited for you :)
22:49:37  * `3rdEdenchanged nick to `3E|ZZZ
22:51:15  * dominictarrquit (Quit: dominictarr)
22:54:14  * stagasquit (Ping timeout: 240 seconds)
23:03:06  * bnoordhuisquit (Ping timeout: 264 seconds)
23:12:12  * dominictarrjoined
23:15:31  <Domenic_>indutny: you are awesome and i <3 you
23:15:59  <tjfontaine>indeed
23:16:17  <tjfontaine>also it should be doable to track down the rest of the perf
23:44:59  * kazuponjoined
23:49:54  * kazuponquit (Ping timeout: 264 seconds)