00:01:36  <bnoordhuis>igorzi_: a printf("refcount=%d\n", uv_loop_refcount(loop)); in uv_run() would help too
00:04:08  <igorzi_>bnoordhuis: https://gist.github.com/1629906
00:04:27  * mmaleckiquit (Quit: Reconnecting)
00:04:32  * mmaleckijoined
00:05:37  <bnoordhuis>igorzi_: hrm, the first one should have 1-2-1 as the refcounts
00:05:56  <igorzi_>bnoordhuis: that's the 1st (default) isolate?
00:06:10  <bnoordhuis>yeah
00:07:09  <igorzi_>bnoordhuis: i'll look into that
00:12:15  <igorzi_>bnoordhuis: why should the 1st one be 1-2-1? where does that ref come from?
00:17:16  <bnoordhuis>igorzi_: i'm not 100% sure, it might be an idle watcher or something
00:17:49  <piscisaureus_>bnoordhuis: we have no idle watchers that ref the loop
00:17:59  <piscisaureus_>bnoordhuis: it could be a nexttick callback watcher though
00:18:13  <bnoordhuis>piscisaureus_: hence the 'or something' :)
00:18:59  <bnoordhuis>maybe i should land that handle walker patch sometime...
00:21:45  <igorzi_>bnoordhuis: so whatever causes the ref on the parent isolate probably also causes that ref on the child isolate as well, and that's what probably keeps it alive
00:22:02  <bnoordhuis>igorzi_: probably yes
00:23:08  <igorzi_>bnoordhuis piscisaureus_: should we add an artificial ref to the child isolate? we never want it to go away on its own, right?
00:24:09  <bnoordhuis>igorzi_: do you mean ref the parent's loop or the child's loop?
00:24:22  <igorzi_>bnoordhuis: child
00:25:22  <igorzi_>with child processses, the child never exits the event-loop even if it does nothing (i think what holds the event-loop there is stdin pipe)
00:25:28  <bnoordhuis>igorzi_: child_exit_ <- that's the uv_async_t that keeps the parent's event loop alive
00:25:44  <bnoordhuis>yeah, that's true but i consider that a bug
00:26:02  <igorzi_>bnoordhuis: ok, i thought that was a feature :)(
00:26:10  <bnoordhuis>haha
00:27:14  <igorzi_>bnoordhuis: on unix, if you create an isolate that does nothing - does it go away?
00:28:05  <bnoordhuis>igorzi_: yes
00:28:32  <igorzi_>bnoordhuis: ok, so for that unix and windows do the same thing
00:29:40  <igorzi_>bnoordhuis: so, with test-isolate1, it's process.on('message') that keeps it alive?
00:31:00  <bnoordhuis>igorzi_: yes. it probably works accidentally
00:32:40  <piscisaureus_>bnoordhuis: could it not be the console.log statement that keeps it alive
00:32:58  <piscisaureus_>bnoordhuis: remember, on unix uv_write() refs, on windows it doesn't
00:33:23  <piscisaureus_>when the write is completed the message has already arrived
00:35:19  * Raynosjoined
00:35:30  <piscisaureus_>oh wait I am looking at the wrong spot (shoot me)
00:39:40  * mrb_bkjoined
00:45:08  * sh1mmerquit (Quit: sh1mmer)
00:47:06  * piscisaureus_quits
00:49:22  <bnoordhuis>sleep tight bertje
00:49:46  <creationix>get some sleep for me, I need to catch a plane in a couple hours
00:49:58  <creationix>goodbye europe
00:50:15  <piscisaureus_>goodbye tim. when are you back?
00:50:23  <piscisaureus_>(in europe)
00:50:28  <creationix>I think end of May
00:51:10  <piscisaureus_>ah ok
00:51:18  <piscisaureus_>company trip to texas then :-p
00:52:34  <creationix>sweet!
00:53:04  <creationix>I think github is blocking me, or node is messing up
00:53:08  <creationix>can't make https requests to github
00:53:17  <creationix>socket keeps hanging up
00:53:23  <piscisaureus_>github has a lot of issues with https lately
00:53:31  <piscisaureus_>try git://
00:53:37  <creationix>hrm, I need it to fetch snippets
00:54:19  <creationix>that may work, but I would have to clone and pull using git in a sub process
00:54:24  <creationix>a lot of work to just load a single file
00:54:53  <piscisaureus_>oh hmm
00:55:44  <creationix>if I request from the browser it's fine
00:55:57  <creationix>raw urls like this https://raw.github.com/luvit/luvit/master/examples/event-emitters.lua
00:56:18  <piscisaureus_>yes I was just going to suggest you use raw
00:57:41  <piscisaureus_>hmm I have the same
00:57:52  * `3rdEdenquit (Quit: Zzzzz gnite)
00:58:31  <piscisaureus_>D:\>node -e "require('https').get(require('querystring').parse('https://raw.github.com:80/luvit/luvit/master/examples/event-emitters.lua'))"
00:58:31  <piscisaureus_>node.js:201
00:58:31  <piscisaureus_> throw e; // process.nextTick error, or 'error' event on first tick
00:58:31  <piscisaureus_> ^
00:58:31  <piscisaureus_>Error: connect ECONNREFUSED
00:58:32  <piscisaureus_> at errnoException (net.js:616:11)
00:58:32  <piscisaureus_> at Object.afterConnect [as oncomplete] (net.js:607:18)
01:00:03  <creationix>well, you used port 80 on https
01:00:05  <creationix>don't do that
01:00:10  <creationix>I get socket hangups
01:00:14  <piscisaureus_>yeah that was wrong
01:00:20  <piscisaureus_>it was a second try that also failed :-)
01:01:31  <piscisaureus_>I am also doing something else wrong
01:01:38  <piscisaureus_>because node is trying to connect to localhost
01:01:54  <creationix>I like the query string parse trick
01:01:59  <creationix>then I can use normal urls
01:02:00  * bradleymeckjoined
01:02:08  <piscisaureus_>creationix: I think it doesn't work
01:02:21  <CIA-115>node: Ben Noordhuis master * rad42a82 / configure : build: remove node_debug from config.gypi - http://git.io/cx_DTQ
01:02:27  <creationix>though, wouldn't it be Url.parse
01:02:40  <piscisaureus_>creationix: oh shit
01:02:45  <piscisaureus_>I really need sleep :-)
01:03:13  <piscisaureus_>yes, with url it works
01:04:40  <piscisaureus_>node -e "require('https').get(require('url').parse('https://raw.github.com/luvit/luvit/master/examples/event-emitters.lua'), function(s) { s.pipe(process.stdout) })"
01:04:44  <piscisaureus_>creationix: ^-- wfm
01:05:20  <creationix>hmm, me too
01:05:39  <creationix>well, that's good, means I have a bug in my code
01:05:49  <creationix>easy to fix
01:06:07  <creationix>I was worried github had blocked me or something
01:07:38  <piscisaureus_>Ok now I am really off. creationix, good luck, ttyl.
01:07:44  <creationix>night
01:08:29  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:15:12  * travis-cijoined
01:15:12  <travis-ci>[travis-ci] joyent/node#273 (master - ad42a82 : Ben Noordhuis): The build is still failing.
01:15:12  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/29ce743...ad42a82
01:15:12  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/538808
01:15:12  * travis-cipart
01:19:30  * bradleymeckquit (Ping timeout: 252 seconds)
01:36:37  * pieternquit (Quit: pietern)
02:09:27  * dapquit (Quit: Leaving.)
02:12:13  * dshaw_quit (Quit: Leaving.)
02:12:46  * dshaw_joined
02:13:23  * bnoordhuisquit (Ping timeout: 248 seconds)
02:16:30  * dshaw_quit (Read error: Operation timed out)
02:32:58  * pieternjoined
02:34:05  * pieternquit (Client Quit)
02:45:57  * isaacsquit (Remote host closed the connection)
02:53:24  * perezdquit (Quit: perezd)
03:03:32  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
03:08:17  * brsonquit (Quit: leaving)
04:02:37  * pquernaquit (Remote host closed the connection)
04:05:14  * rphillipsquit (Ping timeout: 252 seconds)
04:13:38  * pquernajoined
04:18:33  * rphillipsjoined
04:18:42  * pquernaquit (Changing host)
04:18:42  * pquernajoined
04:33:49  * perezdjoined
05:55:31  * felixgejoined
05:55:31  * felixgequit (Changing host)
05:55:31  * felixgejoined
05:59:58  * mralephjoined
06:01:26  * felixgequit (Quit: felixge)
06:38:52  * mralephquit (Quit: Leaving.)
06:40:27  * felixgejoined
06:46:06  * felixgequit (Quit: felixge)
07:10:31  * felixgejoined
07:10:32  * felixgequit (Changing host)
07:10:32  * felixgejoined
07:15:38  * paddybyersjoined
07:16:01  * felixgequit (Quit: felixge)
07:43:08  * perezdquit (Quit: perezd)
07:48:16  * isaacsjoined
07:55:31  * felixgejoined
07:55:32  * felixgequit (Changing host)
07:55:32  * felixgejoined
08:01:45  * felixgequit (Quit: http://www.debuggable.com/)
08:37:16  * dshaw_joined
09:32:08  * dshaw_quit (Quit: Leaving.)
09:32:48  * isaacsquit (Remote host closed the connection)
10:23:33  * benviequit (Ping timeout: 276 seconds)
11:41:32  * piscisaureus_joined
11:42:16  <indutny_away>piscisaureus_: hey man!
11:42:23  <indutny_away>can you help me writing a makefile? :)
11:42:27  <piscisaureus_>hey fedor
11:42:28  <piscisaureus_>hehe
11:42:38  <piscisaureus_>what's the issue?
11:42:47  <indutny_away>piscisaureus_: I'm trying to write rule for creating static lib
11:42:59  <indutny_away>piscisaureus_: "all: libname.a" doesn't work
11:43:13  <indutny_away>experimenting with C :)
11:43:15  <piscisaureus_>indutny_away: you have to create a rule for libname.a then :-)
11:43:34  <indutny_away>piscisaureus_: https://github.com/joyent/libuv/blob/master/Makefile#L83
11:43:36  <indutny_away>how does it work?
11:44:31  <piscisaureus_>indutny_away: https://github.com/joyent/libuv/blob/master/config-unix.mk#L128
11:44:41  * indutny_awaychanged nick to indutny
11:44:43  <piscisaureus_>indutny_away: it is included from makefile
11:44:46  <indutny>oooh
11:44:55  <indutny>ah, I see
11:44:58  <piscisaureus_>because the linker rule is different between mingw and unix
11:45:00  <indutny>conditional comments
11:45:33  <indutny>thanks a lot!
11:50:13  <indutny>going to write C implementation of append-only b+ tree
11:51:23  <piscisaureus_>indutny: for what?
11:53:07  <indutny>piscisaureus_: for fun
11:53:14  <indutny>piscisaureus_: and probably for building database with node.js
12:07:11  <mmalecki>indutny: ++
12:07:12  <kohai>indutny has 7 beers
12:07:14  <mmalecki>hello!
12:10:37  <indutny>mmalecki: hi
12:52:49  * bnoordhuisjoined
12:53:51  <bnoordhuis>sup nerds
12:54:04  <mmalecki>sup no
12:54:07  <mmalecki>*bno
12:54:11  <mmalecki>damn
12:54:15  <mmalecki>sup bnoordhuis
12:54:27  <bnoordhuis>heh
12:56:45  <indutny>hi
13:18:04  <bnoordhuis>so... who here cares about jslint?
13:19:11  <mmalecki>https://github.com/joyent/node/pull/2572/files is pretty bad
13:19:16  <mmalecki>if that's what you mean :)
13:19:24  <bnoordhuis>yeah
13:20:09  <mmalecki>but yeah, anyway, I don't care. I care only about real warnings
13:20:14  <mmalecki>(redefinition, etc.)
13:20:22  <mmalecki>that's why I keep jshinting in my vim
13:21:02  <bnoordhuis>same here (sans vim jshinting)
13:21:18  <bnoordhuis>piscisaureus_: ^
13:21:27  <piscisaureus_>bnoordhuis: sup?
13:21:35  <bnoordhuis>yo homie
13:21:45  <bnoordhuis>did you discuss js linting with andreas?
13:25:46  <piscisaureus_>bnoordhuis: kind of
13:25:55  <piscisaureus_>bnoordhuis: I landed a lot of changes but left some out
13:26:11  <piscisaureus_>bnoordhuis: because some make the code uglier not nicer
13:26:20  <bnoordhuis>yeah
13:26:35  <piscisaureus_>bnoordhuis: I told him to make a new pull request for the stuff he still wants to fix
13:26:51  <bnoordhuis>i don't want to be that guy but i don't like it :/
13:27:08  <piscisaureus_>bnoordhuis: what exactly don't you like?
13:27:10  <piscisaureus_>all of it?
13:27:19  <bnoordhuis>well... yes
13:29:01  <bnoordhuis>ideally we'd only land patches that are bug fixes or features, not changes to appease a style checker
13:29:54  <piscisaureus_>bnoordhuis: well, I don't agree
13:30:23  <piscisaureus_>bnoordhuis: node's code style can be much more consistent
13:30:26  <piscisaureus_>== easier to read
13:30:40  <piscisaureus_>bnoordhuis: we we should not appease the style checker for the sake of the style checer
13:31:45  <bnoordhuis>piscisaureus_: well, that's what #2572 is
13:32:15  <bnoordhuis>as an aside, most of node's code is pretty readable imo
13:33:10  <piscisaureus_>bnoordhuis: https://github.com/joyent/node/pull/2572/files#L2L187 is an improvement imo
13:33:11  <piscisaureus_>\
13:34:03  <bnoordhuis>piscisaureus_: mwah, not earth shatteringly so
13:36:03  <bnoordhuis>piscisaureus_: another reason i don't like such changes is that it makes `git blame` less effective and gives false positives with `git log -S`
13:52:06  * luxigo_joined
13:54:34  <piscisaureus_>bnoordhuis: what should path.extname('.gitignore') do?
13:55:20  <bnoordhuis>piscisaureus_: return an empty string, i think
13:55:59  * luxigo_changed nick to luxigo
13:56:17  <bnoordhuis>piscisaureus_: which it does on unices
13:58:07  <piscisaureus_>bnoordhuis: ok. and path.extname('..gitignore') ?
13:58:33  <piscisaureus_>bnoordhuis: that was the last question btw
13:58:49  <bnoordhuis>piscisaureus_: '.gitignore'
13:58:50  <piscisaureus_>bnoordhuis: the question is not what node does, but what it *should* do
13:59:10  <piscisaureus_>bnoordhuis: is there an extname command in unix?
13:59:49  <bnoordhuis>piscisaureus_: node does what i expect it to
13:59:59  <bnoordhuis>piscisaureus_: yes, `basename path .ext`
14:00:17  <piscisaureus_>bnoordhuis: ok, fine
14:00:19  <bnoordhuis>well, that's not really extname
14:00:41  <piscisaureus_>bnoordhuis: I bet `basename .gitignore .gitignore` returns the empty string
14:00:47  <piscisaureus_>btw: http://www.php.net/
14:00:51  <piscisaureus_>*sigh*
14:01:04  <bnoordhuis>no, it returns '.gitignore'
14:01:21  <bnoordhuis>php.net should keep that design
14:04:08  <indutny>piscisaureus_: a = malloc(...); a +=2 ; free(a) <- will it work?
14:04:24  <piscisaureus_>indutny: no
14:04:25  <bnoordhuis>indutny: no
14:04:40  <indutny>piscisaureus_: cool, I knew it! :)
14:04:46  <indutny>bnoordhuis: piscisaureus_ thanks
14:04:52  <piscisaureus_>indutny: then why do you ask? :-p
14:08:29  <indutny>piscisaureus_: recheking myself
14:08:36  <indutny>s/k/ck
14:09:10  <CIA-115>libuv: Ben Noordhuis master * rdee86dd / (src/unix/core.c src/unix/internal.h):
14:09:11  <CIA-115>libuv: unix: don't retry close() on EINTR
14:09:11  <CIA-115>libuv: Linux 2.6 always closes the file descriptor, even on EINTR. Retrying the close()
14:09:11  <CIA-115>libuv: call isn't merely useless, it's actively harmful - the file descriptor may have
14:09:11  <CIA-115>libuv: been acquired by another thread. - http://git.io/GZ24nA
14:11:00  * travis-cijoined
14:11:01  <travis-ci>[travis-ci] joyent/libuv#37 (master - dee86dd : Ben Noordhuis): The build is still failing.
14:11:01  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/52511b9...dee86dd
14:11:01  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/540702
14:11:01  * travis-cipart
14:15:44  <piscisaureus_>bnoordhuis: https://gist.github.com/1633192
14:15:47  <piscisaureus_>review?
14:16:18  <piscisaureus_>crap
14:16:23  <piscisaureus_>bnoordhuis: scrap that, mistake
14:17:10  <piscisaureus_>bnoordhuis: scrap that, mistake. That patch is the right one after all.
14:17:12  <piscisaureus_>:-)
14:21:18  <bnoordhuis>piscisaureus_: lgtm
14:21:25  <bnoordhuis>what would path.extname('........') return?
14:21:31  <piscisaureus_>bnoordhuis: .
14:21:32  * bnoordhuisguesses '.'
14:21:34  <bnoordhuis>right
14:22:01  <piscisaureus_>bnoordhuis: I though a test for '....' was enough
14:22:15  <bnoordhuis>piscisaureus_: sure, just double-checking
14:22:29  <CIA-115>node: Bert Belder v0.6 * rd489a01 / (lib/path.js test/simple/test-path.js):
14:22:29  <CIA-115>node: Make path.extname do the right thing when the last path component is . or ..
14:22:29  <CIA-115>node: Closes GH-2526 - http://git.io/f-qt5w
14:24:42  <piscisaureus_>bnoordhuis: https://github.com/joyent/node/issues/2439
14:24:46  <piscisaureus_>still valid?
14:25:43  <bnoordhuis>piscisaureus_: i think i fixed that but let me check
14:27:46  <bnoordhuis>piscisaureus_: yes, it's fixed. i've closed the issue
14:30:01  * benviejoined
14:30:27  * travis-cijoined
14:30:27  <travis-ci>[travis-ci] joyent/node#274 (v0.6 - d489a01 : Bert Belder): The build was broken.
14:30:27  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/d44ce97...d489a01
14:30:27  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/540740
14:30:27  * travis-cipart
14:31:16  <piscisaureus_>^-- yes I am against sopa already? Now can we remove the blackout crap?
14:32:18  <piscisaureus_>I mean blackout wikipedia = fine. Blackout google = also fine.
14:32:53  <piscisaureus_>But annoying developers is pretty pointless since they mostly are against sopa anyway
14:57:44  <CIA-115>libuv: Ben Noordhuis master * rfbbc085 / (9 files in 3 dirs):
14:57:44  <CIA-115>libuv: Rename COUNTOF() to ARRAY_SIZE().
14:57:44  <CIA-115>libuv: Consistent with Node, it has an ARRAY_SIZE() macro but not COUNTOF(). - http://git.io/dRszaQ
14:57:44  <CIA-115>libuv: Ben Noordhuis master * r1161d31 / (4 files): test: move container_of() macro into task.h - http://git.io/Vmr3gg
14:57:45  <CIA-115>libuv: Ben Noordhuis master * r6ede034 / test/test-thread.c : test: #include missing <string.h> - http://git.io/n6h8ew
14:59:38  * travis-cijoined
14:59:38  <travis-ci>[travis-ci] joyent/libuv#38 (master - 6ede034 : Ben Noordhuis): The build is still failing.
14:59:38  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/dee86dd...6ede034
14:59:38  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/540835
14:59:38  * travis-cipart
15:01:31  <CIA-115>node: Brandon Benvie v0.6 * rf7b6125 / lib/tty.js : Add missing TTY key translations for F1-F5 on Windows - http://git.io/SFcYCg
15:01:47  <piscisaureus_>^-- bnoordhuis, I added that to v0.6
15:01:58  <piscisaureus_>bnoordhuis: I considered not parsing the escape codes libuv generates a bug
15:09:17  * travis-cijoined
15:09:18  <travis-ci>[travis-ci] joyent/node#275 (v0.6 - f7b6125 : Brandon Benvie): The build was fixed.
15:09:18  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/d489a01...f7b6125
15:09:18  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/540838
15:09:18  * travis-cipart
15:21:49  <piscisaureus_>indutny: https://github.com/joyent/node/pull/2500
15:22:07  <piscisaureus_>indutny: why should only ttys be paused by default
15:22:09  <piscisaureus_>?
15:22:34  <piscisaureus_>I think this should apply to stdin regardless of their type right?
15:29:57  <indutny>piscisaureus_: hm
15:30:09  <indutny>piscisaureus_: yes, that should be applied to stdin
15:30:17  <indutny>piscisaureus_: but only for TTY stdin
15:30:25  <piscisaureus_>indutny: huh why
15:30:34  <indutny>piscisaureus_: others ain't refing loop
15:30:38  <indutny>at leaset on unix
15:30:53  <piscisaureus_>indutny: pause is not related to refing
15:31:00  <piscisaureus_>pause means that we do not emit data events
15:31:23  <piscisaureus_>unlike any other stream type stdin always starts in paused mode no matter what the type is
15:31:32  <indutny>piscisaureus_: ah
15:31:33  <piscisaureus_>to give the user time to set up listeners
15:31:38  <indutny>piscisaureus_: ok
15:32:33  <indutny>piscisaureus_: so I agree with you, stdin should be paused by default, regardless of it's type
15:32:44  <piscisaureus_>indutny: so this is already done :-)
15:32:55  <indutny>but it should not ref loop! :)
15:33:08  <piscisaureus_>indutny: it refs the loop only when it is resumed
15:33:18  <indutny>piscisaureus_: nope
15:33:22  <indutny>have we fixed it?
15:33:27  <piscisaureus_>umm
15:33:31  <piscisaureus_>*shrug*
15:33:35  <indutny>node -e 'process.stdin'
15:33:40  <piscisaureus_>was there ever an issue?
15:33:45  <indutny>it's paused by default?
15:33:51  <indutny>and not refing loop, right?
15:33:57  <indutny>so it should not prevent process from exiting
15:34:09  <piscisaureus_>oh wait that's not working on windows either
15:34:26  <indutny>piscisaureus_: heh
15:36:13  <piscisaureus_>indutny: it *does* start paused though
15:36:29  <piscisaureus_>there's a bug
15:36:34  <piscisaureus_>no shit sherlock
15:37:16  <indutny>piscisaureus_: hehe :) that's it
15:37:22  <indutny>bnoordhuis: ^^^ see ^^^
15:37:25  <indutny>I told ya
15:37:56  <bnoordhuis>wut? i never said there wasn't, did i?
15:38:04  <indutny>bnoordhuis: you did
15:38:07  <indutny>:)
15:38:21  <indutny>bnoordhuis: and you was persuading me that is how it supposed to work
15:38:34  <piscisaureus_>kids
15:38:54  <bnoordhuis>indutny: what in particular are we talking about? node -e process.stdin?
15:39:02  <indutny>bnoordhuis: yes
15:39:25  <indutny>excessive reffering of loop
15:39:32  <bnoordhuis>i didn't say that it's not a bug
15:39:42  <indutny>huh, sorry
15:39:47  <bnoordhuis>i did say that it's not trivial to fix :)
15:39:48  <indutny>I misunderstood you
15:39:56  <indutny>:)
15:40:29  <piscisaureus_>bnoordhuis: let's fix libuv's refcounting
15:40:36  <bnoordhuis>piscisaureus_: working on it :)
15:40:42  <piscisaureus_>bnoordhuis: so we can get rid of all this crazy compensation in node
15:40:51  <bnoordhuis>yes
15:41:00  <piscisaureus_>bnoordhuis: unfortunately it won't help us fix 0.6
15:41:39  <piscisaureus_>actually there's another bug
15:41:59  <piscisaureus_>calling resume twice on a pipe will effectively uv_ref
15:42:06  <piscisaureus_>:-/
15:42:13  <piscisaureus_>it is not idempotent
15:42:13  <indutny>hhh
15:42:15  <bnoordhuis>that's another thing, we should ref handles, not event loops
15:42:22  <indutny>bnoordhuis: ++
15:42:23  <kohai>bnoordhuis has 4 beers
15:42:27  <piscisaureus_>I agree
15:42:31  <piscisaureus_>but this is a node bug
15:42:32  <indutny>and do assertions
15:42:34  * AndreasMadsenjoined
15:42:38  <piscisaureus_>yes
15:42:40  <indutny>inside handles
15:42:43  <bnoordhuis>yep
15:43:08  <indutny>you can just overload uv_ref
15:43:12  <indutny>to support handle argument
15:43:27  <indutny>or even better, replace loop with handle type
15:43:34  <indutny>and see where it failed
15:43:41  <indutny>can I help you with that?
15:43:53  <AndreasMadsen>piscisaureus_: I have made another jslint, if you could land it the conflicts would be minimal.
15:44:03  <bnoordhuis>piscisaureus_ indutny: https://github.com/bnoordhuis/libuv/compare/refcounts-again <- been doing some work on that
15:44:06  <piscisaureus_>AndreasMadsen: yes I saw it but bnoordhuis does't like it
15:44:21  <AndreasMadsen>piscisaureus_: oh
15:45:00  <piscisaureus_>bnoordhuis: are we also going to change handle ref semantics?
15:45:12  <piscisaureus_>bnoordhuis: like, a stream only refs when it is reading?
15:45:12  <bnoordhuis>AndreasMadsen: i appreciate the effort but i don't like purely aesthetic changes
15:45:38  <bnoordhuis>piscisaureus_: reading or writing. at least, that seems most sensible to me
15:46:28  <AndreasMadsen>bnoordhuis: this is not aesthetic, when I jslint my own changes I need to do `make jslint | grep cluster` and I do not get it all.
15:46:43  <AndreasMadsen>There is simply to many errors already, so you can't se you own
15:46:58  <AndreasMadsen>s/errors/jslint issues/
15:47:22  <bnoordhuis>AndreasMadsen: i'll let you in on a secret - i never jslint patches, i just want them to be readable
15:47:46  <bnoordhuis>and broadly conform to our coding convention
15:48:19  <AndreasMadsen>bnoordhuis: then we should remove it, I just follow https://github.com/joyent/node/wiki/Contributing
15:48:46  <mmalecki>jshint is a hint.
15:48:50  <mmalecki>*hint*
15:49:20  <AndreasMadsen> mmalecki: I know, but what is the usage if you can't find the hit for you own changes
15:50:10  <bnoordhuis>people don't read that page anyway :(
15:52:11  * pieternjoined
15:53:13  <AndreasMadsen>bnoordhuis: well there is an issue here. Wiki page or `make jslint` or just the files - I do not care
15:54:06  * igorzi_quit (Ping timeout: 258 seconds)
15:54:21  <AndreasMadsen>Perhaps we could move to jshint, it is not as strict
15:56:23  * pieternquit (Client Quit)
15:56:31  * pieternjoined
16:01:03  <piscisaureus_>bnoordhuis: we should not need it for writing as uv_write_t itself should ref the loop
16:01:58  <piscisaureus_>rphillips: how would that work for luvit?
16:02:57  <rphillips>worked out a lot better once I started passing in 0 for ipc on the pipes
16:03:22  <rphillips>still curious on what the right answer is for stdout file handing on windows though
16:04:30  <piscisaureus_>rphillips: unfortunately there is no right answer for that atm. In node we have "file streams" that wraps uv_fs stuff and we use that
16:04:44  <piscisaureus_>rphillips: adding file streams is something we always wanted to add to libuv but we never did
16:04:51  <piscisaureus_>we take patches though :-)
16:05:33  <piscisaureus_>rphillips: eventually we want the distinction between stream types to go away ... uv_tcp_t, uv_tty_t, uv_pipe_t should all be the same type
16:05:41  * sh1mmerjoined
16:05:48  <piscisaureus_>and libuv should itself figure out what to use
16:06:00  <rphillips>gotcha
16:06:42  <rphillips>piscisaureus_: going to the nodejs meetup next monday?
16:07:04  <piscisaureus_>rphillips: I know nothing about it, and I am based in amsterdam so I don't think so
16:07:17  <rphillips>hah!
16:07:23  <rphillips>yeah, that would be a trek
16:07:42  <piscisaureus_>rphillips: always have been :-) That's why I never visited your office even when I was still working for cloudkick
16:14:08  <pietern>bnoordhuis: piscisaureus_ hi guys
16:14:11  <pietern>how's it going?
16:14:21  <pietern>are you flying in for nodesummit next week?
16:14:34  <piscisaureus_>Netiher of us is going I think
16:17:06  <piscisaureus_>pietern: are you going there?
16:17:19  <pietern>yes
16:17:24  <piscisaureus_>hmmm ~
16:17:25  <pietern>sounded like fun
16:17:33  <pietern>and, while i'm in the neighborhood ;)
16:18:06  <piscisaureus_>pietern: I suppose you work for a company with infinite money
16:18:14  <pietern>haha lol
16:18:19  <pietern>not really
16:18:33  <pietern>at least, not infinite afaik ;)
16:21:57  <pietern>piscisaureus_: I'd assume anyone would be more than happy sponsoring you guys to come?
16:22:14  <pietern>being a big piece of the 0.6 puzzle and all
16:34:45  <piscisaureus_>pietern: yeah maybe I should have gone there although I have not much to tell the business
16:34:55  <piscisaureus_>I wonder if igorzi is going
16:35:05  <piscisaureus_>bnoordhuis: https://github.com/joyent/node/pull/2014/files
16:35:11  <piscisaureus_>is that land-able
16:35:12  <piscisaureus_>?
16:35:54  <piscisaureus_>bnoordhuis: I don't understand the issue thb
16:36:00  <piscisaureus_>*tbh
16:36:20  <pietern>piscisaureus_: it is primarily a VC+biz kind of thing, not too much dev-focused?
16:36:42  <piscisaureus_>pietern: it's vc/biz focused
16:41:59  <pietern>ok, thanks for the head up ;)
16:42:13  <pietern>at least that means that there should be tons of free food/beer/etc
16:59:56  * pieternquit (Quit: pietern)
17:04:20  * isaacsjoined
17:11:24  * dapjoined
17:24:35  <bnoordhuis>mmalecki: another thing for the 'v0.6 => v0.8 upgrade' page: node now builds the bundled openssl by default
17:24:58  <mmalecki>bnoordhuis: which makes vm provisioning take ages
17:25:28  <mmalecki>bnoordhuis: but yeah, worth noticing
17:25:31  <bnoordhuis>mmalecki: then don't build from source :)
17:25:52  <mmalecki>bnoordhuis: lol
17:26:58  <mmalecki>bnoordhuis: hm... you might have a point here
17:27:30  * mmaleckiadds something to his TODO list
17:27:35  <bnoordhuis>i've been toying with the idea of providing official debs and rpms
17:27:45  <bnoordhuis>it'd probably be a good thing but i don't want to have to maintain them...
17:27:55  <mmalecki>well, noone wnats
17:27:56  <mmalecki>*wants
17:28:11  <mmalecki>like, never. people who want to do that are crazy
17:30:18  <bnoordhuis>piscisaureus_: re #2014: looks like an okay change
17:30:34  <piscisaureus_>bnoordhuis: it adds api. What is the use case for it
17:30:41  * mikealjoined
17:30:52  <bnoordhuis>piscisaureus_: some encryption algorithms require that the input is a multiple of CHUNK_SIZE
17:31:06  <bnoordhuis>where CHUNK_SIZE is 8, 16 or 32 bytes or so
17:31:23  <bnoordhuis>if you feed it input that's not a multiple, it'll fail
17:31:36  <piscisaureus_>bnoordhuis: yes okay. So we automatically pad input
17:31:43  <piscisaureus_>bnoordhuis: so why would people want to disable it?
17:32:11  <bnoordhuis>piscisaureus_: because there'
17:32:17  <bnoordhuis>*there's more than one way to pad the input
17:32:45  <bnoordhuis>pkcs5 is the most common but padding with 0 bytes happens a lot too
17:33:05  <piscisaureus_>bnoordhuis: okay so let's land it in master
17:33:50  <bnoordhuis>let me review it one more time
17:34:05  <piscisaureus_>bnoordhuis: okay let me prepare a squashed commit :-)
17:34:21  <piscisaureus_>because I dislike fixup commits
17:35:14  <mmalecki>people should learn to `git commit --amend`
17:35:27  <piscisaureus_>or just rebase after work
17:36:20  <bnoordhuis>hrm, patch doesn't seem to apply anymore
17:39:21  <piscisaureus_>bnoordhuis: seems we already have support for it somehow
17:39:45  <piscisaureus_>DecipherFinal now has "template <bool TOLERATE_PADDING>"
17:41:52  <piscisaureus_>bnoordhuis: oh wait that is from squashing DecipherFinalTolerate
17:41:54  <piscisaureus_>that you dud
17:42:16  <bnoordhuis>that's not my code, i just cleaned it up
17:43:35  <bnoordhuis>piscisaureus_: #2014 is not quite the same thing, it lets you disable auto-padding while encrypting
17:44:05  <bnoordhuis>TOLERATE_PADDING lets you ignore padding errors when decrypting
17:46:15  <piscisaureus_>bnoordhuis: ok I am fixing conflicts
17:55:51  * mralephjoined
18:16:30  * perezdjoined
18:24:18  * TooTallNatejoined
18:25:42  * pieternjoined
18:29:57  * mikealquit (Quit: Leaving.)
18:41:07  * mikealjoined
18:42:01  * `3rdEdenjoined
18:46:09  * dapquit (Quit: Leaving.)
18:47:36  * dapjoined
18:47:37  * `3rdEdenquit (Ping timeout: 240 seconds)
18:48:06  * dapquit (Client Quit)
18:48:58  * dapjoined
18:52:13  * `3rdEdenjoined
19:05:07  * dshaw_joined
19:13:42  * igorzijoined
19:16:51  * isaacsquit (Remote host closed the connection)
19:18:22  * brsonjoined
19:26:37  * mikealquit (Quit: Leaving.)
19:28:48  * mikealjoined
19:31:26  <CIA-115>libuv: Ben Noordhuis master * rdd7e6f0 / test/test-timer.c : test: don't use malloc/free in test-timer - http://git.io/nQkZdA
19:31:26  <CIA-115>libuv: Ben Noordhuis master * ree10cb7 / src/unix/core.c : unix: use container_of() instead of w->data - http://git.io/-LiLPw
19:31:27  <CIA-115>libuv: Ben Noordhuis master * r28b0867 / (src/unix/core.c src/unix/internal.h src/unix/udp.c): unix: clean up udp shutdown sequence - http://git.io/BegSYQ
19:31:27  <CIA-115>libuv: Ben Noordhuis master * r454e021 / src/unix/udp.c : unix: clean up udp read/write watchers - http://git.io/SBrDUg
19:33:15  * travis-cijoined
19:33:15  <travis-ci>[travis-ci] joyent/libuv#39 (master - 454e021 : Ben Noordhuis): The build is still failing.
19:33:15  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/6ede034...454e021
19:33:15  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/541669
19:33:15  * travis-cipart
19:37:50  * isaacsjoined
19:39:11  * kuebkjoined
19:43:37  * AndreasMadsenquit (Remote host closed the connection)
19:44:51  <isaacs>bnoordhuis: building an official deb and rpm is a good idea.
19:45:07  <isaacs>bnoordhuis: would it be enough to just build them and host them along with the .pkg and msi?
19:45:23  <isaacs>or does more go into it than that?
19:45:46  <bnoordhuis>isaacs: a little more, apt and yum expect the repository to have a certain layout
19:45:51  <bnoordhuis>nothing overly complex though
19:46:09  <isaacs>right, but i mean, we could just kinda nudge things into place to build it, right?
19:46:26  <isaacs>or would it require changing our actual repo folders and stuff?
19:46:45  <bnoordhuis>isaacs: repo as in git repo?
19:47:00  <isaacs>yeah
19:47:21  <isaacs>it'd be a binary, though, wouldn't it?
19:47:32  <bnoordhuis>no, sorry for the confusion - when i said repository i meant apt or yum repository :)
19:47:38  <isaacs>so it's just a matter of building it, making the proper folder whatevers, writing like a dozen random config files, etc.
19:47:43  <bnoordhuis>yep
19:47:54  <isaacs>that seems like something we should do.
19:47:57  <bnoordhuis>however...
19:47:59  <isaacs>next obvious step.
19:48:11  * isaacsuh oh...
19:48:35  <bnoordhuis>you probably want to support ubuntu 10.04 and up, debian stable, and one or two rhel releases
19:48:54  <bnoordhuis>then there's the different architectures: x86, x86_64, maybe arm
19:49:02  <isaacs>god, linux is so awful...
19:49:13  <bnoordhuis>it's a rapidly growing intersection...
19:49:18  <isaacs>right
19:49:20  <CIA-115>node: Ingmar Runge cryptopad * r2cafc70 / src/node_crypto.cc : Crypto: Adding ability to turn off automatic PKCS padding. - http://git.io/eiwLbw
19:49:21  <CIA-115>node: Ingmar Runge cryptopad * rb617ec8 / test/simple/test-crypto-padding.js : Crypto: Adding tests for new padding control. - http://git.io/R2JpUA
19:49:21  <CIA-115>node: Ingmar Runge cryptopad * r8b7d809 / doc/api/crypto.markdown : Documentation for crypto's setAutoPadding. - http://git.io/Cn4XoQ
19:49:40  <isaacs>is there maybe a way that we could at least make it easier for users to build their own yum/rpm's?
19:49:46  <isaacs>debs
19:50:07  <bnoordhuis>yes, by including the deb and rpm build files in the repo
19:50:09  <isaacs>like, "On the architecture you want to support, run `make deb`, and it'll make a deb for that arch, and you can use it in your organization"
19:50:31  <isaacs>then at least we could empower travis and other companies to do it themselves.
19:50:39  <isaacs>not that they can't now, but it'd be less tedious for them to
19:50:47  <piscisaureus_>bnoordhuis: can you review it like this? https://github.com/joyent/node/compare/master...cryptopad
19:51:02  <bnoordhuis>piscisaureus_: sure, 1 sec
19:51:04  <isaacs>or we could just recruit chris lea to do it for us :)
19:52:24  <piscisaureus_>isaacs: chris rea?
19:52:56  <bnoordhuis>piscisaureus_: https://launchpad.net/~chris-lea/+ppa-packages
19:53:54  <isaacs>hm, looks like he hasn't updated it since 0.6.2
19:53:59  <isaacs>wonder if he's over it, or on vacation or something.
19:54:00  <mmalecki>I could try my luck at rpms
19:54:26  <isaacs>but yeah, it looks like he builds a separate one for each version of ubuntu
19:54:34  <isaacs>gah, that's so painful.
19:54:44  <mmalecki>isaacs: you need a build farm anyway :)
19:54:53  <bnoordhuis>node hasn't many dependencies so you can probably cheat a little
19:54:59  <isaacs>yeah
19:56:20  <isaacs>jsconf tickets go on sale in 5 minutes.
19:56:37  * dshaw_quit (Ping timeout: 240 seconds)
19:56:44  * dshaw_1joined
19:57:05  <piscisaureus_>yeah
19:57:09  <piscisaureus_>start f5-ing
19:58:56  <isaacs>lol, windows user
19:59:02  <isaacs>;P
19:59:07  * isaacsis cmd-R-ing
19:59:09  <mmalecki>isaacs: jsconf.eu or .us?
19:59:11  <mmalecki>isaacs: ++
19:59:12  <kohai>isaacs has 3 beers
19:59:13  <isaacs>us
19:59:16  * dshaw_1changed nick to dshaw_
19:59:21  <mmalecki>meh, web-5 man
20:00:31  <isaacs>wtf
20:00:39  <isaacs>sold out already?
20:00:46  <mmalecki>ahahaha
20:00:48  <piscisaureus_>for me too
20:00:50  <piscisaureus_>crap
20:01:09  <isaacs>i clicked submit at like 12:00:02
20:01:15  <piscisaureus_>me too
20:01:31  <mmalecki>you guys should try http://www.web-5.org/en/ :). a bit different profile, but awesome people
20:01:56  <mmalecki>(like me and `3rdEden)
20:02:19  * travis-cijoined
20:02:19  <travis-ci>[travis-ci] joyent/node#276 (cryptopad - 8b7d809 : Ingmar Runge): The build failed.
20:02:19  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/2cafc70^...8b7d809
20:02:19  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/541742
20:02:19  * travis-cipart
20:06:52  <piscisaureus_>isaacs: we have not been nice enough to him
20:07:55  * dapquit (Quit: Leaving.)
20:08:22  * dapjoined
20:14:02  <`3rdEden>mmalecki \o/
20:17:38  <bnoordhuis>piscisaureus_: maybe lowercase / depunctuate the commit header, otherwise lgtm
20:18:07  <piscisaureus_>bnoordhuis: ok then I will squash land
20:18:18  <bnoordhuis>piscisaureus_: you could use String::Empty() instead of String::New("") but it doesn't really matter
20:18:34  <piscisaureus_>bnoordhuis: I didn't do that
20:18:36  <piscisaureus_>:-)
20:18:45  <bnoordhuis>no, indeed
20:18:54  <bnoordhuis>are you squashing it into a single commit?
20:19:08  <bnoordhuis>piscisaureus_: ^
20:19:18  <piscisaureus_>yes, bnoordhuis
20:19:23  <bnoordhuis>very good
20:20:36  * kuebkquit (Ping timeout: 255 seconds)
20:21:33  <CIA-115>node: Ingmar Runge master * r0ca3018 / (3 files in 3 dirs): Crypto: adding ability to turn off automatic PKCS padding - http://git.io/lPVbew
20:28:03  <piscisaureus_>isaacs: no jsconf for me I'm afraid :-(
20:28:16  <isaacs>yep
20:28:22  <isaacs>gotta get into the non-early-bird, i guess
20:28:26  <isaacs>or try to, anyway
20:28:29  <piscisaureus_>isaacs: so see you ehm, somewhere else some day
20:28:32  <isaacs>:)
20:28:35  <isaacs>i'll be at node conf
20:28:42  <isaacs>probably speaking or somethign
20:28:58  <piscisaureus_>isaacs: well if I practice my refreshing skills I might make it to nodeconf
20:29:52  <isaacs>you should give a talk.
20:30:00  <piscisaureus_>a talk about what?
20:30:02  <isaacs>maybe talk about how libuv makes node's awesomeness portable.
20:30:07  <`3rdEden>you probably need to write a bot to get some tickets for jsconf
20:30:07  <isaacs>the internal design or something
20:30:13  <mmalecki>piscisaureus_, isaacs, web-5?
20:30:40  <isaacs>mmalecki: i try not to go to any confs that are more than a 2 hour flight away.
20:30:43  <mmalecki>isaacs: oh, I'll be talking about that soon
20:30:47  <isaacs>mmalecki: i really hate traveling
20:30:51  <mmalecki>isaacs: libuv and node, I mean
20:30:56  <isaacs>mmalecki: kewl.
20:30:56  <mmalecki>isaacs: sorry to hear that
20:31:20  <piscisaureus_>isaacs: yeah I could probably do a talk about that
20:31:30  * `3rdEdenquit (Read error: Connection reset by peer)
20:31:34  <isaacs>if i'm going to travel 12 hours somewhere, i want to stay for at least 2 weeks, otherwise it's not worth the headaches.
20:31:36  <piscisaureus_>isaacs: for me libuv sounds like old news but maybe even that could be interesting to some
20:31:39  * V1joined
20:31:40  <mmalecki>only thing I wonder about is, how the fuck did I go from 0 talks/year to 3 talks/4 months
20:31:50  <isaacs>piscisaureus_: it's black magic to most node users.
20:32:02  <isaacs>piscisaureus_: and you had a huge hand in designing it.
20:32:15  <isaacs>piscisaureus_: the way ryah_ tells it, you basically did all the hard parts.
20:33:05  * isaacsmaybe overselling a little...
20:33:08  <isaacs>srsly
20:33:11  <isaacs>you should, though.
20:33:31  <piscisaureus_>isaacs: nah it was actually not so hard, the only advantage I had is that I had thought about it for half a year :-p
20:33:40  <piscisaureus_>isaacs: plus I did only the windows crap
20:33:45  <piscisaureus_>domains, now that's har
20:33:46  <piscisaureus_>d
20:33:46  <isaacs>piscisaureus_: that's usually how it goes.
20:33:48  <piscisaureus_>fucking domains
20:34:07  <isaacs>piscisaureus_: whatever seems old and boring to you is probably what you're qualified to talk about.
20:34:15  <isaacs>just have to find something that's boring to you, but not to other people.
20:34:16  * travis-cijoined
20:34:16  <travis-ci>[travis-ci] joyent/node#277 (master - 0ca3018 : Ingmar Runge): The build is still failing.
20:34:16  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/ad42a82...0ca3018
20:34:16  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/541850
20:34:16  * travis-cipart
20:34:38  <piscisaureus_>:-)
20:35:12  <piscisaureus_>isaacs: I gotta run or the shop will be closed
20:35:14  <piscisaureus_>isaacs: ttyl
20:35:17  <isaacs>have fun
20:36:23  * V1changed nick to `3rdEden
20:39:38  * piscisaureus_quit (Ping timeout: 252 seconds)
20:54:55  * luxigoquit (Remote host closed the connection)
20:55:48  * kuebkjoined
20:57:04  * mralephquit (Quit: Leaving.)
20:57:22  * piscisaureus_joined
21:04:29  * mralephjoined
21:15:41  * dshaw_quit (Quit: Leaving.)
21:20:51  * dshaw_joined
21:21:48  <piscisaureus_>hello
21:23:06  <bnoordhuis>olla
21:34:51  * isaacschanged nick to evil-political-m
21:35:25  * evil-political-mchanged nick to evil-politico-2
21:35:45  * evil-politico-2changed nick to evil-political-m
21:35:56  * evil-political-mchanged nick to evil-politico-2
21:36:30  * evil-politico-2changed nick to isaacs
21:46:39  * kuebkquit
21:46:53  * bnoordhuisquit (Read error: Operation timed out)
21:52:54  * Raynosquit (Remote host closed the connection)
21:56:07  * russell_hquit (Changing host)
21:56:08  * russell_hjoined
21:58:52  * Raynosjoined
22:03:47  <piscisaureus_>http://groups.google.com/group/nodejs/pendmsg?view=full&sort=date&pending_id=978648579734864852&ind=0
22:03:49  <piscisaureus_>sigh
22:04:43  <piscisaureus_>igorzi: hey, yt?
22:06:39  * Raynosquit (Read error: Connection reset by peer)
22:10:16  * mikealquit (Quit: Leaving.)
22:10:47  * mikealjoined
22:12:41  * Raynosjoined
22:17:25  <igorzi>piscisaureus_: whatsup?
22:19:50  <piscisaureus_>igorzi: (1) what are you working on? Did you have time to benchmark fs?
22:19:57  <piscisaureus_>(2) is the bench cluster available?
22:20:38  <igorzi>piscisaureus_: working on sharing sockets between isolates
22:20:58  <piscisaureus_>(3) I have seen a few reports like this -> https://github.com/joyent/node/issues/2536
22:21:04  <igorzi>piscisaureus_: i benchmarked fs.stat
22:21:32  <piscisaureus_>igorzi: oh yeah. but not file reading / writing / thread pool stuff in general?
22:21:34  <piscisaureus_>I can do that
22:21:57  <piscisaureus_>igorzi: wrt 3, do you have any idea how we might figure out what happens?
22:23:22  <igorzi>piscisaureus_: no, didn't profile thread pool stuff in general.. what i saw with fs.stat was sync version was about 1.5 times faster than async version, and async version scaled linearly with the number of pending stat operations
22:24:46  <igorzi>piscisaureus_: for #3, i saw something similar at some point.. i needed to flush the browser cache for it to work.
22:25:15  <igorzi>piscisaureus_: maybe we can suggest trying to connect to the server using ab (or some other tool) instead of the browser, just to eliminate that the browser is doing something wrong on his machine?
22:26:38  <piscisaureus_>igorzi: well this guy says curl also doesn't work for him
22:27:07  <igorzi>piscisaureus_: ahh, i missed that he used curl
22:27:40  <piscisaureus_>I am somewhat afraid that some networking drivers or WSPs may not like the funky short-circuiting stuff we do
22:28:42  <igorzi>piscisaureus_: we could try disabling that and getting him to try it?
22:29:25  <piscisaureus_>yeah
22:29:45  <igorzi>piscisaureus_: has he tried to do NODE_DEBUG=net? do you know if we just never get the accept IOCP packet?
22:31:24  <piscisaureus_>igorzi: this guy did -> http://groups.google.com/group/nodejs/browse_thread/thread/9d608f19d9f7b5c4/624e3cc9f780628b?#624e3cc9f780628b
22:33:46  <igorzi>piscisaureus_: hmm, so this means we never even accept the connection. but that seems to contradict #2536, where he claims that his client programs are able to connect, but don't receive any data
22:35:08  <piscisaureus_>igorzi: maybe the connection gets accepted, but the accept package never makes it to libuv/node
22:35:47  <igorzi>piscisaureus_: yeah, that's also likely
22:36:11  <igorzi>piscisaureus_: there was another issue similar to this that someone at MS ran into, but that turned out to be a bug in express
22:36:27  <piscisaureus_>yes, I have seen that too, but I think it is now resolved
22:36:35  <igorzi>piscisaureus_: ok
22:37:13  <piscisaureus_>I am going to send this cork an email, see if I can get him to work with us a little more
22:37:39  <piscisaureus_>what was the command again to show WSPs
22:38:03  <piscisaureus_>must be something with 'netsh'
22:38:46  <piscisaureus_>ah netsh winsock show catalog
22:45:29  <igorzi>piscisaureus_: we could also get him to capture ETW trace (with NETWORKTRACE enabled)
22:47:15  * piscisaureus_googles ETW
22:48:17  <igorzi>piscisaureus_: i think etw equivalent in unix is dtrace
22:48:44  <piscisaureus_>igorzi: oh, I always use process monitor. Is ETW better?
22:50:30  <igorzi>piscisaureus_: proc monitor uses ETW, i think
22:50:38  <piscisaureus_>igorzi: aho k
22:50:50  <piscisaureus_>igorzi: are there better tools to do ETW tracing? What do you use?
22:52:11  <igorzi>piscisaureus_: ETW is a pluggable tracing system.. windows ships with a bunch of trace providers out of the box
22:52:33  <igorzi>here are the trace events that are supported: https://gist.github.com/1636324
22:53:29  <igorzi>piscisaureus_: i use xperf - http://msdn.microsoft.com/en-us/performance/cc825801
22:53:50  <piscisaureus_>ah, cool
22:53:54  <piscisaureus_>I didn't know that
22:54:01  <igorzi>piscisaureus_: ETW has been around for a while, but starting with vista you also get stacks for every etw event
22:54:15  <piscisaureus_>but then I am not a microsoft certified system engineer
22:54:24  <piscisaureus_>nice
22:54:27  <piscisaureus_>i am going to try it
22:55:01  <igorzi>piscisaureus_: makes profiling very nice.. you could basically collect a profile with sample stacks (on every 1ms) + context switch + syscall, etc
22:56:45  <igorzi>there are some tools (that come with xperf) to view the trace.. it also can output the trace into csv format. we have some tools here that visualize csv
22:59:05  <piscisaureus_>igorzi: ok, cool. I am going to try it a bit. If I have questions I will be sure to find you
23:10:43  <dap>Just filed #2577. Seeing what looks like a memory leak in the HTTP client, but calling response.destroy() seems to alleviate most of it. Presumably that's supposed to happen automatically, but how is that supposed to work?
23:10:50  <dap>(https://github.com/joyent/node/issues/2577)
23:19:13  <piscisaureus_>dap: I think this may have been solved. Can you try with latest v0.6
23:19:17  <piscisaureus_>dap: https://github.com/joyent/node/commit/dd9593ccc4dd1de21faa1996c2577c7a6ac3d8ae
23:19:28  <piscisaureus_>^-- that's the commit that should do it
23:19:47  <dap>piscisaureus_: sure, I'll try that now.
23:33:30  * mikealquit (Quit: Leaving.)
23:35:54  * mikealjoined
23:43:36  <dap>piscisaureus_: same result: https://skitch.com/dapsays/g3687/0.6.8-pre-memory
23:43:56  <dap>Looking closer, that makes sense, as the leak I'm seeing appears to be in the *client* response object, not the server's, but that commit only changed the server's.
23:45:32  * `3rdEdenquit (Quit: Zzzz gnite)
23:50:33  <piscisaureus_>dap: will look into it tomorrow.
23:50:43  <dap>thanks.
23:50:49  <piscisaureus_>dap: if you need an answer now, I'm afraid ryah_ is your only hope :-)
23:50:56  * paddybyersquit (Quit: paddybyers)
23:51:44  <dap>It's not /that/ urgent, but I've talked with several people who have seen similar issues, and it's blocking some of us moving to 0.6.
23:54:36  <piscisaureus_>dap: I am not convinced that you're looking at a leak when you end up with 17mb rss
23:54:45  <piscisaureus_>dap: but yeah this looks serious
23:54:50  <dap>piscisaureus_: it's 61MB
23:55:03  <piscisaureus_>dap: yes that's without your "fix"
23:55:24  <piscisaureus_>dap: "As described in that gist, I've found that by adding a call to "subresponse.destroy()" to destroy the client HTTP response object in its "end" event handler, memory usage is much closer to normal (though still leaks a bit)."
23:55:53  <dap>Yeah, that one needs more investigation. I'm much more worried about the 50MB leak than the 2MB one :)
23:56:03  <piscisaureus_>dap: sure :-)
23:56:53  <piscisaureus_>mikeal might have a clue what's going on too
23:58:45  <dap>Interesting: I'm running another test with agent: false, and the behavior is definitely different. I'll know in a couple of minutes if the leak is gone.