00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:04:21  * AvianFluquit (Ping timeout: 272 seconds)
00:04:35  * sinclair|workjoined
00:08:48  * paulfryzelquit (Read error: Connection reset by peer)
00:09:13  * paulfryzeljoined
00:16:22  * m76quit (Read error: Connection reset by peer)
00:18:49  * c4miloquit (Remote host closed the connection)
00:28:48  * paulfryzelquit (Read error: Connection reset by peer)
00:29:18  * paulfryzeljoined
00:31:52  <sinclair|work>hello all
00:34:31  * zz_karupanerurachanged nick to karupanerura
00:34:34  * jmar777joined
00:37:08  <sinclair|work>txdv: hi mate, are you around?
00:42:07  * indexzerojoined
00:42:50  * stagasjoined
00:43:43  <trevnorris>indutny: know what this could be from: "../deps/uv/src/unix/stream.c:502: void uv__server_io(uv_loop_t *, uv__io_t *, unsigned int): Assertion `events == 1' failed."
00:43:54  <trevnorris>i could go read the code, but figured you could save me 20 mins. :P
00:44:43  <tjfontaine>assert(events == UV__POLLIN);
00:44:53  <tjfontaine>how did you manage to do that?
00:45:35  <trevnorris>tjfontaine: dinking around w/ internals. nothing from user-land api. :)
00:46:01  <indutny>trevnorris: one sec
00:46:09  <trevnorris>ok
00:46:11  <indutny>osx?
00:46:11  <tjfontaine>heh ok, rmustacc is doing the write up on uv_pump, which hopefully will pique your interest
00:46:31  <trevnorris>indutny: linux
00:46:37  <indutny>one sec
00:46:43  * mikealquit (Quit: Leaving.)
00:46:59  <trevnorris>i'm doing a writeBuffer to a new TCP() and for some reason getting that assertion
00:47:04  <indutny>haha
00:47:07  <indutny>nice
00:47:30  <indutny>could you please build it in debug mode
00:47:34  <trevnorris>sure
00:47:44  <indutny>would be cool to know actual `events` value
00:47:55  <sinclair|work>tjfontaine: hi mate
00:48:23  <tjfontaine>hey
00:48:47  <sinclair|work>tjfontaine: so, i libuv building last night as a dll
00:49:21  <sinclair|work>tjfontaine: tho, having problems getting txdv's interop working, there doesnt seem to be a lot of information on doing this
00:49:44  <sinclair|work>tjfontaine: in saying that tho, i think it should be possible just to roll a C++/CLI
00:50:13  <sinclair|work>tjfontaine: which im going to have a go at
00:50:35  * paulfryzelquit (Read error: Connection reset by peer)
00:50:41  * mikealjoined
00:51:23  <indutny>trevnorris: my guess is that it is UV__POLERR
00:51:42  * paulfryzeljoined
00:51:52  <indutny>POLLERR
00:52:30  * kazuponjoined
00:53:21  * thlorenzjoined
00:55:19  <trevnorris>indutny: strange. when I run it though gdb I get SIGPIPE, Broken Pipe
00:55:25  <indutny>oh
00:55:28  <indutny>you need to mask it
00:55:36  <indutny>one sec
00:55:55  <indutny>handle SIGPIPE nostop
00:55:57  <indutny>trevnorris: ^
00:55:59  <indutny>type this in gdb
00:56:14  <trevnorris>k thanks
00:56:41  <trevnorris>ah, that did it
00:56:54  * brsonquit (Ping timeout: 276 seconds)
00:57:33  <trevnorris>indutny: (gdb) p events
00:57:33  <trevnorris>$1 = 4
00:57:35  * AvianFlujoined
00:57:40  <indutny>oh, nice
00:57:41  <indutny>:D
00:58:00  * jmar777quit (Remote host closed the connection)
00:59:30  <indutny>one sec
00:59:43  * brsonjoined
00:59:51  <indutny>so
00:59:54  <indutny>it is EPOLLOUT
00:59:59  <indutny>on a server socket...
01:00:31  <indutny>perhaps you're listening not on a server socket?
01:00:31  <indutny>trevnorris: ^
01:01:00  <trevnorris>indutny: (gdb) p *w
01:01:00  <trevnorris>$6 = {
01:01:00  <trevnorris> cb = 0xf821a0 <uv__server_io>,
01:01:00  <trevnorris> pending_queue = {0x16030c8, 0x16030c8},
01:01:00  <trevnorris> watcher_queue = {0x15e9688 <default_loop_struct+88>, 0x15e9688 <default_loop_struct+88>},
01:01:01  <trevnorris> pevents = 1,
01:01:02  <trevnorris> events = 1,
01:01:04  <trevnorris> fd = 14
01:01:06  <trevnorris>}
01:01:21  <indutny>what do you think I'll be able to figure out from there :D
01:01:26  <indutny>could you strace it?
01:01:33  <trevnorris>i dunno. :P
01:01:36  <trevnorris>ok. will do.
01:02:15  <othiym23>heh heh "what is TickInfo?"
01:02:21  <othiym23>another poor innocent, dragged over to the dark side
01:02:32  <trevnorris>ah, yeah. write(10, "GET / HTTP/1.1\r\nUser-Agent: curl"..., 78) = -1 EPIPE (Broken pipe)
01:02:47  <indutny>well
01:02:48  <trevnorris>forgot to setup the receiving end of the data. :P
01:02:55  <indutny>huh
01:02:59  <indutny>are you using pipes or what?
01:03:13  <indutny>ok, whatever
01:03:20  <trevnorris>creating my own data router based on the Host: in HTTP header
01:03:24  * jmar777joined
01:04:02  <trevnorris>basically, i'm setting .onread on the connection to parse out the header, then overwriting the .onread w/ a callback that will then pipe the data out to the receiver.
01:04:52  <tjfontaine>you scare the shit out of me :)
01:05:18  <trevnorris>tjfontaine: hey, been a while since I've been able to do some crazy crap like this. :P
01:06:56  <indutny>:)
01:07:04  <trevnorris>othiym23: hey, the dark side that's fast as hell. :P
01:07:18  * jmar777quit (Remote host closed the connection)
01:07:20  <trevnorris>indutny: i'm totally botching this, but it's been fun to dick around with it.
01:07:25  <indutny>haha
01:07:26  <indutny>ok
01:07:46  <indutny>just came from Henry V show in one of the London's theatres
01:08:04  <trevnorris>indutny: after I get the js implementation done, going to write a native addition that will take advantage of linux's splice() to keep all the data transfer within the kernel.
01:08:05  <indutny>quite nice! :)
01:08:05  <indutny>but still not nearly close to Russian theatre, I must say
01:08:11  <trevnorris>heh
01:08:27  <indutny>http://www.delfontmackintosh.co.uk/Tickets/HV/HV.asp
01:08:38  <trevnorris>indutny: had a friend that spent a couple years in russia. he's always talking about how good russian literature is.
01:08:38  <indutny>http://www.youtube.com/watch?v=hMBZnE-SP2E
01:08:48  <indutny>oh, you have no idea :)
01:08:52  <indutny>until you'll learn the language
01:09:10  <indutny>russian is 2000x more expressive in emotions than english
01:09:27  <indutny>fun, but it's much interesting to read both Shakespeare and Wilde in russian
01:09:29  <indutny>than in original
01:09:45  <indutny>I'm not really a fan of Russia, if it comes to it
01:09:46  <indutny>but
01:09:47  <othiym23>I made it through about half of the Strugatsky library in Russian and most of a book of Pushkin short stories and the first three chapters of Mir i Voina before my Russian-brain gave out on me
01:10:06  <othiym23>Russian literature is fucking great, but it is hard as hell to read in Russian
01:10:11  <tjfontaine>I think it'd actually be useful to do this uv_pump mechanism, where it could take advantage of splice() where applicable
01:10:18  <indutny>othiym23: you know Russain?
01:10:34  <indutny>tjfontaine: to say that it wouldn't be cross-platform - would be to say nothing :D
01:10:36  <trevnorris>tjfontaine: yeah. hopefully i'll have a working prototype soon-ish.
01:10:42  <indutny>tjfontaine: linux-only? ;)
01:10:58  <tjfontaine>indutny: no, because it's still a huge win to avoid all the cb's back out of libuv, and it would still be async
01:11:17  <trevnorris>indutny: first, what is try_write? ;P also, it's possible to at least keep pump at the c++ level as close to the kernel as possible. instead of allowing it to bubble up to js level.
01:11:19  <indutny>oh, so it'll have a fallback?
01:11:20  <othiym23>indutny: ne mnogo
01:11:24  <trevnorris>indutny: yeah
01:11:27  <indutny>othiym23: nice!
01:11:52  <trevnorris>alright. out for now. be back on later.
01:11:55  <othiym23>I studied it for four years in high school but was a terrible student
01:11:59  <trevnorris>indutny: thanks for the help. :)
01:12:09  <trevnorris>tjfontaine: hopefully i'll get to the scare the shit out of you some more later. :P
01:12:11  * trevnorris&
01:12:11  <indutny>othiym23: have you read Habitable Island (Obitaemiy ostrov)
01:12:11  <indutny>?
01:12:12  <LOUDBOT>"WE'RE GONNA BUILD IT IN AJAX"
01:12:28  <indutny>trevnorris: you're welcome
01:12:41  <othiym23>indutny: yeah, but that's one of the ones I read in translation
01:12:48  <othiym23>indutny: also, I saw both movies
01:12:57  <othiym23>which were awesome, but maybe not in the way the makers wanted them to be
01:13:02  <indutny>othiym23: one of my favorites Strugatsky's things
01:13:02  <indutny>also
01:13:02  <indutny>has a movie
01:13:02  <indutny>:D
01:13:02  <indutny>lol
01:13:02  <indutny>haha
01:13:03  <indutny>second is quite
01:13:03  <indutny>fucked :D
01:14:13  <indutny>well, I think that the director has gone out of the ideas on the second part
01:14:13  <indutny>because first one seemed just totally awesome to me
01:14:13  <indutny>but it's definitely has different view of a book
01:14:30  <indutny>othiym23: still it's quite nice to talk to the non-native reader/speaker of russian :)
01:14:30  <othiym23>my favorites are Roadside Picnic, Far Rainbow, Definitely Maybe and Monday Begins on Saturday
01:14:34  <indutny>such a rare occasion
01:14:39  <indutny>othiym23: those ones a great!
01:14:42  <indutny>certainly
01:14:59  <othiym23>I love all when they got into playing games with the Soviet censors
01:15:12  <othiym23>it gets kinda Bulgakovian in places in a way that I didn't necessarily get at the time
01:15:42  <othiym23>(when I first read this stuff in the late 80s, I should say)
01:16:34  <indutny>haha :)
01:16:37  <indutny>where are you from?
01:17:34  <othiym23>Oregon
01:17:43  <indutny>oh, quite far from Russia
01:17:58  <othiym23>yeah, but I'm one of the only Americans I know who's been to the Soviet Union ;)
01:18:04  <indutny>othiym23: sir, you have my respect now :P
01:18:06  * mikealquit (Quit: Leaving.)
01:18:14  * ryahquit (Quit: .)
01:18:17  <indutny>I never been to the Soviet Union myself
01:18:23  <othiym23>I didn't make it all the way down to Omsk, but I made it Minsk, Kiev, Moscow and what was Leningrad at the time
01:18:32  <othiym23>jesus, are you that young?
01:18:35  * othiym23feels old
01:18:36  <indutny>well
01:18:40  <indutny>I'm from 90's
01:18:52  <indutny>anyway
01:18:58  <indutny>Omsk is kind of cool
01:18:58  <othiym23>yeah, I visited in the summer of 88
01:19:17  <indutny>not because of weather
01:19:18  <indutny>:)
01:19:21  <indutny>but because of people
01:19:32  <indutny>there were a lot of political prisoners sent to it
01:19:44  * sinclair|workwishes he could get libuv compiled as a c++/cli
01:19:59  <indutny>sinclair|work: how would you expect it to be working?
01:20:01  <tjfontaine>why are you afraid of PInvoke?
01:20:04  <indutny>sinclair|work: as a CLI?
01:20:16  <tjfontaine>indutny: he means .net c++
01:20:17  <indutny>ah, cli
01:20:20  <indutny>gotcha
01:20:32  <indutny>I have some feelings about it
01:20:37  <indutny>that I can't express without curse words :P
01:20:44  <indutny>touched it really recently
01:20:44  <sinclair|work>indutny: oh?
01:20:52  <indutny>.NET C++
01:20:53  <LOUDBOT>WHY THE FUCK HAVENT YOU PROFILED
01:20:57  <indutny>indeed
01:21:00  <tjfontaine>I'm trying to get the guy who did the nodejs+cli work to come speak :)
01:21:03  <tjfontaine>it's pretty interesting stuff
01:21:19  <sinclair|work>tjfontaine: txdv?
01:21:24  <tjfontaine>no no, differen thing
01:21:37  <sinclair|work>not edgejs?
01:21:40  <tjfontaine>nope
01:21:42  <tjfontaine>"it's a fully compatible C++/CLI implementation that compiled into node.js bindings, complete with a C#-style 'dynamic' type"
01:21:52  <sinclair|work>oh, slick
01:22:32  <sinclair|work>indutny: well, there is a need to have libuv available to .net
01:22:34  <tjfontaine>http://meta.nuanti.com/
01:22:44  <indutny>sinclair|work: well, don't get wrong
01:22:53  <indutny>I have nothing against it
01:22:58  <sinclair|work>get what wrong?
01:23:02  <indutny>just had some troubles with .NET recently
01:23:10  <tjfontaine>*don't get him wrong
01:23:12  <indutny>and expressed those feelings
01:23:18  <indutny>haha
01:23:19  <indutny>right
01:23:32  <sinclair|work>indutny: well, there are parts of .net that are "crumbling at the seams"
01:23:32  <tjfontaine>gotta learn to read internet
01:23:36  <tjfontaine>dropped words are part of the game
01:23:41  <indutny>anyway, it seems that I got too deep into discussions
01:23:47  <tjfontaine>sinclair|work: you have to differentiate the framework from the vm
01:23:48  <indutny>perhaps, it's time to sleep for me
01:23:52  <tjfontaine>the VM itself is pretty slick
01:24:07  <sinclair|work>tjfontaine: not sure i follow
01:24:23  <tjfontaine>sinclair|work: there are two pieces, .net the framework, and .net the CIL VM
01:24:27  <sinclair|work>tjfontaine: is this in reference to interop/pinvoke vs CLI/C++
01:24:29  <sinclair|work>?
01:24:38  <sinclair|work>oh
01:24:40  <sinclair|work>sure
01:24:59  <sinclair|work>tjfontaine: the BCL is getting kinda clunky nowadays
01:25:22  <sinclair|work>tjfontaine: the CLR seems flexible enough to keep pace
01:25:25  <tjfontaine>lots of historical pieces to that, and it's serving a different purpose
01:25:37  <tjfontaine>the DLR is actually the interesting piece
01:25:44  <sinclair|work>tjfontaine: yeah it is
01:25:57  <othiym23>tjfontaine: I thought the DLR was semi-dead these days
01:26:04  <othiym23>I haven't heard much about it for a while
01:26:09  <tjfontaine>well, as semi-dead as the rest of .net is
01:26:26  <othiym23>F# will never die!
01:26:31  <sinclair|work>tjfontaine: well, i don't think .net is completely dead
01:27:00  <othiym23>I thought there was still a decent amount of work happening on the CLR
01:27:15  * rmgquit (Remote host closed the connection)
01:27:27  <tjfontaine>brb
01:28:20  <sinclair|work>othiym23: there is
01:28:38  <sinclair|work>othiym23: but the framework has stalled while we all wait for roslyn
01:29:01  <indutny>ttyl
01:29:15  <sinclair|work>othiym23: i haven't really need any new amazing things appear since the Task<T> TPL stuff
01:30:05  <sinclair|work>othiym23: but as things go, the industry waits for no one, and the Roslyn stuff has been in incubation for so long now, people stopped giving a damn
01:30:49  <othiym23>indutny: l8r dude
01:31:06  <othiym23>sinclair|work: sorta sounds like MS tech in a nutshell over the last few years
01:31:07  * jmar777joined
01:32:17  <sinclair|work>othiym23: pretty much, also, with the advent of node (and other similar platforms), people are starting to click onto the fact that you don't need a huge runtime and BCL to make modern applications (server side applications)
01:32:30  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
01:32:33  * paulfryzelquit (Read error: Connection reset by peer)
01:32:42  <sinclair|work>so, its becoming less relevant in a lot of ways,
01:33:11  * paulfryzeljoined
01:34:27  <sinclair|work>holy crap, i have it building!
01:35:23  <sinclair|work>removing _WIN32_WINNT 0x0502 in uv-win.h seemed to solve "all the things"
01:35:33  * mikealjoined
01:38:59  * c4milojoined
01:43:49  * c4miloquit (Ping timeout: 265 seconds)
01:46:40  * daviddiasjoined
01:51:01  * mikolalysenkoquit (Ping timeout: 272 seconds)
01:51:30  * daviddiasquit (Ping timeout: 276 seconds)
01:51:33  * Ralithquit (Ping timeout: 248 seconds)
01:56:15  * kazuponquit (Remote host closed the connection)
02:05:05  * jmar777quit (Remote host closed the connection)
02:06:47  * kazuponjoined
02:08:11  * wavdedjoined
02:13:41  * wavdedquit (Quit: Nighty night)
02:16:36  * sinclair|workquit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310])
02:18:55  * rmgjoined
02:19:32  * wavdedjoined
02:20:44  * Ralithjoined
02:21:53  * sinclair|workjoined
02:30:41  * mikealquit (Quit: Leaving.)
02:32:35  * rmgquit (Ping timeout: 260 seconds)
02:33:29  * mikealjoined
02:36:31  * dap_quit (Quit: Leaving.)
02:39:12  * mikealquit (Quit: Leaving.)
02:47:08  * mikolalysenkojoined
02:52:49  * mikolalysenkoquit (Ping timeout: 272 seconds)
03:06:22  * mikolalysenkojoined
03:08:12  * brsonquit (Ping timeout: 276 seconds)
03:09:00  * brsonjoined
03:11:49  * mikolalysenkoquit (Ping timeout: 272 seconds)
03:18:33  * c4milojoined
03:21:07  * mikolalysenkojoined
03:23:59  * kazuponquit (Remote host closed the connection)
03:27:17  * kazuponjoined
03:31:26  * kazuponquit (Remote host closed the connection)
03:35:22  * daviddiasjoined
03:40:42  * daviddiasquit (Ping timeout: 276 seconds)
03:57:11  * c4miloquit (Remote host closed the connection)
04:01:42  * thlorenzquit (Remote host closed the connection)
04:02:10  * kazuponjoined
04:03:11  * brsonquit (Ping timeout: 252 seconds)
04:07:30  * kazuponquit (Ping timeout: 245 seconds)
04:35:28  * daviddiasjoined
04:40:30  * daviddiasquit (Ping timeout: 276 seconds)
04:41:21  * kazuponjoined
05:00:45  * __rockbot__joined
05:05:57  * wavdedquit (Quit: Hasta la pasta)
05:10:59  * c4milojoined
05:15:28  * c4miloquit (Ping timeout: 246 seconds)
05:22:43  * stagasquit (Read error: Connection reset by peer)
05:25:24  * roxluquit (Ping timeout: 252 seconds)
05:33:06  * __rockbot__quit (Quit: __rockbot__)
05:33:23  * __rockbot__joined
05:46:39  * paulfryzelquit (Remote host closed the connection)
06:04:41  * __rockbot__quit (Quit: __rockbot__)
06:17:54  * paulfryzeljoined
06:23:42  * paulfryzelquit (Ping timeout: 252 seconds)
06:24:32  * daviddiasjoined
06:27:32  * bajtosjoined
06:29:11  * daviddiasquit (Ping timeout: 260 seconds)
06:29:58  * bajtosquit (Client Quit)
06:35:42  <MI6>nodejs-v0.10-windows: #438 UNSTABLE windows-ia32 (8/609) windows-x64 (8/609) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/438/
06:41:00  * mikealjoined
06:59:27  * c4milojoined
07:03:52  * c4miloquit (Ping timeout: 245 seconds)
07:05:04  * bajtosjoined
07:18:14  * felixgequit (Quit: felixge)
07:19:07  * daviddiasjoined
07:19:46  * paulfryzeljoined
07:20:27  * m76joined
07:23:47  * daviddiasquit (Ping timeout: 272 seconds)
07:24:12  * paulfryzelquit (Ping timeout: 252 seconds)
07:24:35  * daviddiasjoined
07:24:36  * AvianFluquit (Remote host closed the connection)
07:25:08  * dogonthesunjoined
07:29:09  * daviddiasquit (Ping timeout: 248 seconds)
07:31:58  * calvinfojoined
07:45:25  * mikolalysenkoquit (Ping timeout: 272 seconds)
07:55:08  * AvianFlujoined
08:02:49  * AlexisMochaquit (Read error: Connection reset by peer)
08:03:48  * AvianFluquit (Ping timeout: 252 seconds)
08:10:37  * mikolalysenkojoined
08:15:54  * mikolalysenkoquit (Ping timeout: 252 seconds)
08:20:30  * paulfryzeljoined
08:25:15  * paulfryzelquit (Ping timeout: 252 seconds)
08:32:59  * indexzeroquit (Quit: indexzero)
08:33:18  * rendarjoined
08:48:00  * c4milojoined
08:51:23  * bajtosquit (Quit: bajtos)
08:52:37  * c4miloquit (Ping timeout: 245 seconds)
08:53:46  * dogonthesunquit (Quit: Computer has gone to sleep.)
08:53:58  * bajtosjoined
08:55:26  * indexzerojoined
08:56:26  * hzjoined
08:59:34  * calvinfoquit (Quit: Leaving.)
09:00:53  * calvinfojoined
09:11:27  * mikolalysenkojoined
09:13:03  * daviddiasjoined
09:16:24  * mikolalysenkoquit (Ping timeout: 252 seconds)
09:16:33  * calvinfoquit (Quit: Leaving.)
09:17:39  * daviddiasquit (Ping timeout: 260 seconds)
09:17:41  * dogonthesunjoined
09:21:16  * paulfryzeljoined
09:25:45  * paulfryzelquit (Ping timeout: 252 seconds)
09:30:13  * bajtosquit (Quit: bajtos)
09:37:13  * AlecTaylorjoined
09:37:14  <AlecTaylor>hi
09:40:05  * karupanerurachanged nick to zz_karupanerura
09:51:55  * kazuponquit (Remote host closed the connection)
09:57:08  * zz_karupanerurachanged nick to karupanerura
10:01:11  * karupanerurachanged nick to zz_karupanerura
10:05:12  * hzquit
10:11:55  * hzjoined
10:12:17  * mikolalysenkojoined
10:17:35  * mikolalysenkoquit (Ping timeout: 265 seconds)
10:22:02  * paulfryzeljoined
10:22:52  * daviddiasjoined
10:22:55  * daviddiasquit (Remote host closed the connection)
10:23:10  * daviddiasjoined
10:24:30  * AlecTaylorquit (Ping timeout: 252 seconds)
10:26:48  * paulfryzelquit (Ping timeout: 252 seconds)
10:36:21  * c4milojoined
10:41:11  * c4miloquit (Ping timeout: 260 seconds)
10:45:47  * dogonthesunquit (Quit: Lingo - http://www.lingoirc.com)
10:47:24  <MI6>nodejs-v0.10: #1717 UNSTABLE osx-x64 (3/609) linux-ia32 (4/609) smartos-x64 (8/609) smartos-ia32 (8/609) linux-x64 (5/609) osx-ia32 (3/609) http://jenkins.nodejs.org/job/nodejs-v0.10/1717/
10:54:43  * bajtosjoined
11:12:54  * mikolalysenkojoined
11:13:43  * daviddiasquit (Remote host closed the connection)
11:14:18  * daviddiasjoined
11:17:57  * mikolalysenkoquit (Ping timeout: 248 seconds)
11:18:25  * daviddiasquit (Ping timeout: 246 seconds)
11:22:44  * paulfryzeljoined
11:25:10  * dogonthesunjoined
11:27:18  * paulfryzelquit (Ping timeout: 252 seconds)
11:34:45  * rmgjoined
11:38:52  * rmgquit (Ping timeout: 245 seconds)
12:13:45  * mikolalysenkojoined
12:20:00  * mikolalysenkoquit (Ping timeout: 245 seconds)
12:23:35  * paulfryzeljoined
12:28:21  * paulfryzelquit (Ping timeout: 252 seconds)
12:49:48  * roxlu_joined
12:53:51  * hzquit (Ping timeout: 272 seconds)
12:54:42  * hzjoined
13:00:51  * janjongboomjoined
13:01:52  * c4milojoined
13:04:39  * dogonthesunquit (Quit: Computer has gone to sleep.)
13:05:15  * dogonthesunjoined
13:05:24  * dogonthesunquit (Read error: Connection reset by peer)
13:06:03  * dogonthesunjoined
13:08:10  * thlorenzjoined
13:10:31  * dogonthesunquit (Ping timeout: 260 seconds)
13:11:09  * indexzeroquit (Quit: indexzero)
13:16:20  * mikolalysenkojoined
13:21:18  * mikolalysenkoquit (Ping timeout: 252 seconds)
13:24:22  * paulfryzeljoined
13:28:45  * paulfryzelquit (Ping timeout: 245 seconds)
13:39:07  * [m76]joined
13:41:30  * m76quit (Ping timeout: 252 seconds)
13:44:57  * [m76]quit (Read error: Connection reset by peer)
13:50:29  * c4miloquit (Read error: Connection reset by peer)
13:50:41  * AvianFlujoined
13:51:21  * c4milojoined
13:52:15  * hzquit
13:59:41  * hzjoined
14:07:42  * thlorenzquit (Remote host closed the connection)
14:08:14  * thlorenzjoined
14:09:53  * thlorenzquit (Remote host closed the connection)
14:10:34  * thlorenzjoined
14:17:05  * sinclair|workquit (Remote host closed the connection)
14:17:13  * mikolalysenkojoined
14:18:34  * daviddiasjoined
14:19:45  * Chip__Zerochanged nick to Chip_Zero
14:20:04  * Chip_Zeroquit (Changing host)
14:20:04  * Chip_Zerojoined
14:22:09  * mikolalysenkoquit (Ping timeout: 265 seconds)
14:22:55  * daviddiasquit (Ping timeout: 245 seconds)
14:23:45  * thlorenzquit (Ping timeout: 245 seconds)
14:25:04  * paulfryzeljoined
14:29:53  * sinclair|workjoined
14:29:54  * paulfryzelquit (Ping timeout: 252 seconds)
14:36:54  * rmgjoined
14:38:00  * daviddiasjoined
14:41:31  * rmgquit (Ping timeout: 260 seconds)
14:42:55  * janjongboomquit (Ping timeout: 245 seconds)
14:43:28  * dogonthesunjoined
14:44:24  * janjongboomjoined
14:45:45  * dogonthesunquit (Client Quit)
14:55:25  * thlorenzjoined
14:58:37  * hueniversequit (Ping timeout: 272 seconds)
15:11:55  * AvianFluquit (Remote host closed the connection)
15:13:15  * mikolalysenkojoined
15:17:33  <MI6>nodejs-master: #851 FAILURE osx-x64 (1/697) smartos-ia32 (8/697) smartos-x64 (7/697) http://jenkins.nodejs.org/job/nodejs-master/851/
15:23:02  * hueniversejoined
15:24:34  * pachetjoined
15:25:50  * paulfryzeljoined
15:27:39  * vptrjoined
15:27:47  * vptrquit (Changing host)
15:27:47  * vptrjoined
15:30:24  * paulfryzelquit (Ping timeout: 252 seconds)
15:42:55  * janjongboomquit (Ping timeout: 245 seconds)
15:43:58  * janjongboomjoined
15:52:29  * pachetquit (Quit: leaving)
15:52:58  * pachetjoined
15:53:05  * dogonthesunjoined
15:55:31  * jmar777joined
15:59:55  * c4miloquit (Remote host closed the connection)
16:02:22  * dogonthesunquit (Quit: Computer has gone to sleep.)
16:04:12  * bajtosquit (Quit: bajtos)
16:05:03  * dogonthesunjoined
16:05:21  * dogonthesunquit (Client Quit)
16:05:41  * paulfryzeljoined
16:06:25  * AvianFlujoined
16:31:57  * dogonthesunjoined
16:46:06  * pachet_joined
16:48:26  * jmar777quit (Remote host closed the connection)
16:49:23  * pachetquit (Ping timeout: 260 seconds)
16:53:14  * m76joined
16:55:55  * mikealquit (Quit: Leaving.)
16:57:18  * c4milojoined
16:58:12  * jmar777joined
16:59:21  * brsonjoined
17:00:50  * dogonthesunquit (Quit: Computer has gone to sleep.)
17:02:02  * c4miloquit (Ping timeout: 272 seconds)
17:03:54  <MI6>joyent/node: isaacs v0.10 * e7f7e2a : blog: TJ is the new node core project lead - http://git.io/35muzQ
17:03:57  <isaacs>tjfontaine: ^
17:04:07  <isaacs>tjfontaine: it's official :)
17:05:38  <brycebaril>tjfontaine/isaacs congrats!
17:06:13  * cjb`joined
17:06:21  * cjb`changed nick to cjb
17:13:43  <MI6>nodejs-v0.10-windows: #439 UNSTABLE windows-ia32 (8/609) windows-x64 (8/609) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/439/
17:13:53  <MI6>nodejs-v0.10: #1718 UNSTABLE osx-x64 (8/609) linux-ia32 (4/609) smartos-x64 (8/609) smartos-ia32 (8/609) linux-x64 (5/609) osx-ia32 (7/609) http://jenkins.nodejs.org/job/nodejs-v0.10/1718/
17:15:26  * octetcloudjoined
17:20:49  <defunctzombie>tjfontaine: congrats!
17:22:43  * dap_joined
17:28:08  <sinclair|work>tjfontaine: well done mate :)
17:31:25  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:34:43  * c4milojoined
17:39:45  * mikealjoined
17:44:47  * rmgjoined
17:54:29  * jmar777quit (Remote host closed the connection)
17:54:37  <MI6>libuv-master: #432 FAILURE http://jenkins.nodejs.org/job/libuv-master/432/
17:55:31  * jmar777joined
17:56:56  * calvinfojoined
18:06:01  * calvinfoquit (Quit: Leaving.)
18:06:51  * calvinfojoined
18:09:48  * AvianFluquit (Remote host closed the connection)
18:11:03  * calvinfoquit (Client Quit)
18:11:18  * mikealquit (Quit: Leaving.)
18:11:50  * calvinfojoined
18:12:34  * mikealjoined
18:15:25  * TooTallNatejoined
18:16:11  * calvinfoquit (Ping timeout: 252 seconds)
18:23:03  * thlorenzquit (Remote host closed the connection)
18:23:53  * thlorenzjoined
18:26:49  * jan____joined
18:27:04  * cjbquit (Read error: Connection reset by peer)
18:28:23  <jan____>Heya, I have a case of node-http-proxy possibly eating sockets and eventually running out of avialable ones (after stacking up ~220 ESTABLISHED ones). How would I go about debugging this (Linux/Gentoo/OpenVZ)? :)
18:44:42  * mikealquit (Quit: Leaving.)
18:45:43  * TooTallNatequit (Quit: Computer has gone to sleep.)
18:47:03  <jan____>(mikeal sent me here :)
18:47:40  <tjfontaine>jan____: what state does netstat report them to be in?
18:47:51  <tjfontaine>sinclair|work, defunctzombie, brycebaril: thanks
18:48:03  <jan____>tjfontaine: ESTABLISHED
18:49:00  <tjfontaine>jan____: that's problematic, it is possible that requests aren't properly ending, are the end points only between the remote connections and the proxy? or also on the other end of the proxy? i.e. proxy to end point
18:49:01  * rmgquit (Remote host closed the connection)
18:49:12  <mmalecki>jan____: did you try tw_recycle?
18:49:12  <trevnorris>morning all
18:49:22  <mmalecki>tjfontaine: congrats :) !
18:49:29  <tjfontaine>mmalecki: heh, thanks
18:49:31  <tjfontaine>trevnorris: morning
18:49:36  <jan____>mmalecki: net.core.somaxconn or net.ipv4.tcp_tw_re{use,cycle} all make no difference.
18:49:37  <tjfontaine>trevnorris: we're still on for tomorrow?
18:49:41  <trevnorris>tjfontaine: yup
18:49:57  <tjfontaine>they're in established mode, so node-http-proxy hasn't actually ended the socket
18:49:59  <mmalecki>jan____: hmm, interesting. /me really wishes you ran that on SmartOS
18:50:01  <tjfontaine>trevnorris: excellent
18:50:08  <jan____>tjfontaine: I don’t know if they don’t properly end, it’s just that at some point new requests just hang.
18:50:24  <jan____>tjfontaine: to add to the baffeling, we can’t reproduce this on Ubuntu or Mac OS X.
18:50:36  <tjfontaine>jan____: it could be a libuv/epoll bug
18:51:03  <jan____>eugh, how do I verify this? :)
18:51:26  <tjfontaine>well I'm not going to blame it entirely just yet
18:51:33  <tjfontaine>but it's a possibility
18:52:14  <tjfontaine>jan____: what version of node? and does the gentoo build script enforce -fomit-frame-pointer?
18:52:18  <jan____>I’m happy to follow any other clues as well :)
18:52:45  <jan____>I’ve had some back and forth with mmalecki and Av1anFlu and some other folks, but no dice.
18:52:52  <jan____>0.10.21
18:53:12  <tjfontaine>is it possible for you to get on 0.10.24 64bit (compiled with -fno-omit-frame-pointer)?
18:53:28  * AvianFlujoined
18:53:59  <jan____>tjfontaine: yeah, should be doable, let me see
18:54:17  * c4miloquit (Remote host closed the connection)
18:54:59  <tjfontaine>jan____: once you're on that, with these hanging connections, we'll want to generate a core file, then we'll be able toa ctually inspect the state of the process
18:55:14  <jan____>tjfontaine: aye
18:55:57  <jan____>as for -fomit-frame-pointer: doesn’t look like it: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-libs/nodejs/nodejs-0.10.21.ebuild?revision=1.3&view=markup
18:56:05  <jan____>let me try to get 0.10.24 in there
18:56:30  * AlexisMochajoined
18:56:40  <tjfontaine>it's been a while, but gentoo traditionally has been pretty forceful on that part, but it's kinda crucial for actually getting useful stack traces, not necessarily required for visualing the heap space
18:57:15  * TooTallNatejoined
18:57:45  <jan____>tjfontaine: got it
19:04:42  * rmgjoined
19:07:23  * mikolalysenkoquit (Ping timeout: 252 seconds)
19:07:28  * c4milojoined
19:12:18  * mikolalysenkojoined
19:12:32  <jan____>tjfontaine: we are running on 0.10.24 (compiled with -fno-omit-frame-pointer).
19:13:30  <tjfontaine>jan____: ok, is it already in the hanging state?
19:13:43  <jan____>not yet, it takes a few minutes
19:14:00  <jan____>kill -11 <pid> next?
19:14:01  <AvianFlu>jan____: I'm glad to see you in here getting more help, I just saw your email
19:14:17  <jan____>AvianFlu: yeah, getting desperate here
19:14:40  <tjfontaine>well, if it doesnt' turn out to be a node.js bug, it's a libuv bug, which will require more effort and potentially access to try and reproduce
19:15:04  <tjfontaine>ideally we'd be looking to remove n-h-p as part of the dependency tree
19:15:50  <jan____>there are other things going on, so it might even be a red herring, but that’S what a number of things point towards
19:16:38  <jan____>doh, missed the window and monit got in between. *twiddles fingers*
19:17:04  * mikealjoined
19:23:26  * rmgquit (Remote host closed the connection)
19:23:40  * rmgjoined
19:38:48  * Ralithquit (Ping timeout: 276 seconds)
19:45:02  <othiym23>tjfontaine: didn't say this already, but congrats, thumbs up, etc
19:45:11  <othiym23>and good luck, isaacs
19:45:33  <tjfontaine>othiym23: thanks, in general I'd like it to not be a big issue :)
19:46:09  * jmar777_joined
19:47:11  <othiym23>I know!
19:48:45  * jmar777quit (Ping timeout: 245 seconds)
19:53:50  <trevnorris>tjfontaine: have a thought on https://github.com/joyent/node/pull/6832 ?
19:54:04  <trevnorris>othiym23: you might want to weigh in on this too ^
19:54:42  <othiym23>will take a look
19:56:07  <othiym23>trevnorris: left a comment
19:56:39  <tjfontaine>ya, I mean, lemme do a couple cycles on it, but I think it's fine for master
19:57:12  * janjongboomjoined
19:58:30  <trevnorris>tjfontaine: ok, i don't see any adverse side effects from it, so going to go ahead and merge it.
19:58:38  <othiym23>tjfontaine: I know that theoretically it's a behavior change, but I think it's a bug in 0.10 too
19:59:19  <othiym23>the current behavior is a footgun that most people never encounter because they're not using raw .enter and .exit calls in a way that would trigger it
19:59:33  * mikolalysenkoquit (Ping timeout: 248 seconds)
19:59:35  <othiym23>but if I ran into that in practice, it would definitely surprise me
19:59:49  <tjfontaine>I don't disagree, I'm just not entirely clear on the implications
20:03:33  <tjfontaine>trevnorris: ok, are you willing to write the change for v0.10 commit and merge into master with the updated version?
20:04:06  <trevnorris>tjfontaine: i'm confused. are you talkinga bout the domain active exit whatnot?
20:04:11  <trevnorris>that pr is for master
20:04:24  * Ralithjoined
20:04:35  <trevnorris>and, imo it shouldn't go in v0.10
20:04:44  <tjfontaine>I know, but I am agreeing with othiym23, that it is an honest to god bug
20:05:03  <trevnorris>oy, ok. i'll work on that.
20:06:02  <tjfontaine>I mean, unless we have another bug that has to do with domain stack accounting
20:06:35  <trevnorris>wait. wtf. he drops the assignment to _domain_flag. well, that's no good.
20:06:51  <othiym23>does it cause test failures?
20:07:25  <tjfontaine>hey look at that, code review works :)
20:07:39  <trevnorris>othiym23: no. what it does is tell MakeCallback whether there is an active domain that needs to be worried about. if it's not updated then c++ _always_ checks for an active domain
20:07:43  <trevnorris>even if there isn't one
20:07:57  <tjfontaine>or potentially never :)
20:09:04  <trevnorris>no. see .enter() will always increase the length, .exit() decreses the length. so it's a one way thing. to always check.
20:09:16  <trevnorris>basically a performance thing I threw in.
20:09:26  <tjfontaine>I meant more broadly, if domain_flag is not properly handled
20:09:31  <trevnorris>ah, yeah.
20:09:33  <othiym23>can we make it testable?
20:10:11  <trevnorris>othiym23: not until we can test from the c++ side.
20:11:06  <trevnorris>only other way is to make _domain_flag globally accessible, which shouldn't happen.
20:15:54  <othiym23>I guess I'm just saying we shouldn't yell at rmg for dropping that if the tests didn't fail
20:15:59  <othiym23>just fix it on our end ;)
20:16:10  <tjfontaine>othiym23: sure, I'm just happy that code review caught it :)
20:16:31  <tjfontaine>it would probably have been fine considering we're going the v0.10 -> merge -> master route anyway
20:17:29  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:18:29  * txdvquit (Read error: Operation timed out)
20:20:52  <trevnorris>almost have th v0.10 ready
20:21:31  <trevnorris>tjfontaine: i'm also going to run this through the hapi tests to see if there is any change.
20:21:42  <trevnorris>hueniverse: ping
20:22:04  <trevnorris>hueniverse: nm
20:22:41  <tjfontaine>trevnorris: excellent.
20:23:06  <tjfontaine>my intention was, and had for a while, a "downstream" jenkins job that did that as well
20:23:17  <tjfontaine>such that you could see for common modules if we've introduced breakage
20:23:31  <tjfontaine>once 0.12 is released I have plans to overhaul the jobs we use
20:23:47  <trevnorris>hm... i'm still getting failure on test-tls-server-verify.js
20:23:51  <trevnorris>must be my machine.
20:24:02  <tjfontaine>for 0.10?
20:24:05  <trevnorris>yeah
20:24:10  <tjfontaine>it has to do with the openssl client its using
20:24:25  <trevnorris>has been for a while, but since I don't use v0.10 never have to worry about it.
20:24:44  <tjfontaine>it's nto failing like that on master, right?
20:24:56  <trevnorris>ok. all v0.10 and hapi passes. going to commit this to the v0.10 branch
20:25:26  <tjfontaine>if isaacs has any cycles, it would be good to try and run it by him, since domains were originally his er um domain :)
20:25:39  <jan____>tjfontaine: core file acquired (after playing cat and mouse with ulimit for a while)
20:25:54  <tjfontaine>jan____: ah, sorry `ulimit -c unlimited` as well
20:26:03  <tjfontaine>jan____: can you put it somewhere for me to curl?
20:26:35  * rmgquit (Remote host closed the connection)
20:26:37  <othiym23>tjfontaine: I agree, and isaacs would be in the best position to say whether or not it's a simple oversight that it worked that way in the first place ;)
20:27:29  * brsonquit (Quit: leaving)
20:27:34  <jan____>tjfontaine: yeah, had to go via limits.conf and learn all that syntax. link incoming
20:27:42  * brsonjoined
20:29:10  <tjfontaine>jan____: thanks
20:29:11  <tjfontaine>brb lunch
20:30:56  <MI6>joyent/node: Ryan Graham v0.10 * 7f81ca2 : domains: exit() only affects active domains - http://git.io/WRe5eA
20:32:02  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:32:07  <trevnorris>tjfontaine: ok. merged in v0.10. now just going to make sure that the merge to master won't override the _domain_flag on accident
20:33:32  <hueniverse>so... did tjfontaine ruined everything yet?
20:35:21  <trevnorris>tjfontaine: merging v0.10 doesn't recognize that _domain_flags shouldn't be removed. when's the next time v0.10 will me merged to master?
20:35:52  <jan____>tjfontaine: link sent in PM
20:36:02  <trevnorris>hueniverse: fwiw, i'm now running all changes against hapi as well. :P
20:36:58  <trevnorris>hueniverse: oh, and for master, test/integration/response.js:1655:37 is failing and dumping pages of code onto the screen. know what that's about?
20:39:22  <hueniverse>trevnorris: it's a stupid assert helper. We're looking for a file response (loaded from the test dir) and we're not getting it. So it's dumping the expected "string"
20:39:42  <trevnorris>heh. well that string is like 3000 lines in my console.
20:40:04  <MI6>nodejs-v0.10: #1719 UNSTABLE osx-x64 (8/610) linux-ia32 (2/610) smartos-x64 (8/610) smartos-ia32 (8/610) linux-x64 (4/610) osx-ia32 (6/610) http://jenkins.nodejs.org/job/nodejs-v0.10/1719/
20:40:49  <MI6>nodejs-v0.10-windows: #440 UNSTABLE windows-ia32 (8/610) windows-x64 (10/610) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/440/
20:41:00  <trevnorris>hueniverse: don't think any of the failures have to do w/ domains.
20:41:21  <hueniverse>trevnorris: probably something about streams timing changes
20:41:26  <trevnorris>hueniverse: e.g. in test/integration/auth.js it's expecting the 'server-authorization' header, but not being received.
20:41:46  <hueniverse>trevnorris: yeah, that's an issue with the order of 'end' events
20:41:50  <hueniverse>see it before
20:41:56  <trevnorris>ok cool
20:44:00  * txdvjoined
21:00:01  * defunctzombiechanged nick to defunctzombie_zz
21:06:02  * mikolalysenkojoined
21:07:02  <trevnorris>tjfontaine: wtf. thought we fixed this:
21:07:02  <trevnorris>> node -e '(function a() { setInterval(a); }())'
21:07:02  <trevnorris>> FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
21:07:26  <trevnorris>tjfontaine: that's on v0.10 and master
21:08:01  * brsonquit (Quit: leaving)
21:08:17  * brsonjoined
21:10:29  * mikolalysenkoquit (Ping timeout: 248 seconds)
21:12:56  * TooTallNatejoined
21:18:13  * mikealquit (Quit: Leaving.)
21:23:20  * jmar777joined
21:26:32  * jmar777_quit (Ping timeout: 252 seconds)
21:29:38  <trevnorris>tjfontaine: whoops. still recovering.
21:29:49  <trevnorris>tjfontaine: thought I was typing in a setImmediate. :P
21:31:07  * rainabbajoined
21:31:32  * rainabbapart
21:33:37  * jmar777quit (Remote host closed the connection)
21:36:09  * Benviejoined
21:36:36  * Benvie_quit (Ping timeout: 252 seconds)
21:37:22  * janjongboomjoined
21:37:48  * m76quit (Read error: Connection reset by peer)
21:38:11  * m76joined
21:40:12  <tjfontaine>trevnorris: :)
21:40:30  <tjfontaine>trevnorris: also not sure about the merge, you mean you're getting a conflict and can't resolve it?
21:40:39  * stagasjoined
21:40:41  <tjfontaine>jan____: thanks, I'll look into it
21:41:38  <tjfontaine>AlexisMocha, trevnorris: I've been trying to think of a more holistic approach to how we manage timers in tests, I'm think we may set some reusable features in test/common.js that could be tweaked by platform and build configuration
21:42:10  <tjfontaine>also I know not many people care about the test subsystem, but does anyone have thoughts on http://github.com/joyent/node/compare/move-debugger-tests
21:42:17  <trevnorris>tjfontaine: no, I can resolve it. I'm just afraid that whoever does the merge will forge to move _domain_flags to the bottom of the statement.
21:42:36  <tjfontaine>trevnorris: right, that's why I was asking you to do it :)
21:42:44  <tjfontaine>trevnorris: if you have cycles for it
21:42:57  <jan____>tjfontaine: thank you!
21:43:29  <mmalecki>tjfontaine: let me know if I can help you. also interested in this one.
21:43:37  <tjfontaine>mmalecki: will do
21:43:44  <trevnorris>tjfontaine: meaning, you want me to merge v0.10 now, or just port that one patch?
21:43:52  <trevnorris>i can do either. no big deal
21:44:14  <tjfontaine>trevnorris: merge please and thank you
21:44:20  <trevnorris>done
21:48:11  <MI6>libuv-v0.10-windows: #7 FAILURE http://jenkins.nodejs.org/job/libuv-v0.10-windows/7/
21:48:12  <MI6>libuv-master-windows: #10 FAILURE http://jenkins.nodejs.org/job/libuv-master-windows/10/
21:49:35  * TooTallNatequit (Read error: Connection reset by peer)
21:51:09  * TooTallNatejoined
21:51:47  <tjfontaine>trevnorris: I don't think timing really should be a concern for whether or not we merge pull requests
21:52:23  <tjfontaine>also the change is fine to merge
21:52:25  <trevnorris>tjfontaine: bad keyboard shortcut. the comment is already removed. :P
21:52:45  <tjfontaine>that keyboard shortcut should be removed :)
21:52:48  <trevnorris>vimium and github don't play well together.
21:53:01  <trevnorris>no, github should stop jacking w/ my keys and just let me type
21:53:07  <tjfontaine>heh
21:53:39  <trevnorris>tjfontaine: have them merged, and went smooth.
21:53:46  <tjfontaine>ok
21:53:50  <trevnorris>tjfontaine: majority of the changes are w/ windows build crap.
21:54:01  <trevnorris>and i'm not sure if they are applicable to master.
21:54:08  <trevnorris>and I don't want to just assume they are.
21:54:12  <tjfontaine>hmm you mean in tools/gyp?
21:54:12  * rmgjoined
21:54:22  * m76quit (Read error: Connection reset by peer)
21:55:06  <trevnorris>in tools/gyp/pylib/gyp/win_tool.py, tools/gyp/pylib/gyp/generator/ninja.py, tools/gyp/pylib/gyp/generator/msvs.py, etc
21:55:16  <tjfontaine>right, toos/gyp that's a gyp upgrade, there were conflicts?
21:55:21  <trevnorris>nope
21:55:22  <trevnorris>not a one
21:55:27  <trevnorris>ok, then i'll push those up
21:55:29  <tjfontaine>ok, that's good, then git is working as expecte
21:55:29  <tjfontaine>d
21:55:42  <MI6>joyent/node: Trevor Norris master * 24856f0 : Merge remote-tracking branch 'origin/v0.10' (+4 more commits) - http://git.io/X9-ikg
21:56:01  <tjfontaine>depends on the dependency, but generally we avoid merging things from deps/*
21:56:06  <tjfontaine>but mostly for libuv and v8
21:56:20  * rmgquit (Remote host closed the connection)
21:56:28  <trevnorris>tjfontaine: oh, and what is this? https://github.com/joyent/node/blob/24856f04b23eca659ae05e79795b3e9570f9bd52/doc/blog/Uncategorized/tj-fontaine-new-node-lead.md
21:56:32  <mmalecki>jan____: do you have any idea what the state sockets which hang end up in btw?
21:56:36  <tjfontaine>in those cases you: git reset -- deps/uv deps/v8 && git checkout -- deps/uv/** deps/v8/**
21:56:37  <trevnorris>ah, wait. nm
21:56:43  <mmalecki>jan____: (random guesses at this point)
21:56:55  * rmgjoined
21:56:57  <tjfontaine>jan____: blah symbols were stripped from that build it seems, lemme double check something
21:57:00  <mmalecki>tjfontaine: congrats btw!
21:57:09  <tjfontaine>mmalecki: heh, thanks
21:58:54  <AvianFlu>tjfontaine: yeah, congrats
21:59:06  <AvianFlu>you too isaacs, it sounds like you're gonna have fun with that
22:03:22  <tjfontaine>jan____: sorry I forgot a piece of my own tooling, can you also provide me the node binary you're using as well
22:03:57  <jan____>tjfontaine: one sec
22:04:02  <jan____>mmalecki: ESTABLISHED
22:04:04  <rmg>damn, looks like I was out to lunch during the discussion of my PR
22:04:52  <othiym23>I'll say!
22:04:54  <othiym23>oh er uh
22:05:01  <rmg>looks like I missed the _domain_flag line when I rebased on master from v0.10... sorry about that
22:05:53  <tjfontaine>jan____: thanks, much better interaction now
22:07:23  <tjfontaine>jan____: how many connections would have been held open at this standpoint
22:07:26  <mmalecki>jan____: hmm, that does make it somewhat more interesting
22:07:53  <jan____>tjfontaine: netstat says ~220
22:07:56  <tjfontaine>ya, if it's not a node bug, it's going to be the fact that we've stopped getting events on these sockets
22:07:59  <tjfontaine>jan____: thanks
22:08:05  <jan____>I don’t have the exact number
22:08:23  <tjfontaine>looks to be around 245
22:08:37  <tjfontaine>hmm actually
22:08:44  <tjfontaine> 230752d3cf9 217 1 TCP: <Map>
22:08:45  <jan____>but it consistently hangs after reaching 220, sometimes going up to 280 within the minute that it takes monit to restart it
22:08:51  <jan____>that sounds entirely plausible
22:09:19  <jan____>justas plausbile from observation
22:09:22  <jan____>*just as
22:10:04  <tjfontaine>there are 245 writes queued
22:10:13  <tjfontaine>how does monit make its determination to kill?
22:10:38  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:10:55  <tjfontaine>243 parsers
22:11:37  * mikealjoined
22:12:30  <jan____>tjfontaine: we have an HTTP API endpoint that the live app hits. we ask monit to do just do the request and if it fails, run a stop/start script
22:12:50  <jan____>if failed URL https://domain.com/_api then restart
22:14:20  <jan____>the whole setup is this: clients using http hit nginx and get bumped to https. client using https get proxied by nginx to /_api over HTTP (no S).
22:14:56  <mmalecki>jan____: is the node server https or http?
22:15:11  <tjfontaine>looks http
22:15:26  <tjfontaine>but it certainly could be a tls stall
22:15:29  <jan____>node server is just http. nginx does the https termination
22:15:37  <tjfontaine>right
22:15:46  <mmalecki>jan____: maxAgents?
22:16:07  <jan____>mmalecki: what program? nginx? :)
22:16:27  <mmalecki>jan____: I mean http.globalAgent.maxSockets
22:16:31  <mmalecki>Don't Drink and Debug
22:16:36  <jan____>or is that the internal node thingie
22:16:40  <jan____>mmalecki: whatever is default
22:16:44  <mmalecki>oh!
22:16:51  * jan____is not drinking (yet)
22:16:54  <mmalecki>isn't that around 100 on node 0.8?
22:17:07  <mmalecki>or no, we bump that in http-proxy iirc
22:17:18  * paulfryzelquit (Remote host closed the connection)
22:17:19  <mmalecki>actually... what version of http-proxy are you runnnig?
22:17:26  <MI6>nodejs-master: #852 FAILURE linux-x64 (5/698) osx-x64 (1/698) osx-ia32 (1/698) smartos-x64 (7/698) http://jenkins.nodejs.org/job/nodejs-master/852/
22:17:33  <MI6>nodejs-master-windows: #642 UNSTABLE windows-x64 (21/698) windows-ia32 (16/698) http://jenkins.nodejs.org/job/nodejs-master-windows/642/
22:17:56  <jan____>mmalecki: 0.10.3
22:17:58  <mmalecki>jan____: I am! just learned about Tschunk
22:18:00  <tjfontaine>mmalecki: https://gist.github.com/tjfontaine/633442d908ceac7e4ed9
22:18:06  <mmalecki>or whatever that's called. rum + club mate
22:18:11  <jan____>mmalecki: deadly
22:18:41  <jan____>the question would be why we run out of Agents. trafic is *very* low, tens of reqs / minute
22:18:49  <tjfontaine>that doesn't appear to be the issue
22:18:54  <tjfontaine>at least not to me yet
22:19:01  <mmalecki>so the connection might just not be closed after we're done?
22:19:03  <jan____>and over variable time, with lower traffic it takes up to 20 or 30 minutes until we run out
22:19:58  <tjfontaine>mmalecki: that seems like what it appears, there's also a question of verifying if outstanding requests themselves were satisfied
22:19:59  <mmalecki>but yeah, I'm really confused why it happens at such a low number of sockets
22:20:30  <mmalecki>tjfontaine: right, but this'd mean that it runs out of ephemeral ports at ~200 sockets, no?
22:20:48  <tjfontaine>mmalecki: why would these sockets stay ESTABLISHED?
22:20:57  <tjfontaine>jan____: it's still doing SYN/ACK at this point?
22:21:33  <mmalecki>tjfontaine: yeah, it just seems to stay in ESTABILISHED. it's really counter-intuitive to me
22:21:37  <jan____>tjfontaine: not too firm on that level of networking. curl or browsers will definitely connect and hang
22:21:52  <jan____>tjfontaine: both via nginx or if I do it from localhost
22:22:08  <jan____>nginx also doesn’t report bad gateway until the node process is restarted
22:22:10  <mmalecki>tcpdump could be helpful
22:22:14  <jan____>some SOME networking is going on.
22:22:32  <tjfontaine>in this state, start running strace on it and connect
22:23:08  <mmalecki>^ +1. but also if the socket is in ESTABILISHED and still hanging...
22:23:26  <jan____>tjfontaine: will try, give me a few
22:24:09  <mmalecki>this'd point to outgoing reqs
22:25:11  <tjfontaine>I'd like to verify that the internal end point was hit, and serviced successfully and we ceased to handle events on the remote end point
22:25:32  * brsonquit (Ping timeout: 245 seconds)
22:27:31  <jan____>It’s gonna be 5-10 minutes until we get to the state again
22:27:56  <tjfontaine>mmalecki: so server.on('request') decorates with a .client to indicate the remote side that's going to the internal end point?
22:27:56  <mmalecki>jan____: I'm jealous of just having to wait 5-10 minutes to repro stuff like that.
22:28:58  <jan____>mmalecki: it is not *that* big a deal since it’s a hoodie app, so being offline is expected, but it still causes some trouble
22:29:09  <mmalecki>tjfontaine: that's a question about http-proxy?
22:29:21  <jan____>but yeah, this is better than the once a quarter bug
22:29:32  <tjfontaine>mmalecki: yes
22:29:43  <tjfontaine>mmalecki: presuming you have context around that part without me pulling up source
22:31:06  <mmalecki>tjfontaine: hmm... that decoration would be on which object?
22:31:45  <mmalecki>tjfontaine: jan____ was right, tschunk is deadly
22:32:24  <tjfontaine>heh
22:32:38  * brsonjoined
22:32:57  <tjfontaine>mmalecki: I basically want to associate the data I have here for n-h-p requests and see if things were satisified
22:34:01  <mmalecki>tjfontaine: ah. I don't really think it does anything on the request object...
22:35:02  <mmalecki>jan____: you're using simple http-proxy or the routing table?
22:35:03  <tjfontaine>blah, we should really decrease _bytesDispatched
22:35:31  <jan____>mmalecki: RoutingProxy
22:35:54  <jan____>https://github.com/hoodiehq/hoodie-server/blob/master/lib/couch.js#L213
22:36:09  <jan____>dispatching happens in https://github.com/hoodiehq/hoodie-server/blob/master/lib/middleware/api.js
22:37:33  <mmalecki>hmm, curious, why RoutingProxy?
22:37:38  <mmalecki>do you utilize the routing table?
22:39:11  <jan____>mmalecki: dunno, I didn’t write this last iteration. I know we used it in earlier versions, maybe this is just a leftover
22:39:45  <mmalecki>it *looks* like you could just go with the regular proxy... it shouldn't matter for this bug tho
22:40:10  <jan____>mmalecki: yeah, I’ll make a note
22:41:40  <tjfontaine>mmalecki: who is the best to talk about the n-h-p code?
22:42:27  <mmalecki>tjfontaine: not sure at this point. yawnt rewrote it, but that's a newer version
22:42:49  <jan____>new eta on stuck state: ~10 minutes
22:42:57  <mmalecki>(next revision, not the one jan____ is using)
22:43:11  <mmalecki>tjfontaine: probably me?
22:43:26  <jan____>(right, got word that the new one isn’t quite rady yet, so we are waiting)
22:44:11  <tjfontaine>mmalecki: so talk to me about the path here :)
22:44:58  <tjfontaine>*here
22:45:17  <tjfontaine>the ServerResponses seem to be valid coming back from couch
22:45:27  <mmalecki>tjfontaine: feed me some more info
22:45:51  <mmalecki>tjfontaine: and ask one question to get me started
22:46:03  <mmalecki>drinking tschunk was a bad idea
22:46:18  <tjfontaine>I guess I want to verify the first quuestion, which is what can I be tracking to make sure the proxy request was satisfied
22:46:26  <AvianFlu>mmalecki: that's how it goes for drinks named after the sound of your head hitting the table after you drink it
22:46:32  <tjfontaine>also, it should use readable-stream and then .pipe :)
22:46:43  <tjfontaine>if that were possible in this model
22:46:44  <mmalecki>tjfontaine: newer version does
22:46:49  <tjfontaine>excellent.
22:46:58  <mmalecki>tjfontaine: the concern for the previous version was that .write used to throw
22:47:42  <tjfontaine>[that seems wrong]
22:48:10  <mmalecki>tjfontaine: by "used to" I mean like really ancient versions
22:48:14  <tjfontaine>{k
22:48:30  <mmalecki>tjfontaine: okay, so you want to find a incoming req -> outgoing res connection?
22:48:38  <tjfontaine>I basically just want to find a way to correlate a request coming into n-h-p to a request going out to couch
22:48:41  <tjfontaine>right
22:50:16  <mmalecki>tjfontaine: you can't intercept events in any way, can you?
22:50:31  <tjfontaine>mmalecki: well, I have a core file at the moment :)
22:50:51  <tjfontaine>which is why I was hoping there was something you're attaching to a request or response somewhere to tie them together
22:50:58  <tjfontaine>but it seems at a glance it's just closures
22:51:07  <mmalecki>tjfontaine: yeah, there's no way to do it like that
22:51:35  <tjfontaine>I will have to find the request into the proxy, find its response object and see how many bytes have been written out (if any)
22:51:44  <mmalecki>but it's an easy patch
22:51:55  <mmalecki>and totally okay to run in prod for short periods of time
22:52:28  <mmalecki>actually, it shouldn't even leak, I don't think so...
22:52:33  * rendarquit (Quit: Leaving)
22:52:44  <mmalecki>you can insert req.reverse = reverseProxy here: https://github.com/nodejitsu/node-http-proxy/blob/master/lib/node-http-proxy/http-proxy.js#L376
22:52:58  <mmalecki>reverseProxy is the outgoing req
22:56:29  <jan____>tjfontaine: pasted in private as it might leak user info, couldn’t check for sure in the hurry
22:56:38  <jan____>mmalecki: let me know if you also want to see the strace
22:56:40  * AvianFluquit (Ping timeout: 246 seconds)
22:56:42  <mmalecki>jan____: please
23:00:19  * julianduquechanged nick to Nodejitsu
23:00:22  <jan____>tjfontaine: looks like there are some production requests interspersed with that, it wasn’t easy to pin point for me when my requests came in
23:00:28  * vptrquit (Quit: WeeChat 0.4.1)
23:00:28  * Nodejitsuchanged nick to julianduque
23:01:17  <tjfontaine>ya, it's kinda difficult [man I wish it was smartos] :P
23:01:30  <mmalecki>this kinda confuses me:
23:01:31  <mmalecki>accept4(10, 0, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK) = 237
23:01:31  <mmalecki>accept4(10, 0, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
23:01:42  <mmalecki>why do we call that twice on the same socket?
23:01:57  <tjfontaine>mmalecki: we're just looping I think until we get EAGAIN
23:01:57  <mmalecki>but yeah, this request actually gets read
23:02:53  * julianduquequit (Quit: leaving)
23:03:01  * julianduquejoined
23:03:20  <jan____>tjfontaine: I hear ya on the SmartOS, but I guess economics are against us here :) The app would likely not be live yet if we had to find and run a smartos machine
23:04:06  <tjfontaine>jan____: maybe, nodejitsu does exist :)
23:04:28  <mmalecki>no access to dtrace there tho
23:04:33  <jan____>tjfontaine: not an option for us I’m afraid :)
23:04:43  <jan____>we are using it for plenty of other things tho
23:04:55  <tjfontaine>mmalecki: not for him ;)
23:04:58  * pachet_quit (Quit: leaving)
23:06:07  <jan____>:D
23:06:27  <mmalecki>yeah, I'm pretty sure someone from Nodejitsu would be happy to debug a node-http-proxy issue with DTrace
23:06:38  <tjfontaine>ok so
23:06:47  <tjfontaine>mmalecki: or joyent for that matter
23:06:51  <tjfontaine>ok so
23:06:55  <tjfontaine>if you take 237 as an example
23:07:28  <mmalecki>line 237?
23:07:33  <tjfontaine>no no, fd 237
23:07:37  <tjfontaine>your accept you pointed out
23:07:37  <mmalecki>ah
23:07:44  <tjfontaine>which is something hitting _api
23:07:51  <tjfontaine>there are no write()s
23:09:00  <mmalecki>237 is reused in the third chunk I think, watch out
23:09:20  <tjfontaine>well ok 238 then same thing, 238 which has 239 which does a connect
23:09:32  <tjfontaine>239 is the couch connection
23:09:44  <mmalecki>right, that's easier to track
23:09:46  <tjfontaine>which is read to completion, and then close()d
23:10:04  <tjfontaine>but 238 never sees a write()
23:10:48  <tjfontaine>man fd shouldn't be behind a getter
23:10:52  <tjfontaine>but whatever
23:11:24  * chrisdickinson_joined
23:11:24  <tjfontaine>so, mmalecki in general n-h-p does streaming reads/writes it doesn't buffer, right?
23:11:43  <mmalecki>tjfontaine: not by default, no
23:12:05  <mmalecki>I gotta go jump on a bus, otherwise I'm going to be stuck here for one more hour. be back from tethering
23:12:16  <mmalecki>well, they *do* have booze here
23:12:24  * rmgquit (Remote host closed the connection)
23:12:24  <tjfontaine>jan____: so what might be interesting here, is a standalone node client (no n-h-p involved) that does a rudimentary proxy
23:13:28  <jan____>tjfontaine: hmm, could try, would I write one, or are there some lying around? :)
23:13:40  <tjfontaine>jan____: http.createServer(function(req, res) { http.get('_api').on('response', function(res2) { res2.pipe(res); }) }).listen(9999) and then see if you can blow by the 200 client limitation
23:14:27  * rmgjoined
23:15:34  <jan____>tjfontaine: ok, I can try to splice that in, but I am running out of Wednesday here (Berlin), so I’ll bump that to tomorrow instead of getting into more trouble, I hope that’s okay!
23:15:43  <jan____>tjfontaine: I super appreciate your help here! <3
23:16:50  <tjfontaine>then, something like: var connected 0; function connect() { if (connected > 300) return; connected++; http.get('http://127.0.0.1:9999/_api', function(res) { res.pipe(process.stdout); res.on('end', connect); }) } for (var i = 0; i < 500; i++) connect();
23:17:08  * chrisdickinsonquit (Ping timeout: 245 seconds)
23:17:08  * ircretaryquit (Ping timeout: 245 seconds)
23:17:08  * ircretaryjoined
23:17:13  * hzquit
23:17:54  <jan____>tjfontaine: aye, noted for tomorrow, thanks! :)
23:18:28  <tjfontaine>jan____: no problem, you see what I'm trying to get to though?
23:18:57  <tjfontaine>lets get n-h-p out of the mix and see if it's just a node/uv bug
23:19:36  <jan____>tjfontaine: I totally follow, I just don’t want to take production out on lack of sleep :)
23:19:36  * hzjoined
23:19:45  <tjfontaine>amen
23:19:59  * chrisdickinson_changed nick to chrisdickinson
23:20:53  <jan____>alright, thanks, you too mmalecki (when you get back). gotta sleep :)
23:21:04  <tjfontaine>jan____: if you want to, or if mmalecki when you get back this is how you can use mdb + linux 64bit node and core dumps https://gist.github.com/tjfontaine/de104fe058300a51f7cf in manta
23:21:40  <jan____>noted
23:22:31  * Benviequit (Ping timeout: 265 seconds)
23:25:05  <indutny>hey people
23:25:14  <tjfontaine>hey fedor
23:25:54  <mmalecki>I'm back. wow, Dutch people are nice
23:26:21  <mmalecki>but apparently your usual public transport card doesn't work in night buses
23:26:28  <tjfontaine>oops
23:26:46  <mmalecki>the driver let me in for free tho. really nice of him
23:26:55  <tjfontaine>indeed
23:28:02  * rmgquit (Remote host closed the connection)
23:30:56  * thlorenzquit (Remote host closed the connection)
23:31:38  <mmalecki>jan____: word from Nodejitsu people is that caronte should be stable enough for you
23:36:11  <tjfontaine>my gut, based on that strace, is that we have a uv/epoll issue
23:36:15  * daviddiasquit (Ping timeout: 245 seconds)
23:36:15  * calvinfojoined
23:36:18  * calvinfopart