00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:04:42  * dominictarrquit (Quit: dominictarr)
00:17:53  * hzjoined
00:24:03  * hzquit
00:55:10  <isaacs>good afternoon, heroes
00:55:30  <tjfontaine>good day good sir
00:56:54  <tjfontaine>I followed up on your excellent response in isaacs/github#6
00:57:37  * kazuponjoined
01:02:52  * saghulquit (Ping timeout: 245 seconds)
01:03:25  * saghuljoined
01:05:48  * brsonjoined
01:08:42  * groundwaterjoined
01:09:22  * kazuponquit (Remote host closed the connection)
01:26:34  <tjfontaine>isaacs: uh, define "shippable" because it was pushed this morning
01:32:17  * kazuponjoined
01:37:24  * abraxasjoined
01:41:08  <isaacs>tjfontaine: hahah
01:41:20  <isaacs>tjfontaine: well... we can't ship 0.12
01:41:25  <tjfontaine>nod
01:42:01  <isaacs>linkedin is the greatest. i put in my profile that i've been a core contributer to Node.js for 28 years, so it told me I might know http://www.linkedin.com/in/ryankdahl
01:42:12  <tjfontaine>hah
01:44:59  <isaacs>tjfontaine: good response :)
01:45:01  <isaacs>tjfontaine: ++
01:45:38  <tjfontaine>heh, ya
01:45:43  <tjfontaine>let there be no excuse
01:46:50  <tjfontaine>isaacs: thoughts on doing something like github.com/tjfontaine/node-nf for `node -pe`?
01:47:55  <isaacs>tjfontaine: i htink this sort of screams "userland"
01:48:57  <isaacs>tjfontaine: but, i think nf should have the same argument syntax as node
01:49:05  <tjfontaine>ok, I will keep this then, I don't really want to get too involved with it of course, because pretty soon it's just an awk replacement or people should be writing a script on their own
01:49:21  <isaacs>tjfontaine: ie, nf -e '__line.replace(/foo/, "baz")' or nf apache.js
01:50:27  <isaacs>tjfontaine: just personal preference, though
01:50:29  <tjfontaine>as in always assume -p to tbe the case?
01:50:37  <isaacs>tjfontaine: yeah
01:50:44  <isaacs>why would you use nf if not for -p?
01:51:04  * st_lukequit (Remote host closed the connection)
01:51:23  <tjfontaine>you wouldn't, it was just to match the node arguments
01:51:27  <tjfontaine>or perl really
01:51:54  <tjfontaine>but ya if this wouldn't be in core then defaults should be reevaluated
01:52:58  * udpjoined
01:56:10  <MI6>joyent/node: isaacs master * 0a4260c : doc: Correct TLS deprecation notices - http://git.io/Xr5IOA
01:57:56  <isaacs>tjfontaine: care to review? https://github.com/isaacs/node/commit/69662121e0821fe16f109ce77eb1150f6ced69d5
01:58:48  <tjfontaine>loking
01:58:50  <tjfontaine>+o
01:59:47  * timoxleyquit (Quit: Computer has gone to sleep.)
02:02:05  <tjfontaine>isaacs: lgtm
02:05:58  <isaacs>kewl
02:06:55  <MI6>joyent/node: isaacs v0.10 * 3c7945b : net: Do not destroy socket mid-write - http://git.io/wzByxA
02:07:01  <MI6>nodejs-master-windows: #65 FAILURE http://jenkins.nodejs.org/job/nodejs-master-windows/65/
02:07:35  <MI6>nodejs-master: #257 UNSTABLE linux-ia32 (1/600) smartos-ia32 (1/600) smartos-x64 (5/600) linux-x64 (1/600) http://jenkins.nodejs.org/job/nodejs-master/257/
02:13:03  <isaacs>Looks like the tls hello parser test is failing on sunos x86 and x64 pretty regularly
02:13:08  <isaacs>tjfontaine: have you seen that?
02:13:18  <isaacs>the debugger stuff is failing on x64, also
02:13:29  <isaacs>and the tap output is super mysterious
02:13:31  <isaacs>just: not ok 536 - test-tls-hello-parser-failure.js
02:13:38  <tjfontaine>yes, parser test is regularly failing, and that means timeout
02:13:50  <tjfontaine>the debugger tests are the line flushing issue with repl
02:14:24  * dapjoined
02:14:27  <isaacs>kk
02:16:35  <tjfontaine>the tls stuff utterly borked the build on windows, that will be the first thing on monday unless someone gets to it before me
02:17:10  <mmalecki>do you really hate yourself enough to start Monday with fixing a windows bug?
02:17:31  <tjfontaine>mmalecki: that's rhetorical right?
02:18:10  <mmalecki>tjfontaine: it indeed is :)
02:18:16  <tjfontaine>I looked at some of the numbers, there are a decent amount of people downloading our .msi's regularly :/
02:18:27  <udp>most effective way to diagnose windows bugs - wine + valgrind
02:18:30  <tjfontaine>and what appears to be an increasing trend, though we'll know more going forward
02:18:55  <MI6>nodejs-v0.10: #250 UNSTABLE osx-x64 (1/592) smartos-x64 (2/592) smartos-ia32 (1/592) linux-x64 (2/592) http://jenkins.nodejs.org/job/nodejs-v0.10/250/
02:19:20  <tjfontaine>udp: please tell me you haven't worked under such circumstances?
02:20:02  <udp>yep I have - you get debugging symbols for winapi plus all the benefits of valgrind
02:20:11  <udp>I mean it does sound horrible
02:20:38  <mmalecki>it's either genius or crazy
02:21:00  <tjfontaine>it must have been particularly painful situation that vs.net couldn't solve
02:21:28  <udp>well valgrind does a lot of stuff that VS does not
02:21:51  * timoxleyjoined
02:22:08  <tjfontaine>does wine map the allocators to libc mallocs?
02:22:52  <mmalecki>hmm, if uv_connect fails, do I need to uv_close the handle?
02:22:53  <udp>afaik wine doesn't have its own pool for allocations
02:25:22  * MI6quit (Ping timeout: 245 seconds)
02:25:32  * MI6joined
02:25:42  <MI6>nodejs-v0.10-windows: #78 UNSTABLE windows-ia32 (9/592) windows-x64 (9/592) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/78/
02:25:45  <tjfontaine>bad bad freenode
02:27:06  <tjfontaine>mmalecki: fwiw that piklu character has been trolling pretty regularly this weekend :)
02:27:23  <mmalecki>oh :) ? I've been doing actual work this weekend, didn't notice
02:28:01  <tjfontaine>he claims to have knowledge of an unreleased nginx 0day, but meh
02:29:23  <mmalecki>leveldb hosting? this makes 0 to very little sense
02:29:26  <mmalecki>well, whatever
02:29:43  <mmalecki>hosting DBs is a crazy business anyway.
02:32:16  <mmalecki>yeah, looks like I need to uv_close the handle, even if uv_connect failed. makes sense I guess. moar crazy callbacks.
02:32:33  * mmaleckiwants C with closures
02:32:55  <tjfontaine> heh
02:33:38  <tjfontaine>mmalecki: http://porkrind.org/missives/closures-in-straight-c/ :P
02:34:28  <mmalecki>tjfontaine: yeah, that's what I'm doing now :-). passing callbacks in those "cookies"
02:34:51  <tjfontaine>heh
02:43:34  * udpquit (Quit: udp)
02:48:28  * Benviequit (Ping timeout: 245 seconds)
02:48:46  * dapquit (Quit: Leaving.)
02:49:01  * Benviejoined
02:56:03  * brsonquit (Ping timeout: 252 seconds)
03:10:22  * dapjoined
03:14:12  * udpjoined
03:27:15  * kazuponquit (Remote host closed the connection)
03:30:59  * defunctzombie_zzchanged nick to defunctzombie
03:36:23  * timoxleyquit (Ping timeout: 240 seconds)
03:52:34  * st_lukejoined
03:57:37  * kazuponjoined
04:02:40  * kazuponquit (Read error: Connection reset by peer)
04:03:02  * kazuponjoined
04:15:36  * dapquit (Quit: Leaving.)
04:32:46  * trapito_joined
04:33:24  * trapitoquit (Ping timeout: 268 seconds)
04:43:41  * defunctzombiechanged nick to defunctzombie_zz
05:00:54  * groundwaterquit (Quit: groundwater)
05:04:19  * groundwaterjoined
05:05:40  * st_lukequit (Remote host closed the connection)
05:12:47  * timoxleyjoined
05:45:22  * defunctzombie_zzchanged nick to defunctzombie
05:46:47  * trapito_quit (Ping timeout: 268 seconds)
05:48:23  * trapitojoined
05:58:34  * TooTallNatejoined
06:01:26  * groundwaterquit (Quit: groundwater)
06:03:19  * trapitoquit (Ping timeout: 252 seconds)
06:08:10  * trapitojoined
06:20:27  * defunctzombiechanged nick to defunctzombie_zz
06:30:01  * TooTallNatequit (Quit: Computer has gone to sleep.)
06:30:16  * TooTallNatejoined
06:32:49  * st_lukejoined
06:35:53  * rendarjoined
06:47:35  * udpquit (Ping timeout: 240 seconds)
06:53:35  * Benviequit (Ping timeout: 240 seconds)
06:54:25  * Benviejoined
06:59:39  * TooTallNatequit (Quit: Computer has gone to sleep.)
07:00:15  * AvianFluquit (Remote host closed the connection)
07:01:58  * loladiroquit (Quit: loladiro)
07:10:13  * loladirojoined
07:21:06  * loladiroquit (Quit: loladiro)
07:25:25  * trapitoquit (Remote host closed the connection)
07:29:59  * csaohjoined
07:49:15  * abraxasquit (Remote host closed the connection)
07:57:17  * st_lukequit (Remote host closed the connection)
07:59:45  * abraxasjoined
07:59:47  * st_lukejoined
08:00:04  * abraxasquit (Remote host closed the connection)
08:00:21  * `3rdEdenjoined
08:01:31  * st_lukequit (Remote host closed the connection)
08:08:35  * amartensquit (Quit: Leaving.)
08:18:55  * st_lukejoined
08:22:53  <indutny>heya
08:24:39  * bajtosjoined
08:39:48  * st_lukequit (Remote host closed the connection)
08:44:18  * dominictarrjoined
08:55:51  * hzjoined
09:08:54  * amartensjoined
09:13:23  * amartensquit (Ping timeout: 240 seconds)
09:23:12  * csaohquit (Quit: csaoh)
09:24:41  * csaohjoined
09:41:53  * bajtosquit (Quit: bajtos)
09:44:23  * hzquit
09:48:56  * hzjoined
09:57:51  * Benviequit (Ping timeout: 256 seconds)
10:09:15  * amartensjoined
10:13:25  * amartensquit (Ping timeout: 248 seconds)
10:28:51  * csaohquit (Quit: csaoh)
10:48:35  * csaohjoined
10:48:57  * bnoordhuisjoined
10:49:42  * kazuponquit (Remote host closed the connection)
11:01:02  <indutny>bnoordhuis: hey ben
11:01:14  * bajtosjoined
11:04:00  <bnoordhuis>indutny: ho fedor
11:04:38  <indutny>how are you doing?
11:05:18  <bnoordhuis>i'm okay. you?
11:06:26  <indutny>good too
11:06:33  <indutny>just finished The night of the rabbit
11:06:38  <indutny>pretty nice game
11:07:52  <bnoordhuis>google tells me it's a point & click adventure?
11:08:11  <indutny>yes
11:08:12  <indutny>indeed
11:08:12  <bnoordhuis>with mice, it seems
11:08:17  <indutny>a beautiful one
11:08:34  <indutny>bnoordhuis: not necessary, you can probably emulate it with your keyboard
11:08:44  <indutny>you're engineer anyway
11:08:52  <bnoordhuis>was that a joke?
11:09:09  <bnoordhuis>if yes: well played, sir
11:09:32  * amartensjoined
11:09:57  <indutny>you now I'm no kid
11:09:59  <indutny>heh
11:10:02  <indutny>whatever
11:10:11  <indutny>looking forward for your tls session API reviewal
11:10:22  <bnoordhuis>i was just looking at it
11:10:25  <indutny>it seems to be working, but we seem to care about security too
11:11:22  <bnoordhuis>meh, i practice klingon security
11:11:39  <indutny>kill everyone?
11:11:50  <bnoordhuis>indeed. anyone who dares breach it, i eviscerate with my bat'leth
11:12:12  <bnoordhuis>it's a low-tech solution. i like low-tech solutions
11:12:30  <bnoordhuis>they still work when civilization falls
11:13:40  <indutny>:)
11:13:45  <indutny>are you still playing civilization?
11:14:14  * amartensquit (Ping timeout: 256 seconds)
11:15:02  <bnoordhuis>no, haven't played that in ages
11:15:04  <bnoordhuis>btw, ../../src/tls_wrap.cc:717:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
11:18:15  <indutny>sure
11:18:16  <indutny>fixed
11:18:24  <indutny>anything else?
11:22:32  <bnoordhuis>i thought you were going to remove the ClientHello parser?
11:23:30  <indutny>yes
11:23:33  <indutny>ah
11:23:36  <indutny>I see your point
11:23:44  <indutny>you mean legacy code?
11:24:03  <bnoordhuis>well, you mentioned removing it last week
11:24:12  <indutny>yeah, but isaacs said that we can't do it
11:24:18  <indutny>compatibility
11:24:26  <bnoordhuis>why not? the parser is an implementation detail
11:24:31  <indutny>also Stability: 3 - Stable
11:24:40  <indutny>bnoordhuis: its APIs are not
11:25:01  <bnoordhuis>do we expose that? where and why?
11:27:38  <indutny>for asynchronous session sharing between processes
11:27:47  <indutny>see doc update in my patch
11:27:58  <indutny>here I am reverting doc removal that was done in tls-wrap patch
11:29:52  <bnoordhuis>hrm, but that's possible with vanilla openssl too, right?
11:30:24  <indutny>no
11:30:27  <indutny>not asynchronously
11:30:44  <indutny>see, I can't load it from some external storage
11:30:51  <indutny>the whole thing is
11:30:51  <indutny>that its mostly useless
11:30:53  * hzquit
11:31:03  <indutny>since the most of the browsers are using tls session tickets anyway
11:31:12  * hzjoined
11:31:26  <indutny>that's why I thought about removing it
11:32:50  <bnoordhuis>ah, okay
11:33:32  <indutny>also, I'll probably make this optional now
11:34:28  * hzquit (Client Quit)
11:34:43  * hzjoined
11:34:56  <indutny>I don't like that it goes to js-land at every request, even if there're no handlers for this events
11:35:01  <indutny>meh
11:35:04  <indutny>its too complicated
11:35:34  <bnoordhuis>is onclienthello ever appropriate for non-servers?
11:36:29  <indutny>well, that's handled
11:36:34  <indutny>see _tls_wrap.js code
11:36:52  <indutny>its set only for servers
11:37:04  <bnoordhuis>okay
11:37:33  <bnoordhuis>i ask because onclienthello() checks that this.server !== false
11:37:58  <bnoordhuis>i mean, the logic is okay
11:38:15  <bnoordhuis>but i was wondering if it's possible to short-circuit even more
11:41:52  <indutny>bnoordhuis: probably yes
11:41:59  <indutny>but if I'd start doing this
11:42:06  <indutny>I'll look at SNI first
11:42:11  <indutny>its really borked atm
11:42:21  <indutny>it should not require going into js-land
11:42:37  <indutny>at least in the most of the times
11:42:52  <indutny>also, if we're going to keep clienthello parser - it needs to be aware of SNI too
11:43:00  <indutny>and allow us asynchronous certificate loading
11:51:20  <bnoordhuis>indutny: reviewed. pretty much LGTM
11:51:25  <indutny>ok
11:51:28  <indutny>please wait for a bit
11:51:34  <indutny>thank you
11:51:39  <indutny>I'm adding some laziness to it
11:51:48  <indutny>I don't like that its calling js-land unconditionally
11:55:10  <indutny>ok, running tests
11:57:26  <indutny>bnoordhuis: basically, I did following thing
11:57:40  <indutny>I've added a note for those event listeners: newSesssion, resumeSession
11:57:56  <indutny>"they'll take effect only for connections established after adding those listeners"
11:58:25  <indutny>and thus I can just check them at TLSSocket initialization
11:59:35  <indutny>bnoordhuis: what do you think?
12:00:03  * kazuponjoined
12:00:28  * kazuponquit (Read error: Connection reset by peer)
12:01:38  * kazuponjoined
12:02:22  <indutny>bnoordhuis: btw, force pushed https://github.com/joyent/node/pull/5709/files
12:05:17  * piscisaureus_joined
12:05:54  <piscisaureus_>bnoordhuis: lgtm
12:06:16  <piscisaureus_>shit indutny beat me
12:06:22  <indutny>haha :)
12:06:23  <indutny>sorry
12:09:52  * amartensjoined
12:13:33  * st_lukejoined
12:14:18  * amartensquit (Ping timeout: 252 seconds)
12:14:57  <bnoordhuis>indutny: biab, i'm off to the supermarket
12:18:30  * kazuponquit (Remote host closed the connection)
12:19:19  * bnoordhuisquit (Ping timeout: 260 seconds)
12:21:46  <indutny>ok
12:22:54  * toothrotquit (Ping timeout: 264 seconds)
12:26:58  * toothrjoined
12:33:45  * inolenquit (Ping timeout: 240 seconds)
12:34:39  * inolenjoined
12:39:07  * inolenquit (Ping timeout: 245 seconds)
12:39:13  * inolenjoined
12:40:05  * st_lukequit (Remote host closed the connection)
12:53:31  * inolenquit (Ping timeout: 268 seconds)
12:54:02  * inolenjoined
13:06:18  * jmar777joined
13:10:12  * amartensjoined
13:14:48  * amartensquit (Ping timeout: 252 seconds)
13:18:37  * AvianFlujoined
13:22:01  * bnoordhuisjoined
13:25:20  <MI6>joyent/node: Ben Noordhuis v0.10 * 41fc46e : v8: add setVariableValue debugger command - http://git.io/ovZSiA
13:29:23  * kazuponjoined
13:30:23  <indutny>bnoordhuis: and you're back
13:31:17  <txdv>http://pastebin.com/mVPxrtHq
13:31:22  <txdv>can I open this type of socket with libuv?
13:32:34  * c4milojoined
13:32:42  <bnoordhuis>indutny: i am
13:33:06  <indutny>bnoordhuis: so what do you think about my _small_ changes
13:33:24  <bnoordhuis>txdv: uv_pipe_open() or uv_poll_*()?
13:33:30  <bnoordhuis>indutny: i'll take a look
13:33:40  <txdv>I want to open the name
13:33:41  <txdv>lxc-monitor
13:33:51  <txdv>not the fd
13:34:52  * kazuponquit (Ping timeout: 252 seconds)
13:35:55  <bnoordhuis>txdv: oh, like that. it's not officially supported but opening the socket yourself and passing it to uv_udp_open() will probably work
13:37:45  <MI6>nodejs-v0.10: #251 UNSTABLE smartos-x64 (2/592) smartos-ia32 (1/592) osx-ia32 (2/592) http://jenkins.nodejs.org/job/nodejs-v0.10/251/
13:39:35  <bnoordhuis>indutny: lgtm
13:43:47  <MI6>nodejs-v0.10-windows: #79 UNSTABLE windows-ia32 (7/592) windows-x64 (8/592) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/79/
13:49:49  <MI6>joyent/node: Fedor Indutny master * 212e9cd : tls: session API returns - http://git.io/wW37_g
13:49:54  <indutny>yikes!
13:49:56  <indutny>bnoordhuis: thank you
13:50:16  * amartensjoined
13:50:21  <bnoordhuis>np
13:55:12  <MI6>joyent/node: yuanchuan v0.10 * 73b4113 : readline: make `ctrl + L` clear the screen - http://git.io/y8tOQw
13:55:30  * kevinswiberjoined
13:56:07  <bnoordhuis>tjfontaine: re: v8 mmap patch, status?
13:57:23  <MI6>joyent/node: Yuan Chuan v0.10 * 18574bf : readline: make `ctrl + L` clear the screen - http://git.io/8vyfmA
13:59:31  * olalondequit (Quit: olalonde)
13:59:41  * kenperkinsjoined
14:00:36  * amartensquit (Quit: Leaving.)
14:01:13  <MI6>nodejs-master-windows: #66 FAILURE http://jenkins.nodejs.org/job/nodejs-master-windows/66/
14:02:00  * amartensjoined
14:02:40  <MI6>nodejs-master: #258 UNSTABLE osx-x64 (1/601) osx-ia32 (1/601) linux-ia32 (1/601) smartos-ia32 (1/601) smartos-x64 (7/601) http://jenkins.nodejs.org/job/nodejs-master/258/
14:03:35  * pachetjoined
14:03:36  * pachetquit (Changing host)
14:03:36  * pachetjoined
14:14:32  * st_lukejoined
14:14:59  <MI6>nodejs-v0.10: #252 UNSTABLE smartos-x64 (2/592) smartos-ia32 (1/592) http://jenkins.nodejs.org/job/nodejs-v0.10/252/
14:16:21  <isaacs>indutny: so, what's the plan for TLS sessions?
14:16:27  <indutny>hoya
14:16:30  <indutny>already did it
14:16:43  <isaacs>oh, ok
14:16:43  <indutny>the plan is to remove legacy code
14:16:44  <isaacs>same api?
14:16:48  <indutny>yep
14:16:51  <indutny>with one small restriction
14:17:00  <isaacs>what's that?
14:17:00  <indutny>(because of performance reasons)
14:17:34  <indutny>adding listeners for `newSession`, `resumeSession` will have effect only on connections established after adding those listeners
14:17:56  * stagasjoined
14:18:00  <indutny>so… like if you'll add `newSession` listener right after client connected - it won't be called
14:18:10  <indutny>note that this listener is added to server object.
14:18:27  <indutny>that's really good thing for performance, considering that there're no such listeners in 99% of time
14:19:02  <indutny>isaacs: should be ok for all existing use cases
14:19:15  <indutny>adding them from request listener or anywhere else doesn't make any sense
14:19:34  <indutny>and… if anyone will complain - I'll figure out how to make it work for them
14:19:45  <indutny>but I bet noone will ever notice it
14:20:13  * amartensquit (Quit: Leaving.)
14:20:30  <MI6>joyent/node: Krzysztof Chrapka master * ffcd8b9 : readline: strip ctrl chars for prompt width calc - http://git.io/8gCQBw
14:21:06  <MI6>nodejs-v0.10-windows: #80 UNSTABLE windows-ia32 (7/592) windows-x64 (8/592) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/80/
14:27:44  <isaacs>indutny: that's probably fine, then
14:27:45  <isaacs>thanks
14:27:53  <indutny>you're welcome
14:28:00  <indutny>I'll continue improving this shit
14:28:11  <indutny>its finally a good time to sort out all the crap that was left here
14:32:37  <MI6>nodejs-v0.10: #253 UNSTABLE smartos-x64 (5/592) smartos-ia32 (4/592) osx-ia32 (2/592) http://jenkins.nodejs.org/job/nodejs-v0.10/253/
14:34:15  <MI6>nodejs-master: #259 UNSTABLE osx-ia32 (1/601) smartos-ia32 (3/601) smartos-x64 (6/601) http://jenkins.nodejs.org/job/nodejs-master/259/
14:34:23  * hzquit
14:35:01  <isaacs>awesome :)
14:36:00  <MI6>nodejs-master-windows: #67 FAILURE http://jenkins.nodejs.org/job/nodejs-master-windows/67/
14:39:26  * kevinswiberquit (Remote host closed the connection)
14:43:57  <MI6>nodejs-v0.10-windows: #81 UNSTABLE windows-ia32 (8/592) windows-x64 (9/592) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/81/
14:45:03  * groundwaterjoined
14:46:24  * kevinswiberjoined
14:53:44  * hzjoined
15:06:51  <MI6>joyent/libuv: Linus Mårtensson master * ff3ee84 : build: set OS=="android" for android builds - http://git.io/3k69Aw
15:07:57  * bajtosquit (Quit: bajtos)
15:11:09  <MI6>libuv-master: #122 UNSTABLE windows (3/190) smartos (2/189) linux (1/189) http://jenkins.nodejs.org/job/libuv-master/122/
15:13:00  <MI6>libuv-master-gyp: #59 UNSTABLE windows-x64 (3/190) smartos-ia32 (2/189) windows-ia32 (3/190) smartos-x64 (2/189) http://jenkins.nodejs.org/job/libuv-master-gyp/59/
15:15:47  * bajtosjoined
15:17:19  * st_lukequit (Remote host closed the connection)
15:18:18  * defunctzombie_zzchanged nick to defunctzombie
15:23:09  <MI6>joyent/node: Linus Mårtensson master * 5e4e8ec : build: add android support - http://git.io/I-2VmQ
15:28:21  * dapjoined
15:31:12  <MI6>libuv-node-integration: #112 UNSTABLE smartos-x64 (8/601) linux-x64 (36/601) smartos-ia32 (8/601) linux-ia32 (34/601) http://jenkins.nodejs.org/job/libuv-node-integration/112/
15:31:58  * dapquit (Client Quit)
15:32:18  * dapjoined
15:32:59  * toothrchanged nick to toothrot
15:34:04  * groundwaterquit (Quit: groundwater)
15:34:54  <MI6>nodejs-master-windows: #68 FAILURE http://jenkins.nodejs.org/job/nodejs-master-windows/68/
15:37:25  <MI6>nodejs-master: #260 UNSTABLE osx-ia32 (2/601) linux-ia32 (1/601) smartos-ia32 (1/601) smartos-x64 (18/601) http://jenkins.nodejs.org/job/nodejs-master/260/
15:38:57  * defunctzombiechanged nick to defunctzombie_zz
15:39:31  * piscisaureus_quit (Ping timeout: 260 seconds)
15:40:58  * groundwaterjoined
15:51:12  <tjfontaine>sigh no one has fixed windows yet
15:51:48  * stagasquit (Ping timeout: 245 seconds)
15:58:23  <isaacs>tjfontaine: what's broken about windows?
15:58:33  * kevinswiberquit (Remote host closed the connection)
15:58:47  <tjfontaine>the build
15:58:58  <tjfontaine>post tls_wrap landing
15:59:26  * mikealjoined
16:01:20  * kevinswiberjoined
16:02:36  * kevinswiberquit (Remote host closed the connection)
16:04:34  * TooTallNatejoined
16:05:51  * amartensjoined
16:05:56  * timoxleyquit (Quit: Computer has gone to sleep.)
16:07:52  * HenryRjoined
16:10:34  <isaacs>ahh
16:11:04  <tjfontaine>I guess I should actually re-enable windows in the pull request builder since windows in the CI mostly behaves now
16:12:31  <isaacs>so, it kinda sucks that 0.10.11 has this GH-5688 bug
16:12:36  <isaacs>wish we'd found that earlier
16:12:50  <isaacs>one of those head-slappers. i really ought to have seen it earlier.
16:12:58  <tjfontaine>the writable truncation?
16:13:09  <tjfontaine>ya
16:13:16  <isaacs>as soon as i saw the issue, i thought "oh, fuck, right..."
16:13:20  <isaacs>yeah
16:13:45  <isaacs>so, i'm tempted to just do a 0.10.12 today
16:13:47  <isaacs>hot on the heels
16:14:06  <tjfontaine>nod
16:16:19  * loladirojoined
16:16:24  * bnoordhuisquit (Ping timeout: 268 seconds)
16:18:11  * mikealquit (Quit: Leaving.)
16:25:10  * piscisaureus_joined
16:29:23  * qardjoined
16:32:19  * qardpart
16:32:44  * qardjoined
16:34:51  * Benviejoined
16:35:23  <TooTallNate>trevnorris: cbuffer looks sweet dude
16:43:15  * isaacsyoga practice
16:43:16  * isaacs&
16:43:17  <LOUDBOT>THAT JUST MEANS YOU SUFFER FROM TOURETTES
16:44:09  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:48:18  * csaohquit (Quit: csaoh)
16:51:15  * AvianFluquit (Read error: Connection reset by peer)
16:51:48  * AvianFlujoined
16:54:03  <trevnorris>morning
16:56:26  * defunctzombie_zzchanged nick to defunctzombie
16:59:57  * TooTallNatejoined
17:00:05  * jmar777quit (Remote host closed the connection)
17:00:39  * jmar777joined
17:04:26  <trevnorris>TooTallNate: thanks. it's in need of some cleanup though.
17:04:46  * jmar777quit (Ping timeout: 246 seconds)
17:06:44  * brsonjoined
17:10:50  * loladiroquit (Quit: loladiro)
17:11:35  * dannycoatesjoined
17:14:15  <trevnorris>github is on crack. it placed several of ben's comments in the middle of sections they don't belong.
17:14:32  * dapquit (Ping timeout: 245 seconds)
17:14:41  <tjfontaine>heh
17:14:48  * dapjoined
17:15:01  * bnoordhuisjoined
17:15:46  * timoxleyjoined
17:20:16  * mikealjoined
17:23:21  * kevinswiberjoined
17:27:01  <indutny>hoho
17:27:04  <indutny>evening
17:27:45  <tjfontaine>I'm re-rebuilding to verify, but indutny any problem with this? https://github.com/tjfontaine/node/compare/windows-build-fix
17:31:19  <trevnorris>bnoordhuis: is there any internal difference between ->ToObject and .As<Object>()?
17:33:23  <indutny>no problems if it works
17:33:29  <indutny>trevnorris: there should be
17:33:35  <indutny>.As<Object>() is just a cast
17:33:51  * amartensquit (Ping timeout: 252 seconds)
17:33:56  <indutny>and ToObject() is a runtime call
17:34:02  <indutny>with checks and everything
17:34:08  <trevnorris>ah, ok.
17:34:43  <trevnorris>ths
17:34:49  <trevnorris>s/ths/thx
17:35:52  * amartensjoined
17:36:28  * AvianFluquit (Remote host closed the connection)
17:38:52  * st_lukejoined
17:40:16  <indutny>np
17:40:19  <indutny>you're welcome
17:40:27  <indutny>you can always find appropriate code in deps/v8/src/api.cc
17:41:15  <indutny>and sometimes in deps/v8/include/v8.h
17:41:24  <tjfontaine>indutny: ok I shall push then
17:42:27  <indutny>yep
17:43:25  <trevnorris>indutny: ah ok. so api.cc is the implementation file for the public facing api?
17:43:30  <indutny>yes
17:43:53  <trevnorris>cool. thanks again :)
17:44:04  <indutny>you're welcome
17:45:01  <MI6>joyent/node: Timothy J Fontaine master * c0281f1 : build: fix include order for building on windows - http://git.io/phru_w
17:48:58  * kevinswiberquit (Remote host closed the connection)
17:50:27  * loladirojoined
17:51:48  <trevnorris>bnoordhuis: almost done. just curious about "return static_cast<size_t>(-1)". that's a legitimate way to check?
17:52:43  <indutny>what's that?
17:52:45  <indutny>MAX_UINT?
17:53:52  <trevnorris>indutny: http://git.io/mgwG_g
17:54:06  <trevnorris>basically I was throwing from a function called by other functions.
17:54:52  <trevnorris>guess i'm just used to that from js
17:55:57  <trevnorris>i was trying to get around needing to check the return value
17:57:43  <indutny>aaah
17:57:47  <indutny>I see what ben meant
17:58:06  <indutny>returning odd-ball
17:58:42  <indutny>though, I don't like this methods
17:58:59  <trevnorris>how's that?
17:59:42  * TooTallNatequit (Ping timeout: 252 seconds)
18:00:11  * dscape__joined
18:00:12  * dscape__changed nick to dscape
18:00:51  <indutny>call me old-school
18:01:01  <indutny>but I better return status
18:01:06  <indutny>and change argument
18:01:12  * kevinswiberjoined
18:01:19  <indutny>like `void my_method(int* result) { *result = 1; }
18:02:06  <trevnorris>oy. as you can see getting around checking the value is half the code. needing to check the return value was what I was trying to get around. oh well.
18:02:19  * TooTallNatejoined
18:02:49  * defunctzombiechanged nick to defunctzombie_zz
18:04:20  <bnoordhuis>trevnorris: that was just a suggestion
18:04:24  <indutny>bnoordhuis: meh
18:04:31  <bnoordhuis>in-band errors are something to frown on, really
18:04:35  <indutny>static_cast<size_t>(E * 1024)
18:04:45  <indutny>and check it
18:04:53  <indutny>no way someone can return such odd value
18:05:32  <bnoordhuis>^ don't listen to this guy
18:05:37  <indutny>^
18:06:30  <trevnorris>lol
18:06:51  <bnoordhuis>sorry, was in a conference call. back now
18:07:03  <trevnorris>well, i'm not about to argue w/ you two about my cc.
18:07:27  <bnoordhuis>trevnorris: something like indutny proposes could work: bool foo(type* out)
18:08:03  <bnoordhuis>e.g. bool ParseArrayIndex(size_t* index)
18:08:32  <trevnorris>ah yeah. in v8/src/d8-posix.cc they do something similar.
18:08:38  <MI6>nodejs-master: #261 UNSTABLE linux-ia32 (1/601) smartos-ia32 (4/601) smartos-x64 (9/601) linux-x64 (2/601) http://jenkins.nodejs.org/job/nodejs-master/261/
18:09:02  <trevnorris>but they set the Exception in the called function as well, then return false.
18:09:21  <trevnorris>ooh, ok. this'll work.
18:09:59  <bnoordhuis>trevnorris: for bonus points, annotate it with __attribute__((warn_unused_result)) when gcc
18:11:11  <trevnorris>ah, interesting. I like it.
18:12:05  <bnoordhuis>trevnorris: btw, scheduling an exception is not something i'm a fan of
18:12:15  <bnoordhuis>that's policy rather than mechanism
18:12:34  <bnoordhuis>throwing exceptions should be done as close to the "edge" as possible
18:12:41  <bnoordhuis>where "edge" is the js/c++ boundary
18:13:04  <bnoordhuis>even better if you move it over the edge, into js land
18:14:21  <trevnorris>some of the methods on Buffer.prototype point directly to cc methods, but i'll do that when I can.
18:16:45  * kevinswiberquit (Remote host closed the connection)
18:18:42  <indutny>bnoordhuis: gcc specifix annotation, nice tip! ;)
18:18:51  <indutny>is it patch for v8?
18:21:37  * kevinswiberjoined
18:23:05  <bnoordhuis>indutny: no, it's something we can do in node
18:23:10  <indutny>yep
18:23:12  <indutny>we need macro for this
18:23:19  <indutny>MUST_USE_RESULT
18:23:24  <indutny>no gcc specific shit
18:23:31  <indutny>agree?
18:23:32  <bnoordhuis>yeah, sure
18:23:41  <indutny>another question
18:23:44  <indutny>do we really need it? :)
18:24:05  <indutny>are there enough functions that it needs to be applied to?
18:25:26  <bnoordhuis>wrong question
18:25:35  <bnoordhuis>the right question is: will it help catch bugs?
18:27:47  * qard1joined
18:27:56  * qardquit (Read error: Connection reset by peer)
18:28:14  <indutny>bnoordhuis: ok
18:28:23  <indutny>bnoordhuis: generally I agree with this
18:28:37  <indutny>ok, back to civ IV
18:28:57  <bnoordhuis>priorities. fedor has them :)
18:29:26  * TooTallNatequit (Ping timeout: 256 seconds)
18:33:24  * timoxleyquit (Quit: Computer has gone to sleep.)
18:41:42  * TooTallNatejoined
18:42:13  * piscisaureus_quit (Ping timeout: 245 seconds)
18:46:28  <TooTallNate>just got a report for
18:46:30  <TooTallNate>"Error: connect Unknown system errno 64"
18:46:34  <TooTallNate>darwin ^
18:46:37  <TooTallNate> /cc bnoordhuis
18:46:54  * brsonquit (Ping timeout: 264 seconds)
18:47:32  <tjfontaine>that's another network one
18:47:41  <TooTallNate>yup
18:47:42  <tjfontaine>probably a broken route or vpn issue
18:47:52  <TooTallNate>just checking if there's a mapping we can add or whatever
18:48:30  <bnoordhuis>TooTallNate: that's EHOSTDOWN
18:48:47  <TooTallNate>bnoordhuis: are we mapping it already (it was from node v0.10.2, so it's possible it's old)
18:48:49  <tjfontaine>I don't think we have a UV_HOSTDOWN?
18:51:34  * brsonjoined
18:54:40  <bnoordhuis>TooTallNate, tjfontaine: no, there's no mapping for it right now
18:59:04  * Schoonologyquit (Ping timeout: 250 seconds)
19:00:47  * dscapequit (Ping timeout: 245 seconds)
19:01:49  * linus_quit (Ping timeout: 250 seconds)
19:03:25  * AvianFlujoined
19:12:10  <tjfontaine>sigh http://jenkins.nodejs.org/job/nodejs-master-windows/69/DESTCPU=ia32,label=windows/console
19:17:16  <MI6>nodejs-master-windows: #69 ABORTED windows-ia32 (119/601) windows-x64 (124/601) http://jenkins.nodejs.org/job/nodejs-master-windows/69/
19:24:58  <indutny>ttyl
19:25:04  <trevnorris>seeya
19:30:16  * jmar777joined
19:31:20  * isaacsfg
19:32:17  <trevnorris>bnoordhuis: thx for the review. pushed. think the only thing i'll need your eyes on again is ParseArrayIndex exception stuff.
19:33:07  <MI6>joyent/libuv: Ben Noordhuis master * b1d390e : windows: don't use uppercase in include filename - http://git.io/9C5mCA
19:35:51  * dominictarrquit (Quit: dominictarr)
19:40:06  <MI6>libuv-master-gyp: #60 UNSTABLE windows-x64 (5/190) smartos-ia32 (2/189) windows-ia32 (3/190) smartos-x64 (2/189) http://jenkins.nodejs.org/job/libuv-master-gyp/60/
19:41:19  <MI6>libuv-master: #123 UNSTABLE windows (3/190) smartos (2/189) http://jenkins.nodejs.org/job/libuv-master/123/
19:43:17  * olalondejoined
19:52:40  <trevnorris>isaacs: oh, so close. maybe it'll land today! \o/
19:58:27  * kuebkjoined
20:07:08  <isaacs>trevnorris: kewl!
20:08:41  <TooTallNate>trevnorris: so excited!
20:13:07  * bajtosquit (Quit: bajtos)
20:17:28  <trevnorris>TooTallNate: say I create a Persistent<> for a Local<>. I can't seem to figure out how to retrieve the that Persistent<> later (e.g. after it's been passed back/forth to js. know if there's a way?
20:18:16  <bnoordhuis>trevnorris: no
20:18:39  <TooTallNate>trevnorris: ya, unfortunately i've resorted to keeping a weak map in C++ land for that :(
20:18:41  <trevnorris>bummer. :-/
20:20:13  <MI6>libuv-node-integration: #113 UNSTABLE smartos-x64 (6/601) linux-x64 (32/601) smartos-ia32 (6/601) linux-ia32 (33/601) http://jenkins.nodejs.org/job/libuv-node-integration/113/
20:21:00  <trevnorris>bugger.
20:22:32  * groundwaterquit (Ping timeout: 246 seconds)
20:22:54  <trevnorris>TooTallNate: so w/ the patch there's no way to retrieve the Persistent created. would it be enough if I just returned?
20:23:22  <TooTallNate>trevnorris: from what?
20:23:27  <TooTallNate>Buffer.alloc()?
20:23:44  <TooTallNate>trevnorris: p.s. a Function object bufferified is fucking awesome looking :p
20:23:50  <TooTallNate>r.e. your slides from the other day
20:23:59  <trevnorris>lol. thanks.
20:24:08  <trevnorris>from the Buffer instance. Buffer::New() returns Local<Object>
20:24:28  <trevnorris>and to save the performance I don't attach the persistent internally (e.g. hidden value or what not)
20:24:57  <trevnorris>so if there's no way to retrieve a persistent that's been created for a Local<> then right now there's no way to retrieve the Persistent at all.
20:25:57  * groundwaterjoined
20:27:39  <trevnorris>TooTallNate: lemme make a small change and see how much it hurts.
20:28:17  <bnoordhuis>sigh. `yum provides whatever` always wants to download half the internet
20:28:20  <TooTallNate>trevnorris: i don't think that's too much of a problem IMO, unless i'm missing something...
20:28:36  <TooTallNate>trevnorris: i mean i could always create a new Persistent over the Local IFF i need that
20:28:43  <bnoordhuis>good thing this server only has a handful of repos configured
20:29:55  <trevnorris>TooTallNate: well if that's the case then I'll not worry about it. :)
20:30:28  <trevnorris>bnoordhuis: so if you're cool w/ the new way of handling errors then this might just land
20:30:39  <trevnorris>(sorry, it's just hard to contain the excitement)
20:31:57  * dominictarrjoined
20:32:23  <bnoordhuis>trevnorris: you force-pushed your changes, i assume?
20:32:28  * vandenoeverjoined
20:32:29  <trevnorris>bnoordhuis: yeah
20:32:33  * jmar777quit (Remote host closed the connection)
20:32:42  <trevnorris>i'm probably up to 200 by now :P
20:32:49  * vandenoeveris playing with libuv, making a c++ wrapper
20:32:50  <trevnorris>tjfontaine could verity that.
20:32:52  <bnoordhuis>makes it hard to see what you changed after the last review round
20:33:04  <vandenoever>c++11 in fact
20:33:09  <trevnorris>ah, sorry
20:33:25  <bnoordhuis>well, i can probably work some `git diff` magic
20:33:43  <bnoordhuis>provided the old patchset is still in my reflog
20:35:11  <trevnorris>TooTallNate: yeah, so a single SetHiddenValue more than doubles buffer instantiation. :P
20:35:37  <tjfontaine>who what where when
20:35:37  * AvianFluquit (Remote host closed the connection)
20:36:03  <trevnorris>oh, was just joking about how many times i've forced pushed to that branch.
20:36:45  <trevnorris>tjfontaine: is jenkins taking a nap? it's been determining my merge status for over an hour now.
20:37:35  <tjfontaine>trevnorris: actually this is more fall out from tls_wrap landing
20:37:43  <trevnorris>ah, ok.
20:38:14  <tjfontaine>one of the tests is failing in a way that you need to attach to clear a buffer or something to let it continue on
20:39:00  <trevnorris>TooTallNate: it was too advanced for my talk but using Buffer.alloc() on a function to cross communicate status flags between js/cc has been a fun experiment.
20:39:25  <TooTallNate>trevnorris: hahaha
20:39:53  <TooTallNate>trevnorris: but so can i call a C++ equivalent of Buffer.alloc() and pass it an existing pointer?
20:40:18  * hzquit (Ping timeout: 252 seconds)
20:40:35  <trevnorris>TooTallNate: Buffer.alloc() is just a js safe equivalent of smalloc::Alloc()
20:40:54  <trevnorris>so, yes.
20:41:29  <TooTallNate>trevnorris: like i wanna, for example, associate ("alloc", but not really :p) a C function pointer, to a JS Function object
20:41:33  <TooTallNate>trevnorris: is that possible with the new API?
20:42:45  <trevnorris>TooTallNate: um. technically yes, but not in a way that won't cause your app to explode. :P
20:43:05  <trevnorris>TooTallNate: all alloc's use SetIndexed... on the object passed, so they're exposed as an array index on the js side.
20:43:45  <trevnorris>and if you pass a void*, it can technically be attached, but as soon as someone tries to access it via fn[n] in js it's going to explode.
20:45:59  * kevinswiberquit (Remote host closed the connection)
20:46:35  <TooTallNate>trevnorris: i mean the .length would be 0
20:47:03  <trevnorris>.length would be undefined. Buffer instantiation is what actually sets the length.
20:47:15  <trevnorris>all alloc does is attach memory
20:49:31  <tjfontaine>trevnorris: I pulled windows back out of pull requests until I can give windows-master some love
20:49:41  <trevnorris>heh, ok.
20:53:49  <tjfontaine>set should_throw or something?
20:58:23  * dscape__joined
20:58:40  * nsmquit (Read error: Operation timed out)
21:01:02  * nsmjoined
21:02:42  <bnoordhuis>trevnorris: see comments
21:02:55  <trevnorris>bnoordhuis: already working on 'em. :)
21:03:10  <trevnorris>bnoordhuis: though i'm not sure how to handle the return error/undefined thing.
21:03:11  <bnoordhuis>most of it is pretty minor except for the ThrowRangeError thing
21:03:34  <bnoordhuis>trevnorris: it depends on the call site
21:03:48  <bnoordhuis>if you have a function/method that returns Local<Value> or Handle<Value>
21:03:57  <bnoordhuis>you can `return ThrowRangeError("BAM");`
21:04:29  <bnoordhuis>for things that return e.g. Handle<Object>, well...
21:04:57  <bnoordhuis>in some cases you could probably call ThrowRangeError() and `return Handle<Object>();`
21:05:04  <bnoordhuis>that'll return an empty Handle
21:05:20  <bnoordhuis>it's up to the caller to check retval.IsEmpty(), of course
21:07:42  <trevnorris>ah, ok. i see
21:08:44  <trevnorris>bnoordhuis: wait. wtf. those should be asserts anyways right? i mean none of the cases where it returns <Object> are called from js anyways.
21:09:29  * trevnorristries to remember what he was thinking. coming up blank.
21:10:07  * pquernaquit (Ping timeout: 264 seconds)
21:10:39  * pquernajoined
21:10:39  * pquernaquit (Changing host)
21:10:39  * pquernajoined
21:10:45  * mikealquit (Quit: Leaving.)
21:10:56  <bnoordhuis>trevnorris: if it's a clear bug that <some condition that should not fail>, then yes, assert :)
21:11:13  <MI6>joyent/node: Sam Roberts master * 226a20d : doc: call console module 'console' not 'stdio' - http://git.io/1s90fQ
21:12:03  <trevnorris>bnoordhuis: awesome. thanks again. just about done w/ those.
21:13:05  * mralephquit (Ping timeout: 248 seconds)
21:24:32  * rendarquit
21:25:00  * AvianFlujoined
21:25:00  * AvianFluquit (Remote host closed the connection)
21:25:32  * AvianFlujoined
21:29:54  * c4miloquit (Remote host closed the connection)
21:32:59  <MI6>joyent/node: Ben Noordhuis master * b916525 : src: clean up `using` directives - http://git.io/Q0GKUQ
21:35:19  * mralephjoined
21:37:54  * brsonquit (Ping timeout: 264 seconds)
21:38:48  * papertigersjoined
21:41:41  * brsonjoined
21:41:44  <MI6>nodejs-master: #262 UNSTABLE osx-ia32 (2/601) smartos-ia32 (3/601) smartos-x64 (8/601) http://jenkins.nodejs.org/job/nodejs-master/262/
21:43:49  * hzjoined
21:45:53  * dominictarrquit (Quit: dominictarr)
21:47:41  <bnoordhuis>signing off. have a good night, people
21:48:00  <trevnorris>bnoordhuis: night. w/ those changes look good to you?
21:48:17  <bnoordhuis>what changes?
21:48:27  <bnoordhuis>ah, i see
21:48:53  <bnoordhuis>you force-pushed again, didn't you? :)
21:49:02  <trevnorris>heh, yeah. :)
21:49:10  <trevnorris>just 20 secs ago.
21:49:30  <bnoordhuis>okay, i'll look at it tomorrow
21:49:35  <bnoordhuis>it's too big for a quick scan
21:49:52  <bnoordhuis>sleep tight!
21:49:55  <trevnorris>night
21:51:21  <trevnorris>damn. so close. except for the throw to assert, the other few were cosmetic.
21:54:15  * bnoordhuisquit (Ping timeout: 260 seconds)
21:57:42  <trevnorris>well, I could pull an indutny and just push it. ;)
21:58:03  <tjfontaine>glutton for punishment
21:58:13  <trevnorris>who, him or me?
21:58:26  <tjfontaine>you ;)
21:58:47  * dominictarrjoined
21:58:57  <trevnorris>ah, come on. the tls changes had more fallout then these will. :)
21:59:07  <tjfontaine>I'm skeptical :)
21:59:15  <tjfontaine>not that I don't want the changes to happen
21:59:32  <tjfontaine>but as with everything, few people follow bleeding edge :/
21:59:34  * st_lukequit (Remote host closed the connection)
22:00:37  <trevnorris>oh, the repercussions for upgrading from 0.10 to 0.12 will not be trivial, for sure.
22:01:32  * kuebkquit
22:01:48  <trevnorris>but if jenkins gives me a green then i'm pushing!
22:02:02  <trevnorris>though that's just about impossible. :P
22:08:09  <tjfontaine>let me enable windows, then nothing gets merged :P
22:11:55  <trevnorris>oh, man...
22:13:07  <MI6>nodejs-master: #263 UNSTABLE osx-ia32 (1/601) smartos-ia32 (4/601) smartos-x64 (6/601) http://jenkins.nodejs.org/job/nodejs-master/263/
22:13:50  * piscisaureus_joined
22:14:04  * TooTallNatequit (Ping timeout: 268 seconds)
22:14:46  <MI6>nodejs-master-windows: #70 UNSTABLE windows-ia32 (122/601) windows-x64 (123/601) http://jenkins.nodejs.org/job/nodejs-master-windows/70/
22:16:41  * TooTallNatejoined
22:16:45  <tjfontaine>ok, test-child-process-detached seems to be whats hanging in the windows build for now
22:16:56  <tjfontaine>but stream wrap is generally unhappy as well
22:17:55  <tjfontaine>one for trevnorris, http://jenkins.nodejs.org//job/nodejs-master-windows/70/DESTCPU=x64,label=windows//tapTestReport/test.tap-5/
22:18:40  <trevnorris>wtf
22:19:09  <vandenoever>once i've called uv_tcp_init, but not yet uv_accept, how do get the uv_tcp_t out of the loop?
22:19:24  <tjfontaine>uv_close?
22:20:26  <vandenoever>also with the same tcp_t?
22:21:06  <tjfontaine>I'm confused what you mean, what do you mean "out of the loop" you want the incoming connection?
22:21:28  <trevnorris>tjfontaine: that was also failing in /69/
22:21:41  <tjfontaine>trevnorris: I'm not saying it's new :)
22:21:50  <trevnorris>:P
22:22:00  <trevnorris>well, is there any way we can determine when that started failing?
22:22:19  <tjfontaine>"yes" though I wouldn't worry about that just yet
22:22:21  * pachetquit (Quit: leaving)
22:22:31  <tjfontaine>this stream_wrap failure is worse
22:22:43  <trevnorris>link?
22:22:53  <tjfontaine>we're hitting an assert http://jenkins.nodejs.org//job/nodejs-master-windows/70/DESTCPU=x64,label=windows//tapTestReport/test.tap-10/
22:23:22  <tjfontaine>but I need to rebuild and see which handle we're failing on, but I'm guessing this is a pipe issue
22:23:22  <trevnorris>tjfontaine: every time, or sporadically?
22:23:33  <tjfontaine>windows-ia32 (122/601) windows-x64 (123/601)
22:23:39  <tjfontaine>122 and 123 failures
22:23:47  <trevnorris>lol
22:23:48  <tjfontaine>should be closer to 8 or 10 failures :)
22:25:04  <trevnorris>tjfontaine: but that has nothing to do w/ my buffer changes, right?
22:25:22  <tjfontaine>trevnorris: nothing to do with you, all to do with tls_wrap (stream_wrap refactor)
22:25:23  * piscisaureus_quit (Ping timeout: 240 seconds)
22:25:30  <trevnorris>ah ok
22:26:18  <vandenoever>tjfontaine: what i mean is that i want to call uv_loop_delete
22:26:57  <tjfontaine>vandenoever: on the listener socket?
22:27:14  <vandenoever>no, after all connections are closed
22:27:39  <tjfontaine>uv_close it is
22:28:00  <vandenoever>that is, in on_connected, i run uv_tcp_init, then find out that i have to quit
22:29:11  <vandenoever>i'm calling uv_close, which has a problem
22:29:50  * c4milojoined
22:34:45  <tjfontaine>ya, ok this is totally a pipe issue in master-windows
22:39:08  * st_lukejoined
22:41:16  * perezdjoined
22:43:26  * piscisaureus_joined
22:47:37  <tjfontaine>hey there piscisaureus_
22:47:47  <piscisaureus_>hey ther tjfontaine
22:47:54  <tjfontaine>how goes?
22:48:26  <piscisaureus_>you really want to know? :)
22:48:32  <piscisaureus_>I have a headache
22:48:37  <piscisaureus_>otherwise, I'm great
22:48:46  <tjfontaine>a headache or a migraine?
22:49:21  <piscisaureus_>tjfontaine: well migraine is pretty serious right? This isn't I hope. I might be just tired.
22:49:37  <piscisaureus_>but how are you?
22:49:43  <tjfontaine>they can be yes, but yes hopefully sleep or some fluids will help you
22:49:45  <piscisaureus_>Prepared your nodeconf slide deck yet?
22:49:53  <tjfontaine>I luckily don't have any talks to give :)
22:50:03  <tjfontaine>but I was just in a prep meeting for one
22:50:16  <piscisaureus_>ah cool
22:50:30  <tjfontaine>and for now I'm trying fix the 110 new test failures on windows :)
22:50:38  <piscisaureus_>are you going to do a dance with the joyent staff
22:50:46  <piscisaureus_>that would be nice
22:50:49  <piscisaureus_>tjfontaine: eh?
22:50:57  <tjfontaine>I am not sure anyone would want to see me dance
22:50:58  <piscisaureus_>tjfontaine: what happened
22:51:26  <tjfontaine>piscisaureus_: the stream wrap refactor seems to not be allocating buffers for pipes on windows, or maybe did the sync pipe
22:51:35  <tjfontaine>that didn't land yet though did it?
22:51:58  <piscisaureus_>this is why I'd love to have a great ci dashboard?
22:52:00  <piscisaureus_>:)
22:52:05  <piscisaureus_>let me see
22:52:07  <tjfontaine>heh ya ya, I'm almost done
22:52:17  <tjfontaine>assert in stream_wrap.cc:208
22:52:20  <tjfontaine>I'm still compiling atm
22:52:37  <tjfontaine>but echo | node -pe 'process.stdin.resume()'
22:52:43  <tjfontaine>is all you need to do to trigger it
22:53:04  <vandenoever>activity here is great, i'm wondering if libuv is supposed to be used outside of node
22:53:23  <tjfontaine>it is, and people do use it
22:53:51  <tjfontaine>vandenoever: piscisaureus_ can field your questions better than I can right now
22:55:00  <vandenoever>tjfontaine: i'm using libuv to make nice c++11 wrapper around for other uses
22:55:36  <tjfontaine>is your code available somewhere so it's easy to refer to it explicitly when you have questions
22:55:56  <piscisaureus_>tjfontaine: there's no assert there? https://github.com/joyent/node/blob/master/src/stream_wrap.cc
22:56:05  <vandenoever>but it's not too easy unf., which is understandable given the emphasis on performance
22:56:14  <vandenoever>tjfontaine: not yet, but it can be
22:56:58  <tjfontaine>hrm # Assertion failed: buf.base != NULL, file src\stream_wrap.cc, line 208
22:57:09  <vandenoever>ah, so node has a c++ wrapper for libuv, but it's internal so far
22:57:37  <vandenoever>or is that simple a part of v8?
22:57:45  <piscisaureus_>vandenoever: it's a v8 api wrapper
22:58:13  <vandenoever>http://paste.kde.org/776498/
22:58:19  <piscisaureus_>vandenoever: libuv was written mainly for node. But nowadays some other projects use it and we try to not make them hate us
22:58:32  <piscisaureus_>(luvit, pyuv. rust, julialang)
22:58:44  <vandenoever>piscisaureus_: good attitude :-D
22:58:57  <tjfontaine>piscisaureus_: sorry https://github.com/joyent/node/blob/master/src/stream_wrap.cc#L203
22:59:03  <tjfontaine>3's 8's meh
22:59:04  <tjfontaine>:)
22:59:17  <vandenoever>the paste is very much a work in progress
22:59:35  <piscisaureus_>tjfontaine: that assert is wrong. looking at the rest of the code
22:59:47  <vandenoever>trying to use raii pattern to get elegant c++ api
23:00:27  <vandenoever>http://paste.kde.org/776504/ for c++ hightlighting
23:00:28  * bnoordhuisjoined
23:00:29  <piscisaureus_>tjfontaine: yes, drop the assert, this can happen in linux too
23:00:34  <piscisaureus_>(although more rare)
23:01:12  <piscisaureus_>tjfontaine: the assert is just bogus, someone probably forgot to remove it.
23:01:44  <tjfontaine>piscisaureus_:
23:01:52  <tjfontaine>er ok
23:01:55  <piscisaureus_>emptyness?
23:02:01  <tjfontaine>distracted at work
23:02:38  * HenryRquit (Ping timeout: 245 seconds)
23:03:18  * olalondequit (Quit: olalonde)
23:03:30  <tjfontaine>piscisaureus_: so what's the rare case that this happens on unix, I'm confused I was assuming that OnReadCommon happened after an alloc_cb triggered
23:03:47  <piscisaureus_>tjfontaine: not on case of an error
23:03:53  <tjfontaine>ah ok
23:04:01  * HenryRjoined
23:04:29  <piscisaureus_>piscisaureus_: bnoordhuis also said he was going to change the api at some point
23:05:12  <tjfontaine>shoudl the check be that if nread > 0 assert that the buffer has been allocated or is it really not worth guarding against?
23:05:21  <piscisaureus_>^-- tjfontaine; that was for you
23:05:21  <piscisaureus_>where he would not guarantee to always return a buffer, not realizing that this guarantee was never there
23:05:22  <piscisaureus_>anyway
23:05:34  * bnoordhuisquit (Ping timeout: 276 seconds)
23:05:43  <piscisaureus_>tjfontaine: anyway, https://github.com/joyent/node/blob/b9165252e3a9115fe991042b75caa08c0993e347/src/stream_wrap.cc#L610
23:05:50  <piscisaureus_>is where we're dealing with that situatiokn
23:06:26  <tjfontaine>but we may get here from tls_wrap?
23:06:51  <tjfontaine>which iirc overrides StreamWrap::DoRead
23:07:04  <piscisaureus_>yeah let me fire up Visual Studio to check that
23:08:16  <tjfontaine>ok OnReadCommon should happen before TLSWrap::DoRead so ya ok this probably doesn't need to be here
23:09:27  <tjfontaine>there is a small discrepency in how they react in the error case, but whatever
23:10:21  <piscisaureus_>tjfontaine: dunno, doesn't look like tlswrap overwrites DoRead ....
23:10:26  <piscisaureus_>s/overwrites/overrides/
23:11:23  <piscisaureus_>tjfontaine: nevermind - it does override it
23:11:29  <piscisaureus_>but it doesn't look at the buf at all
23:11:43  <tjfontaine>right because it's going to use the BIO
23:14:29  <tjfontaine>anyway I'll drop the assert, thanks for looking into it with me
23:15:36  <MI6>joyent/node: Bert Belder master * 1bf6d78 : stream_wrap: remove bogus assert - http://git.io/4cWKfw
23:15:37  <piscisaureus_>tjfontaine: ^
23:15:44  <tjfontaine>thanks :)
23:24:06  <piscisaureus_>g'nite i'm off again
23:24:54  <tjfontaine>night
23:24:56  <piscisaureus_>tjfontaine: btw - I'm wondering how hard it would be to set up some sort of mongo database that caches jenkins output
23:25:03  <piscisaureus_>tjfontaine: and have it index on sha
23:25:19  <tjfontaine>piscisaureus_: yes, except that's not how jenkins+github works right now
23:25:38  <tjfontaine>piscisaureus_: well, it's on the merge sha not necessarily by commit, but yes I get your point
23:25:48  <tjfontaine>I have stuff I'm working on that should make you happy
23:26:01  <piscisaureus_>tjfontaine: cool
23:26:17  <piscisaureus_>tjfontaine: what is it?
23:26:33  <tjfontaine>piscisaureus_: the dashboard that you want, plus stuff to go and do backfill on it
23:26:47  <piscisaureus_>tjfontaine: cool!!
23:27:04  <piscisaureus_>tjfontaine: are you building it yourself or did you find some other project?
23:27:33  <tjfontaine>mostly myself, nothing I've found in jenkins world to match
23:27:41  * hzquit
23:30:15  <piscisaureus_>tjfontaine: nice. don't forget to use angularjs but do it different that I did.
23:30:15  <piscisaureus_>tjfontaine: also http://build.chromium.org/p/client.v8/console looks much better (for inspiration) but we don't have 70 builds being tests. That's why I invented this test-grouping thing.
23:30:27  <piscisaureus_>s/being tests/being tested/
23:30:34  <tjfontaine>nod
23:30:48  <tjfontaine>if people want it pretty though they will need to style it :P
23:31:05  <piscisaureus_>good!
23:31:23  <tjfontaine>but ya
23:31:36  * wolfeidauquit (Remote host closed the connection)
23:31:56  * wolfeidaujoined
23:42:14  * loladiroquit (Quit: loladiro)
23:44:06  * dominictarrquit (Quit: dominictarr)
23:46:10  <MI6>nodejs-master: #264 UNSTABLE smartos-ia32 (3/601) smartos-x64 (5/601) http://jenkins.nodejs.org/job/nodejs-master/264/
23:47:22  <MI6>nodejs-master-windows: #71 FAILURE windows-ia32 (121/601) windows-x64 (125/601) http://jenkins.nodejs.org/job/nodejs-master-windows/71/
23:47:42  <tjfontaine>sigh
23:52:03  <trevnorris>tjfontaine: though 72 should show the improvement
23:53:40  * sblomjoined
23:53:42  <tjfontaine>Cannot delete workspace: java.io.IOException: Remote call on windows failed
23:53:43  <tjfontaine>ERROR: Cannot delete workspace: java.io.IOException: Remote call on windows failed
23:53:51  <tjfontaine>trevnorris: wishful thinking on your part :P
23:54:05  <tjfontaine>trevnorris: it was the normal race condition because it was leaving child processes behind
23:54:16  <tjfontaine>73 should be better
23:55:35  * amartensquit (Quit: Leaving.)
23:55:38  <tjfontaine>sblom: ooc is there a way (job ojects aside) that a parent process can be notified of pids of child processes created?
23:56:01  <tjfontaine>not of immediate children, but of grand children