00:00:15  <piscisaureus__>DrPizza: node -e "require('fs').writeSync(7,'hi')" 7>&1 // Doesn't work
00:00:20  <DrPizza>hmmm
00:00:23  <DrPizza>that's strange
00:00:37  <benvie>http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true
00:00:46  <DrPizza>it might just be that CRT can pass them to ohter CRT programs
00:00:52  <DrPizza>which I guess would make sense
00:00:56  <piscisaureus__>DrPizza: yes
00:01:06  <piscisaureus__>DrPizza: stdin/out/err are win32 concepts
00:01:08  <DrPizza>I guess 0, 1, 2, are in the standard handles struct
00:01:09  <DrPizza>yeah
00:01:23  <piscisaureus__>DrPizza: fd's > 2 are passed via lpReserved2 in CreateProcess
00:01:32  <DrPizza>oh that's what that secret one is for?
00:01:38  <DrPizza>that's the one that's for CRT support, isn't it?
00:01:51  <piscisaureus__>these are just there to let the crt emulate exec() where the fds stay open
00:01:53  <piscisaureus__>yes
00:02:07  <DrPizza>but benvie's link says that CRT does plumb them in
00:02:14  <DrPizza>maybe node does not set them in lpReserved2
00:02:52  <piscisaureus__>DrPizza: we don't
00:03:10  <piscisaureus__>DrPizza: but we are not spawning anyone here - we are being spawned (by cmd)
00:03:33  <DrPizza>oh hmm
00:03:40  <DrPizza>that does seem at odds with the documentation then
00:03:58  <piscisaureus__>yes
00:04:05  <piscisaureus__>I can confirm that node 7>&1 doesn't err
00:04:14  <piscisaureus__>while node 22>&1 does err
00:04:22  <DrPizza>huh
00:04:32  <DrPizza>so it sounds like cmd is at least acknowledging that 7 is a number it understands
00:04:36  <DrPizza>and trying to plumb it in
00:04:37  <piscisaureus__>yup
00:04:49  <DrPizza>maybe node needs to examine lpReserved2 and wire it up somehow
00:05:31  <piscisaureus__>DrPizza: if you ask me, cmd.exe is just busted and nobody tested it for ages :_)
00:05:50  <DrPizza>also possible
00:05:58  <piscisaureus__>DrPizza: do you have the crt source code?
00:06:03  <piscisaureus__>You can look it up in there
00:06:18  <DrPizza>it's at home
00:06:21  <DrPizza>I'm thousands of miles away
00:08:02  <piscisaureus__>DrPizza: ok - well anyway, it does attempt to open FDs passed via lpReserved2
00:08:06  <bnoordhuis>TooTallNate: https://github.com/joyent/node/issues/2739#issuecomment-4012463
00:08:09  <DrPizza>hmm
00:08:39  <DrPizza>piscisaureus__: is it failing to open them for some reason, or is node not accessing them correctly somehow?
00:09:43  <piscisaureus__>DrPizza: I don't know
00:09:51  <piscisaureus__>DrPizza: https://gist.github.com/d1431adfd760401c8ef5 line 57
00:10:56  <DrPizza>this is horrid
00:11:02  <DrPizza>that can only work if cmd.exe knows how CRT works
00:11:06  <DrPizza>even though CRT is undocumented
00:11:12  <DrPizza>and even though it's just "reserved"
00:11:43  <isaacs>Everybody: test, please http://nodejs.org/dist/v0.6.11/node-v0.6.11-RC0.tar.gz
00:12:04  <CIA-99>node: isaacs v0.6.11-release * r4be3e4b / (8 files in 6 dirs): (log message trimmed)
00:12:04  <CIA-99>node: 2012.02.17 Version 0.6.11 (stable)
00:12:04  <CIA-99>node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)
00:12:04  <CIA-99>node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis)
00:12:04  <CIA-99>node: * windows: support unicode argv and environment variables (Bert Belder)
00:12:04  <CIA-99>node: * tls: mitigate session renegotiation attacks (Ben Noordhuis)
00:12:05  <CIA-99>node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
00:12:09  <isaacs>or from there ^
00:12:51  * bnoordhuisdownloads
00:13:19  <piscisaureus__>my internet is too slow, I will do it from the tag
00:13:32  <DrPizza>piscisaureus__: this just seems crappy
00:13:51  <piscisaureus__>vcbuild.bat x64 release test-all
00:14:12  <DrPizza>I thought the netherlands had high speed internet
00:14:20  <isaacs>testing smartos
00:14:38  <piscisaureus__>DrPizze: I thought so too. Unfortunately they have slow administrative departments and I just moved.
00:14:40  <isaacs>piscisaureus__: thanks, i'll test x86
00:14:45  <DrPizza>haha
00:15:17  <piscisaureus__>So now I am on this crappy 256kbit tethering crap
00:15:21  <DrPizza>ugh
00:15:24  <DrPizza>where are you living now?
00:15:29  <piscisaureus__>Amsterdam
00:15:41  <DrPizza>you were there before?
00:15:45  <piscisaureus__>Delft
00:15:49  <DrPizza>oh yeah
00:16:33  <TooTallNate>bnoordhuis: taking a look
00:16:46  <DrPizza>piscisaureus__: how fast will it be when you're hooked up?
00:17:08  <piscisaureus__>DrPizza: dunno, 2 weeks or so
00:17:30  <benvie>is CreateConsoleScreenBuffer not analgaous to forkPty?
00:17:33  <benvie>or I mean
00:17:35  <piscisaureus__>DrPizza: I betted on tele2 first, but even though I signed up twice(!) they never got back to me
00:17:38  <bnoordhuis>TooTallNate: `if (typeof obj === 'string') p = obj.constructor.prototype` seems like a simple fix but there's probably a lot wrong with that
00:17:40  <benvie>to achieve the end result
00:18:05  * bnoordhuishas tele2 too, never had issues
00:18:15  * bnoordhuisworked at tele2 when he got his subscription though :)
00:18:15  <piscisaureus__>DrPizza: that cost me a month. (you know, bnoordhuis used to work there. he fucked them up badly)
00:18:22  <DrPizza>lol
00:18:48  <TooTallNate>bnoordhuis: i have a patch coming, we have to check for 'typeof obj != "object"`
00:18:49  <DrPizza>benvie: hmm, insofar as it's somewhere that can be read to and written from, it may be enough
00:18:57  <bnoordhuis>TooTallNate: cool, thanks
00:19:19  <TooTallNate>bnoordhuis: should i target 0.6 branch?
00:19:23  <bnoordhuis>TooTallNate: yes please
00:19:40  <bnoordhuis>TooTallNate: would it be possible to add a test in simple/test-repl-tab-complete?
00:19:57  * travis-cijoined
00:19:57  <travis-ci>[travis-ci] joyent/node#440 (v0.6.11-release - 4be3e4b : isaacs): The build passed.
00:19:57  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/7a1a62e...4be3e4b
00:19:57  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/689928
00:19:57  * travis-cipart
00:20:24  <TooTallNate>bnoordhuis: will do
00:21:41  <piscisaureus__>benvie: CreateConsoleScreenBuffer does not do anything useful.
00:22:00  <DrPizza>isn't a consolescreenbuffer something that people can write ansi to?
00:22:07  <DrPizza>I suppose it doesn't help much if you actually want to display ansi
00:22:15  <DrPizza>since you would have to switch it back
00:22:31  <piscisaureus__>DrPizza: it is similar to "page flipping" but for the console
00:22:49  <DrPizza>hmm I see
00:22:56  <DrPizza>so useful for writing screen
00:23:02  <piscisaureus__>DrPizza: it's just what the good old edit.exe used to do. Draw a text-gui on another screen buffer, then when the program exits restore the original one
00:23:03  <DrPizza>not so much for redirecting ansi
00:23:13  <piscisaureus__>yes
00:23:20  <benvie>ah I see the issue, i thought you could use that handle and send it to a child process but I guess it still falls under the screen buffer same process restriction
00:23:50  <piscisaureus__>benvie: moreover, there is no way to "capture" what the child process is writing to it.
00:24:04  <piscisaureus__>benvie: (or you would have to access the actual character matrix - which is possible)
00:25:07  * elijah-mbpjoined
00:25:10  <benvie>there really is no way to hand off the equivelent of a pty is there
00:25:25  <DrPizza>no
00:25:28  <piscisaureus__>The only way to do something similar to a pty on windows is to create an hidden console window and poll the screen buffer at an interval
00:25:33  <piscisaureus__>(which is what console2 does)
00:25:39  <piscisaureus__>or
00:25:40  <DrPizza>yes don't do that
00:25:42  <DrPizza>it never works well
00:25:53  <bnoordhuis>character matrix... sounds very scifi-y
00:25:58  <DrPizza>the windows console model is broken and defective
00:26:02  <DrPizza>I have been bitching about it for years
00:26:09  <piscisaureus__>The other option would be to use ETH/ITH hooks and redirect all console api syscalls :-)
00:26:09  <bnoordhuis>i'm imagining fluorescent green letters moving down the screen
00:26:16  <DrPizza>but short of writing a huge I/O layer
00:26:27  <DrPizza>it is your only real option
00:26:39  * `3rdEdenquit (Quit: Zzzzz can't keep my eyes open much longer <3)
00:26:39  <piscisaureus__>yup
00:27:03  <benvie>well you just end up with like mintty/putty and pipes
00:27:11  <piscisaureus__>yes
00:27:13  <piscisaureus__>and no colors
00:27:14  <piscisaureus__>:-)
00:27:16  <benvie>well
00:27:20  <isaacs>piscisaureus__: win32 x86: [01:50|% 100|+ 325|- 12]: Done
00:27:25  <piscisaureus__>unless your program was written for unix
00:27:37  <piscisaureus__>isaacs: -14 here
00:27:43  <benvie>mintty/putty render the ansi escapes just fine
00:27:53  <piscisaureus__>isaacs: [03:23|% 100|+ 352|- 14]: Done
00:27:56  <isaacs>piscisaureus__: what's normal?
00:28:03  * isaacswants a clean test run so bad.
00:28:10  <piscisaureus__>isaacs: did you run `test` or `test-all` ?
00:28:33  <bnoordhuis>it's failing to build for me on smartos...
00:28:35  <benvie>I've had a taste of glorious xterm-256
00:29:22  <bnoordhuis>right, there's a race in the makefile... building with -j 1 works
00:29:32  <isaacs>piscisaureus__: test
00:29:36  <piscisaureus__>aha
00:29:39  <piscisaureus__>i did test-all
00:29:48  <isaacs>but the first few failures were because of timeouts since it was waiting for permission
00:29:57  <piscisaureus__>isaacs: new failures: === release test-cluster-bind-twice-v2 ===
00:29:57  <piscisaureus__>Path: simple/test-cluster-bind-twice-v2
00:29:57  <piscisaureus__>Exception in cluster master process: No such module
00:30:10  <bnoordhuis>wut?
00:30:41  <piscisaureus__>ok, now this:
00:30:42  <piscisaureus__>D:\node4>Release\node.exe test\simple\test-cluster-bind-twice-v1.js
00:30:42  <piscisaureus__>D:\node4>
00:30:42  <piscisaureus__>child_process.js:135
00:30:43  <piscisaureus__>child_process.js:135
00:30:43  <piscisaureus__> throw errnoException(errno, 'write', 'cannot write to IPC channel.');
00:30:44  <piscisaureus__> throw errnoException(errno, 'write', 'cannot write to IPC channel.');
00:30:44  <piscisaureus__> ^^
00:30:45  <piscisaureus__>Error: write EPIPE - cannot write to IPC channel.
00:30:46  <piscisaureus__> at errnoException (child_process.js:482:11)
00:30:46  <piscisaureus__> at EventEmitter.send (child_process.js:135:13)
00:30:47  <piscisaureus__> at queryMaster (cluster.js:215:11)
00:30:47  <piscisaureus__> at EventEmitter._startWorker (cluster.js:184:3)
00:30:48  <piscisaureus__> at startup (node.js:91:17)
00:30:48  <piscisaureus__> at node.js:551:3
00:30:49  <piscisaureus__>Error: write EPIPE - cannot write to IPC channel.
00:31:41  <piscisaureus__>more fun
00:31:51  <piscisaureus__>=== release test-assert ===
00:31:52  <piscisaureus__>Path: simple/test-assert
00:31:52  <piscisaureus__>Command: D:\node4\Release\node.exe D:\node4\test\simple\test-assert.js
00:31:52  <piscisaureus__>--- CRASHED ---
00:34:11  * mikealquit (Quit: Leaving.)
00:34:21  <igorzi>piscisaureus__: we do an implicit listen() when sending a socket over IPC.. so on windows it fails earlier than on unix
00:36:42  <piscisaureus__>why does unix not do that?
00:36:47  <TooTallNate>bnoordhuis: https://github.com/joyent/node/pull/2768
00:38:11  <isaacs>smartos: [13:38|% 100|+ 727|- 5]: Done
00:38:29  <isaacs>simple/test-fs-watch is a mess on os x and solaris
00:38:58  <piscisaureus__>[00:03|% 0|+ 0|- 1]: debug test-buffer-regress-GH-2659
00:38:58  <piscisaureus__>Traceback (most recent call last):
00:38:58  <piscisaureus__> File "tools/test.py", line 1440, in <module>
00:38:58  <piscisaureus__> sys.exit(Main())
00:38:58  <piscisaureus__> File "tools/test.py", line 1414, in Main
00:38:58  <piscisaureus__> if RunTestCases(cases_to_run, options.progress, options.j):
00:38:58  <piscisaureus__> File "tools/test.py", line 696, in RunTestCases
00:38:59  <piscisaureus__> return progress.Run(tasks)
00:38:59  <piscisaureus__> File "tools/test.py", line 93, in Run
00:39:00  <piscisaureus__> self.RunSingle()
00:39:00  <piscisaureus__> File "tools/test.py", line 119, in RunSingle
00:39:01  <piscisaureus__> output = case.Run()
00:39:01  <isaacs>simple/test-net-pipe-connect-errors and pummel/test-timers
00:39:01  <piscisaureus__> File "D:\node4\tools\test.py", line 380, in Run
00:39:02  <piscisaureus__> self.AfterRun(result)
00:39:03  <AvianFlu>isaacs, all tests are passing on debian if it makes you feel any better
00:39:15  <isaacs>AvianFlu: woot!
00:39:18  <bnoordhuis>IOError: [Errno 11] Resource temporarily unavailable <- tools/test.py crashed on me :/
00:39:19  <isaacs>linux mint, too
00:39:56  <bnoordhuis>it was going pretty strong until then, only pummel/test-timers and pummel/test-keep-alive were failing
00:39:59  <AvianFlu>bnoordhuis, I see that sometimes on linux when I've run the tests several times in a row
00:40:12  <AvianFlu>I'm not strong enough in the python to say more
00:41:02  <isaacs>bnoordhuis: killall node?
00:41:03  <bnoordhuis>AvianFlu: i think it's a stdio bug in the python that ships with debian and ubuntu
00:41:28  <bnoordhuis>isaacs: no stray processes
00:41:36  <AvianFlu>isaacs, not only do we not have 'killall', the cli arguments to 'kill' aren't the same as on mac os
00:41:43  <AvianFlu>(on debian/ubuntu)
00:41:52  <DrPizza>killall is awesome
00:41:57  <AvianFlu>I've always found that kinda funny
00:41:59  <bnoordhuis>i have killall
00:42:00  <DrPizza>bsd killall
00:42:03  <bnoordhuis>but i always use pkill
00:42:04  <AvianFlu>I think there's killpg instead
00:42:33  <isaacs>oh, wait, killall on solaris is not killall
00:42:36  <isaacs>it's killALL
00:43:08  <piscisaureus__>hmm I forgot to build with nosnapshot
00:43:23  <isaacs>piscisaureus__: if you're not doing the release, it doesn't matter.
00:43:51  <piscisaureus__>isaacs: well, it shouldn't :-)
00:44:05  <piscisaureus__>isaacs: but test-assert is crashing for me, which most likely is a v8 bug
00:44:26  <isaacs>piscisaureus__: same here
00:45:25  <piscisaureus__>it crashes in GetTreadLocal for me
00:47:40  <isaacs>when i run it directly it doesn't crash
00:48:29  * xaqquit (Remote host closed the connection)
00:48:33  <piscisaureus__>isaacs: it does. Does it say "All OK?"
00:48:35  <piscisaureus__>I bet not
00:48:44  <isaacs>piscisaureus__: yeah
00:48:53  <isaacs>piscisaureus__: but i saw it crash from the test-runner
00:49:00  <piscisaureus__>funny
00:49:09  <piscisaureus__>v8 has a bug I can tell
00:49:11  <isaacs>hm, now it just passed.
00:49:33  <piscisaureus__>they check if a thread local exists by doing TlsGetValue(index) == NULL
00:49:40  <piscisaureus__>that's wrong, it can cause a segfault
00:52:31  <DrPizza>is it?
00:53:03  * xaqjoined
00:53:22  <DrPizza>TlsGetValue(index) == NULL && GetLastError() != ERROR_SUCCESS
00:54:18  <piscisaureus__>DrPizza: yes
00:54:35  <piscisaureus__>DrPizza: although that's not the root cause of this issue I think no
00:54:58  * xaqquit (Remote host closed the connection)
00:56:23  <TooTallNate>isaacs: bnoordhuis: is my fix gonna make it in for 0.6.11?
00:56:44  <bnoordhuis>TooTallNate: alas, no
00:56:47  <isaacs>TooTallNate: sorry, i didn't see it, what's this?
00:56:59  <isaacs>oh, https://github.com/joyent/node/pull/2768
00:57:07  <TooTallNate>yup yup
00:57:26  <bnoordhuis>no need, it's a minor bug
00:57:31  <TooTallNate>indeed
00:58:09  <isaacs>we can land in v0.6, but i'd rather not add anything else to 0.6.11 unless it'll fix one of the tests that's currently complaining.
00:59:46  <bnoordhuis>TooTallNate: https://github.com/TooTallNate/node/commit/0e91287cf6c7f1c963de2b53fb099923cd692664#commitcomment-976179
01:00:39  <piscisaureus__>isaacs: does x32 work?
01:00:49  <piscisaureus__>isaacs: or are you getting the crash with x32 too?
01:01:03  <isaacs>piscisaureus__: not that crash, no
01:01:13  <isaacs>not on test-assert.js anyay
01:01:28  <piscisaureus__>isaacs: I just tried with the first x64 commit and it also has the crash
01:01:45  <piscisaureus__>isaacs: I suspect there is a v8 issue, and I think we cannot release the x64 build
01:01:50  <isaacs>sounds like it
01:01:53  <isaacs>oh well
01:01:57  <isaacs>x64 can be a 0.8 feature.
01:01:58  <isaacs>:)
01:02:14  <piscisaureus__>isaacs: I am also getting the error in v8::internal::Object::IsSMI etc()
01:02:18  <isaacs>yeah
01:02:34  <isaacs>sounds not ready for prime time, not in a so-called "stable" branch anyway
01:02:37  <piscisaureus__>which means that we either have serious heap corruption, or v8 is v0rked
01:02:42  <piscisaureus__>igorzi: ^
01:03:12  <igorzi>piscisaureus__: what's crashing?
01:03:15  <igorzi>piscisaureus__: what test?
01:03:28  <CIA-99>node: isaacs v0.6.11-release * rb6d02c0 / (8 files in 6 dirs): (log message trimmed)
01:03:28  <CIA-99>node: 2012.02.17 Version 0.6.11 (stable)
01:03:28  <CIA-99>node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)
01:03:28  <CIA-99>node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis)
01:03:28  <CIA-99>node: * windows: support unicode argv and environment variables (Bert Belder)
01:03:28  <CIA-99>node: * tls: mitigate session renegotiation attacks (Ben Noordhuis)
01:03:29  <CIA-99>node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
01:03:30  <piscisaureus__>igorzi: test/simple/test-assert.js
01:03:36  <piscisaureus__>windows x64
01:06:07  <igorzi>isaacs: are you pulling out x64 support out of v0.6?
01:06:21  <isaacs>igorzi: well, we can leave it in the vcbuild.bat
01:06:32  <isaacs>and just not deliver a x64 binary
01:06:40  <isaacs>if someone wants to build it themselves, they can take that on.
01:06:54  <piscisaureus__>igorzi: it's not stable, it suffers from random crashes
01:07:10  <isaacs>yeah, it looks like that version of v8 has some problems in x64
01:07:24  <piscisaureus__>isaacs: how did you find out?
01:07:47  <isaacs>piscisaureus__: well, at least, we didn't see these issues with v8 in master.
01:07:53  <isaacs>which is 3.9.5 or something
01:08:08  <igorzi>isaacs: k.. though how will people know about it (to build it themselves) if it's not in the build log?
01:08:25  <isaacs>igorzi: they'll be hardcore enough to go digging through the vcbuild.bat :)
01:08:42  <igorzi>isaacs: k.. fine with me :)
01:08:49  <isaacs>but i'd rather not brag about a feature that is so dangerous.
01:09:00  <isaacs>if someone *really* wants it, we can point them at it.
01:09:07  <isaacs>but let's wait for someone to ask.
01:09:29  <igorzi>isaacs: strange.. i don't remember seeing any random crashes when i landed x64 in v0.6
01:09:30  <isaacs>ok, uploading a new RC, just for the updated ChangeLog
01:09:40  <isaacs>igorzi: yeah, it looks kind of sporadic.
01:09:54  <isaacs>but test-assert.js is about the simplest thing you can do.
01:10:02  <isaacs>if that's crashing ever, we have some kind of serious problem.
01:10:06  <igorzi>yep
01:10:55  <isaacs>thank goodness for sanity tests :)
01:11:51  <isaacs>looks like the other new failures are just a result of message tests that expect "unknown system error 232" and now get "EPIPE"
01:11:54  <isaacs>meh
01:12:00  <piscisaureus__>[03:32|% 100|+ 349|- 12]: Done
01:12:02  * travis-cijoined
01:12:02  <travis-ci>[travis-ci] joyent/node#441 (v0.6.11-release - b6d02c0 : isaacs): The build passed.
01:12:02  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/4be3e4b...b6d02c0
01:12:02  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/690127
01:12:02  * travis-cipart
01:13:34  <piscisaureus__>shit tested the wrong version
01:14:32  <piscisaureus__>isaacs: looks like the cluster-2 test was also failing due to a crash in the master process
01:14:40  <piscisaureus__>which would cause the children to die with EPIPE
01:14:46  <isaacs>piscisaureus__: oh, ok
01:15:02  <piscisaureus__>which actually makes sense :-)
01:15:15  <isaacs>yep
01:15:55  <isaacs>this is kind of weird:
01:15:57  <isaacs>Exception in cluster master process: No such module
01:15:57  <isaacs>Error: No such module
01:15:58  * xaqjoined
01:16:30  <piscisaureus__>isaacs: maybe some module was added but the gyp was not updated?
01:17:13  <isaacs>we didn't add any modules, though...
01:17:35  * orlandovftwquit (Ping timeout: 252 seconds)
01:17:46  <piscisaureus__>oh fuck
01:17:51  <piscisaureus__>they are binding SIGINT
01:17:59  <piscisaureus__>but we have no signal watcher
01:18:10  <piscisaureus__>er, SIGTERM
01:18:35  <isaacs>happens in simple/test-cluster-bind-twice-v2
01:20:40  * sh1mmerquit (Quit: sh1mmer)
01:20:52  <piscisaureus__>isaacs: ok - I am not going to fix that now
01:20:57  <piscisaureus__>isaacs: it is too late
01:21:07  <piscisaureus__>both the cluster tests are broken :-(
01:21:37  <isaacs>piscisaureus__: yeah, note that the date in the changelog says tomorrow :)
01:21:45  <piscisaureus__>hehe
01:21:53  <isaacs>piscisaureus__: do you think this is a case of invalid tests, or something wrong with the code?
01:22:02  <piscisaureus__>isaacs: wrong with the code
01:22:16  <isaacs>piscisaureus__: ok.
01:22:20  <piscisaureus__>Exception in cluster master process: write EINVAL - cannot write to IPC channel.
01:22:28  <isaacs>piscisaureus__: kewl.
01:22:36  <piscisaureus__>not so much :-(
01:22:47  <isaacs>so, either we can fix it (after you sleep :) or revert that change and do it later (or just not in 0.6)
01:23:10  <isaacs>i'm ok with either.
01:26:04  <bnoordhuis>piscisaureus__: is that simple/test-cluster-bind-twice-v2?
01:26:19  <piscisaureus__>bnoordhuis: both fail
01:26:37  <bnoordhuis>piscisaureus__: i'll fix them tomorrow
01:26:56  <piscisaureus__>bnoordhuis: this is windows :-)
01:27:05  <piscisaureus__>bnoordhuis: but, please, because I am very busy tomorrow
01:27:15  <bnoordhuis>piscisaureus__: with what?
01:27:22  <piscisaureus__>university stuff
01:30:09  <isaacs>bnoordhuis: if it gets even slightly hairy, give me the word, and we can pull it out of 0.6.11 and put off until after.
01:30:54  * dshaw_joined
01:31:04  <bnoordhuis>isaacs: you can revert it for now if you want, it's a pretty trivial issue
01:31:08  <isaacs>k.
01:31:34  <isaacs>bnoordhuis: it's ok. the release isn't out yet.
01:31:49  <isaacs>if it turns out to be easy, it's no biggie
01:34:22  <igorzi>piscisaureus__: i'm getting stack overflow when running test/simple/test-assert.js
01:34:31  <igorzi>piscisaureus__: is that what you were seeing?
01:34:40  <piscisaureus__>igorzi: I am seeing segmentation fault
01:34:50  <piscisaureus__>igorzi: but the crash site is different for me every time
01:35:38  <igorzi>piscisaureus__: https://gist.github.com/1849660
01:35:54  <igorzi>piscisaureus__: maybe because it's overflowing the stack
01:38:09  * pfox___joined
01:38:21  <piscisaureus__>igorzi: v8 should be doing it's own internal stack computations
01:38:24  <piscisaureus__>and checks\
01:38:47  <piscisaureus__>igorzi: so maybe it is computing the stack size wrong
01:39:23  <piscisaureus__>igorzi: you can play with the --max-stack-size flag
01:39:43  <piscisaureus__>(supposed to be in bytes)
01:40:27  <igorzi>piscisaureus__: --max-stack-size --> passed to node?
01:40:33  <igorzi>(at runtime?)
01:40:43  <piscisaureus__>igorzi: it is passed to v8
01:40:59  <piscisaureus__>igorzi: yes, at runtime. so `node --max-stack-size=4000000 foo.js`
01:41:10  <piscisaureus__>(not sure about the = )
01:43:45  * dshaw_1joined
01:45:15  * dshaw_quit (Ping timeout: 244 seconds)
01:46:17  <igorzi>piscisaureus__: that got me passed the stack overflow.. and now i'm consistenly hitting this: https://gist.github.com/1849710
01:46:28  * mikealjoined
01:47:54  <piscisaureus__>igorzi: segfault?
01:49:20  <Sly__>http://i.imgur.com/2Kq6Y.jpg
01:51:07  <igorzi>piscisaureus__: yep
01:53:53  <piscisaureus__>igorzi: It is likely a v8 bug, but play with it if you want. I sugguest upgrading v8 to a later branch first.
01:54:37  <piscisaureus__>igorzi: v8 is a minefield. I remember this http://code.google.com/p/v8/issues/detail?id=950 vividly, I had me stepping through asm codes for 2 weeks
01:54:50  <piscisaureus__>not doing it again, and certainly not starting now :-)
01:58:52  * AvianFluquit (Quit: Leaving)
01:59:11  <Sly__>Is there an equivalent of SIGCONT, SIGTSTP, etc. in Windows?
02:01:48  <piscisaureus__>Sly__: http://msdn.microsoft.com/en-us/library/windows/desktop/ms685086%28v=vs.85%29.aspx
02:02:06  <Sly__>Bahumbug.
02:02:06  <piscisaureus__>Sly__: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686345(v=vs.85).aspx
02:02:30  <Sly__>This is going in lib/repl.js..
02:02:35  <Sly__>So those aren't a big help to me. :|
02:02:54  <Sly__>Trying to figure out a way to raise events on Windows for everything.
02:03:07  <Sly__>Er.. Not repl.js..
02:03:08  <Sly__>readline.js
02:03:24  <piscisaureus__>Sly__: raise events for what?
02:04:11  <Sly__>For instance.. I edited readline's API to raise events other than .on('close', ...)..
02:04:36  <Sly__>And replaced it with the actual signals that will trigger on certain keys.
02:04:45  <Sly__>For instance.. CTRL-Z = SIGTSTP
02:04:51  <Sly__>But what's the equivalent to CTRL-Z on Windows?
02:04:55  <Sly__>If there is one?
02:05:14  <Sly__>Cause if there isn't one, I'm going to have to find a work-around for Windows.. which is a pain, since I don't use Windows.
02:05:15  <Sly__>:|
02:05:45  * xaqquit (Remote host closed the connection)
02:06:51  <piscisaureus__>Sly__: I still don't quite understand what you main.
02:07:18  <Sly__>Okay.
02:07:28  <Sly__>Say you have a terminal open on Linux, and you run a program..
02:07:29  * mikealquit (Quit: Leaving.)
02:07:29  <piscisaureus__>user presses ctrl-z -> interface.emit('SIGSTP')
02:07:37  <Sly__>For instance, just run "node"..
02:07:40  <piscisaureus__>^-- is that what you're after?
02:07:45  <Sly__>Then hit CTRL-Z on Linux, it sends to the background..
02:07:58  <Sly__>^Z raises the SIGTSTP event on Linux..
02:08:09  <Sly__>But.. What is the equivalent in Windows?
02:08:30  <Sly__>Because readline now has events like `rl.on('SIGTSTP', ...)`..
02:09:03  * dapquit (Quit: Leaving.)
02:09:16  <piscisaureus__>on windows there is no no key combo for sending stuff to the background
02:10:10  <Sly__>Okay. So, that out of the way..
02:10:26  <Sly__>What event is raised when ^C is triggered in Windows?
02:10:57  <piscisaureus__>Well
02:11:17  <piscisaureus__>by default windows creates a thread in your processes that kind of emulates sigint
02:12:51  <piscisaureus__>Sly__: but speaking of "events" confuses me.
02:13:04  <Sly__>https://github.com/joyent/node/blob/ce485791db5507d160cbc204b8a58e770ac60a50/lib/readline.js#L533-549
02:13:18  <Sly__>An example of why I'm asking.
02:13:42  <piscisaureus__>Sly__: oh, SIGTSTP is done with the pause key on windows by default
02:14:18  <Sly__>Alright. That's what I needed to know.
02:14:23  <Sly__>Anyone here on Windows that can test it later?
02:15:08  <piscisaureus__>Sly__: but process.kill(pid, SIGTSTP) won't really work on windows
02:15:12  <piscisaureus__>not atm anyway
02:15:26  <piscisaureus__>Sly__: I am off to bed now. You can try tomorrow.
02:15:53  <piscisaureus__>Sly__: but I would suggest you talk to someone about this feature before investing too much time in it.
02:16:04  * mjr_quit (Quit: mjr_)
02:16:32  <Sly__>It should have already been done..
02:18:34  <piscisaureus__>?
02:18:48  <Sly__>Being able to catch these events.
02:19:37  <piscisaureus__>Sly__: well, if you actually care about it landing in node at some point, it might be a good idea to talk to someone
02:19:48  <piscisaureus__>isaacs/bnoordhuis
02:20:29  <isaacs>piscisaureus__: yeah, Sly__'s been talking to me about this :)
02:20:36  <piscisaureus__>aha
02:20:39  <piscisaureus__>that works
02:20:45  <isaacs>indutny_sleeping's the go-to for readline stuff, though.
02:20:51  <isaacs>the debugger is very sensitive about that kind of thing.
02:21:04  <isaacs>it'd be nice to have intuitive signal-ish event handling in ut.
02:21:06  <isaacs>*in it
02:21:21  <isaacs>but yeah, it'll be a little bit of work to make it all work in windows nicely.
02:21:35  <isaacs>i think just API design questions, though
02:21:48  <isaacs>not anything super rocket-sciency
02:21:52  <Sly__>piscisaureus__, I've already landed one commit towards it.
02:21:55  <Sly__>It has the *NIX signals.
02:21:59  <Sly__>Just got to figure out the Windows side.
02:22:12  * mikealjoined
02:22:39  <piscisaureus__>isaacs: Sly__: I don't really like that adding an event handler has side effects
02:22:48  <piscisaureus__>it's bad enough as it is with 'error'
02:23:06  <piscisaureus__>but - right
02:23:11  <Sly__>What kind of side effects?
02:23:39  <piscisaureus__>well, if process.listeners('SIGTSTP').length == 0 then it actually SIGTSTP's itself
02:23:43  <piscisaureus__>otherwise it just emits an event
02:24:10  <piscisaureus__>anyway.
02:24:28  <piscisaureus__>ctrl+c and ctrl+break trigger sigint (sort-of)
02:24:40  <piscisaureus__>pause breaks the program and any other key resumes
02:24:47  <piscisaureus__>(on windows)
02:25:21  <piscisaureus__>process.kill(pid, 'SIGXXX') won't work though
02:25:43  <piscisaureus__>we only support unconditionally killing the target process
02:25:47  <piscisaureus__>because windows does not have signals
02:27:07  <Sly__>So, basically.. I need to bypass the SIGTSTP and SIGCONT for Windows..
02:27:20  <Sly__>But since CTRL-C still somewhat triggers SIGINT, we could still use the SIGINT event for it.
02:27:38  <Sly__>But I'd still have to figure out how to kill if it doesn't have a callback..
02:27:39  <piscisaureus__>yes
02:28:27  <Sly__>No big deal. That's not really hurting anything at all.
02:28:43  <piscisaureus__>Sly: SIGKILL, SIGTERM, SIGINT will all work
02:28:58  <piscisaureus__>they will all unconditionally kill the target process
02:29:25  <piscisaureus__>Sly__: but in this case exit(1) would probably suffice :-)
02:30:18  * pieternquit (Quit: pietern)
02:30:45  <Sly__>Actually.. SIGINT should work as intended.
02:30:54  <Sly__>Node should close after the readline stream is paused.
02:31:14  <Sly__>Just gotta get rid of SIGTSTP and SIGCONT.
02:32:57  <Sly__>process.platform returns what for Windows?
02:33:21  <Sly__>Windows? win32? win64?
02:33:41  <piscisaureus__>win32
02:34:00  <piscisaureus__>Sly__: agreed. This will change in 0.8
02:34:08  <piscisaureus__>(re: close on pause)
02:34:17  <Sly__>Why will it change?
02:34:20  * pfox___quit (Ping timeout: 244 seconds)
02:34:26  <Sly__>You don't want that to change.
02:34:28  <Sly__>That's a bad thing.
02:34:34  <Sly__>Then it will leave the program open for eternity.
02:35:00  <piscisaureus__>Sly__: no, the contrary. In 0.8 we will unref() on pause in general.
02:35:15  <piscisaureus__>Sly__: it could be that we do this already for stdin in 0.6
02:35:33  <piscisaureus__>ok, gtg now
02:35:36  <piscisaureus__>bye all
02:36:01  <Sly__>Thanks for the help.
02:37:01  * piscisaureus__quit (Quit: ~ Trillian Astra - www.trillian.im ~)
02:37:25  * pfox___joined
02:37:57  * dshaw_1quit (Ping timeout: 244 seconds)
02:49:11  * isaacsquit (Remote host closed the connection)
02:51:12  * Sly__quit (Quit: Leaving)
02:51:25  * brsonquit (Quit: leaving)
03:02:03  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
03:13:50  * pfox___quit (Ping timeout: 272 seconds)
03:22:20  * indexzerojoined
03:30:40  * isaacsjoined
03:38:56  * indutny_sleepingchanged nick to indutny
03:38:59  <indutny>morning
03:43:26  * bnoordhuisquit (Read error: Operation timed out)
04:21:31  * TooTallNatejoined
04:26:08  <isaacs>good morning :)
04:30:42  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
04:32:16  * pfox___joined
04:39:00  * xaqjoined
04:39:48  * orlandovftwjoined
04:50:13  * mikealquit (Quit: Leaving.)
05:15:13  * pfox___quit (Remote host closed the connection)
05:16:30  * mikealjoined
05:48:37  * dshaw_joined
05:56:34  * mralephjoined
06:00:32  * mikealquit (Quit: Leaving.)
06:09:34  * indexzeroquit (Quit: indexzero)
06:22:54  * dshaw_quit (Quit: Leaving.)
06:34:45  * dshaw_joined
06:44:01  * isaacsquit (Remote host closed the connection)
06:47:31  * sh1mmerjoined
07:06:14  * xaqquit (Remote host closed the connection)
07:09:54  * mikealjoined
07:14:10  * dshaw_quit (Quit: Leaving.)
07:23:18  * mikealquit (Quit: Leaving.)
07:24:38  * xaqjoined
07:41:31  * mikealjoined
07:46:53  * mikealquit (Quit: Leaving.)
07:58:21  * xaqquit (Remote host closed the connection)
08:01:23  * paddybyersjoined
08:13:23  * mralephquit (Quit: Leaving.)
08:21:52  * AvianFlujoined
08:49:45  * mikealjoined
08:52:57  * txdv_joined
08:53:54  * txdvquit (Ping timeout: 255 seconds)
09:23:33  * piscisaureus_joined
09:23:42  * piscisaureus_quit (Client Quit)
10:21:00  * orlandovftwquit (Ping timeout: 248 seconds)
11:08:28  * paddybyers_joined
11:11:17  * paddybyersquit (Ping timeout: 240 seconds)
11:11:17  * paddybyers_changed nick to paddybyers
11:12:41  * txdv_quit (Ping timeout: 245 seconds)
12:53:54  * Sly__joined
12:58:07  * AndreasMadsenjoined
12:58:52  <AndreasMadsen>indutny: do you know what server._backlog do
12:58:53  <AndreasMadsen>https://github.com/joyent/node/blob/master/test/simple/test-child-process-fork2.js#L40
12:59:27  <AndreasMadsen>and is it something there should go in the process.send(msg, Server) path
12:59:38  <AndreasMadsen>s/path/patch
13:05:49  <Sly__>$ grep -rin "._backlog" lib test
13:05:49  <Sly__>lib/net.js:771: r = self._handle.listen(self._backlog || 128);
13:05:49  <Sly__>test/fixtures/fork2.js:20: server._backlog = 9;
13:05:49  <Sly__>test/simple/test-child-process-fork2.js:40:server._backlog = 9;
13:06:43  <AndreasMadsen>Sly__: I know that but I'm not sure what it does in native code
13:07:08  <Sly__>Not sure.
13:07:26  <AndreasMadsen>Sly__: well there you got my question :)
13:07:30  <Sly__>$ grep -rin "backlog" src
13:07:30  <Sly__>src/pipe_wrap.cc:171: int backlog = args[0]->Int32Value();
13:07:30  <Sly__>src/pipe_wrap.cc:173: int r = uv_listen((uv_stream_t*)&wrap->handle_, backlog, OnConnection);
13:07:30  <Sly__>src/tcp_wrap.cc:337: int backlog = args[0]->Int32Value();
13:07:30  <Sly__>src/tcp_wrap.cc:339: int r = uv_listen((uv_stream_t*)&wrap->handle_, backlog, OnConnection);
13:07:38  <Sly__>Only places I see "backlog" in the src files.
13:09:03  <AndreasMadsen>Sly__: so 3th argument in uv_listen takes backlog, and it is by default 128
13:09:12  <Sly__>It appears to be that way, yes.
13:10:09  <AndreasMadsen>but that doesn't really say much.
13:10:42  <Sly__>Dunno, bud. I'm not a C/C++ programmer.
13:10:52  <Sly__>Tried before. Crashed and burned.
13:11:18  <AndreasMadsen>Sly__: neither am I
13:18:15  <Sly__>Other than `node script.js &`, is there another way to send a script to the background?
13:20:00  <AndreasMadsen>Sly__: using terminal or node programmatically
13:20:30  <Sly__>From node.
13:20:44  <Sly__>process.kill(process.pid, 'SIGTSTP')?
13:21:32  <AndreasMadsen>Sly__: you start a new process with .spawn(, {setsid: true}) and then you kill the parent.
13:22:03  <Sly__>Alright. Thanks.
13:22:09  <Sly__>Trying to help someone in #node.js
13:29:10  <Sly__>Ugh. I've got to find someone that uses Node on Windows. :|
13:29:20  * piscisaureus_joined
13:29:38  <Sly__>Hey, piscisaureus_.
13:29:40  * AndreasM_joined
13:29:41  <benvie>win32
13:29:51  <piscisaureus_>hey
13:29:54  <benvie>process.arch = ia32, process.platform = win32
13:30:06  * AndreasMadsenquit (Read error: Connection reset by peer)
13:30:14  <Sly__>Erm. What about it, benvie? O_o
13:30:22  <benvie>er
13:30:26  <benvie>ooh scrollback
13:30:37  <piscisaureus_>AndreasM_: http://linux.die.net/man/2/listen
13:31:07  <AndreasM_>piscisaureus_: thanks
13:33:07  * AndreasMadsenjoined
13:33:11  * AndreasM_quit (Read error: Connection reset by peer)
13:33:32  <Sly__>No one here is on Windows?
13:34:03  <benvie>I am, what's needed?
13:34:47  <Sly__>Have you pulled and compiled from the master branch lately?
13:35:02  <benvie>I haven't for 0.7.4 but now that you mentioned it
13:35:07  <benvie>I'll go do that now
13:35:34  <Sly__>Let me know when you do. I have a commit that I did the other night.. and completely forgot about win32 compatibility.
13:35:35  <piscisaureus_>Sly__: I am too. what's up?
13:35:50  <Sly__>I need to know what ^Z does for a user on Windows that has my commit in it.
13:36:02  <Sly__>It'll probably throw an error.. or it might not do anything at all..
13:36:43  <piscisaureus_>Sly__: aah. ok, I'll compile master again.
13:37:20  <piscisaureus_>Sly__: looking at your code, it'll probably throw that SIGSTP is not a valid signal
13:37:26  <piscisaureus_>er, sigtstp
13:37:32  <Sly__>Yeah. Which is why I need to know what it does.
13:37:43  <Sly__>I'm going to put a bypass in for Windows..
13:37:50  <piscisaureus_>just a sec.
13:37:56  <piscisaureus_>compiling takes a while
13:37:59  <benvie>man this is compiling way slower than usual
13:38:02  <Sly__>But the thing is.. there's no .on('close', ...) anymore.
13:38:20  <Sly__>https://github.com/joyent/node/commit/ce485791db5507d160cbc204b8a58e770ac60a50
13:38:23  <Sly__>That was the commit.
13:40:11  <Sly__>indutny and I decided to get rid of .close() since it never did close anything.. or destroy the input..
13:40:20  <piscisaureus_>sly:
13:40:32  <piscisaureus_>D:\node4>Release\node
13:40:33  <piscisaureus_>>
13:40:33  <piscisaureus_>node.js:360
13:40:33  <piscisaureus_> throw new Error('Unknown signal: ' + sig);
13:40:33  <piscisaureus_> ^
13:40:33  <piscisaureus_>Error: Unknown signal: SIGTSTP
13:40:33  <piscisaureus_> at EventEmitter.kill (node.js:360:17)
13:40:34  <piscisaureus_> at Interface._ttyWrite (readline.js:548:19)
13:40:34  <piscisaureus_> at ReadStream.<anonymous> (readline.js:82:12)
13:40:35  <piscisaureus_> at ReadStream.emit (events.js:88:20)
13:40:35  <piscisaureus_> at ReadStream._emitKey (tty.js:331:10)
13:40:36  <piscisaureus_> at ReadStream.onData (tty.js:66:12)
13:40:36  <piscisaureus_> at ReadStream.emit (events.js:67:17)
13:40:37  <piscisaureus_> at TTY.onread (net.js:377:14)
13:40:41  <Sly__>Go figure.
13:40:55  <Sly__>Simple solution, though. if (process.platform == 'win32') break;
13:42:09  <benvie>oh yeah I did see that a day or two ago
13:43:08  <benvie>I reclaimed ctrl+z because that's too good a keybind to have it on something useless
13:45:41  <benvie>msbuild left 47 conhost.exe's open. This is unfortunate
13:46:04  <Sly__>Does ^C still work as before, piscisaureus_?
13:46:05  * bnoordhuisjoined
13:46:24  <benvie>yeah
13:48:37  <bnoordhuis>http://groups.google.com/group/nodejs/t/a283a646d4855e50 <- who approved that post?
13:50:10  <indutny>AndreasMadsen: Sly__ sorry
13:50:12  <indutny>I was away
13:50:28  <indutny>on another tmux window
13:57:28  <benvie>cool the 64bit compile worked
14:03:21  <Sly__>bnoordhuis, https://github.com/joyent/node/pull/2765
14:03:34  <Sly__>Split them up, as you asked.
14:06:25  <AndreasMadsen>indutny: yo
14:06:34  <AndreasMadsen>I'm fine :)
14:06:36  <indutny>Sly__: woot
14:06:39  <indutny>AndreasMadsen: cool
14:06:44  <indutny>AndreasMadsen: seen your immortal
14:07:05  <AndreasMadsen>indutny: hehe, what do you think
14:07:38  <indutny>AndreasMadsen: haven't looked at code yet
14:07:52  <indutny>AndreasMadsen: is it ignoring SIGHUP?
14:08:19  <AndreasMadsen>indutny: no, but it works - have not figured out why yet
14:09:32  <Sly__>Hey, indutny. :P
14:10:11  <AndreasMadsen>indutny: to say the truth, it is mad science and was written in two days, and there is no good test scripts. But I'm making a API refactor and will do tests and cleanup in that refactor too.
14:11:28  <AndreasMadsen>Wow immortal has already 3 watchers I'm not used to that.
14:12:24  <indutny>Sly__: hey southern
14:12:31  <Sly__>:P
14:12:32  <indutny>haha
14:12:36  <indutny>3 watchers
14:12:44  <indutny>cool!
14:12:48  <Sly__>I'm one of them, AndreasMadsen.
14:14:40  <AndreasMadsen>indutny: I'm not a programmer celebrity, so I count it as high. Only cluster-vhost is more watched.
14:15:33  * AndreasMadsenI should make more mad science
14:16:11  <indutny>AndreasMadsen: no, I don't meant that
14:16:17  <indutny>AndreasMadsen: that's a cool project definitely
14:16:36  <indutny>AndreasMadsen: just cool to have 3 watchers when you even haven't announced it yet
14:16:47  <indutny>AndreasMadsen: that says that your project is really interesting to people
14:16:58  <indutny>AndreasMadsen: so please don't get me wrong
14:17:21  <AndreasMadsen>indutny: I did not get it wrong.
14:17:52  <AndreasMadsen>indutny: thats true, it not even on npm yet.
14:18:28  <Sly__>piscisaureus_, you still around?
14:24:32  * piscisaureus_quit (Read error: Connection reset by peer)
14:24:42  * piscisaureus_joined
14:25:58  <AndreasMadsen>indutny: care to look at https://github.com/AndreasMadsen/node-1/compare/fork-socket
14:26:11  <AndreasMadsen>I get Assertion failed: (fd_to_send >= 0), function uv__write, file ../deps/uv/src/unix/stream.c, line 383. when sending a socket handler
14:26:20  <indutny>yeah
14:26:23  <indutny>I seen that before
14:26:46  * piscisaureus_quit (Read error: Connection reset by peer)
14:27:12  * piscisaureus_joined
14:27:12  <indutny>AndreasMadsen: looks good
14:27:39  <indutny>AndreasMadsen: may be you should .close() handle after sending?
14:27:44  <indutny>have you tried this?
14:28:05  <AndreasMadsen>indutny: no I did not will try
14:30:10  * piscisaureus_quit (Read error: Connection reset by peer)
14:30:13  * piscisaureus__joined
14:30:16  * piscisaureus__changed nick to piscisaureus_
14:32:51  <AndreasMadsen>indutny: I think that did it, now I just have to figure out why the test don't self terminate
14:33:01  <indutny>haha
14:33:02  <indutny>ok
14:33:13  <indutny>try calling handle.unref()
14:33:35  <AndreasMadsen>indutny: sec
14:37:20  <AndreasMadsen>indutny: that is not the problem, somehow the socket.end() do not work or socket.on('close') is not called.
14:37:54  <indutny>AndreasMadsen: oh
14:37:56  <indutny>not good then
14:38:53  <bnoordhuis>piscisaureus_: https://gist.github.com/1853841 <- is there a reason why `vcbuild /m` isn't on by default?
14:38:55  <AndreasMadsen>indutny: no, socket.write works
14:39:09  <AndreasMadsen>^ no not good
14:39:16  <piscisaureus_>bnoordhuis: does it make a difference?
14:39:31  <piscisaureus_>bnoordhuis: I think we set the option in gyp
14:39:31  <bnoordhuis>piscisaureus_: well... yes
14:39:56  <AndreasMadsen>indutny: socket.destroy works too, and on('close') is called
14:40:11  <bnoordhuis>piscisaureus_: i typed `vcbuild.bat` and it seemed to be doing a single cpu build
14:41:01  <piscisaureus_>bnoordhuis: well I don't think it hurts, but here it uses all my cores
14:41:11  <piscisaureus_>bnoordhuis: only in the "generating code" phase it uses 1 core
14:42:10  <bnoordhuis>piscisaureus_: it's kind of odd... /m uses 3 to 4 cpus here of the 8 that are available
14:42:25  <bnoordhuis>it's hovering around 20% total cpu usage...
14:42:50  <piscisaureus_>bnoordhuis: in the task manager, how many 'cl' processes do you see?
14:43:03  <indutny>I love running redis-cli monitor
14:43:06  <bnoordhuis>piscisaureus_: 3
14:43:34  <bnoordhuis>there are 7 or 8 MSBuild.exe processes though
14:43:35  <piscisaureus_>bnoordhuis: and are there more than 3 files that need to be compiled?
14:43:40  <piscisaureus_>huh
14:44:04  <bnoordhuis>piscisaureus_: all of node needs to be compiled so the answer to that question is a definite yes :)
14:44:25  <piscisaureus_>bnoordhuis: right. well something is definitely funny :-)
14:44:31  <AndreasMadsen>indutny: Object #<TCP> has no method 'unref'
14:44:43  <piscisaureus_>bnoordhuis: but I am kind of busy right now so I'd rather discuss this tomorrow or something
14:44:54  <bnoordhuis>piscisaureus_: sure - it doesn't really matter, i'm in no rush
14:44:59  <piscisaureus_>thnx
14:45:03  * piscisaureus_goes offline
14:45:08  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
14:53:20  <CIA-99>node: Nathan Rajlich v0.6 * ra118f21 / (lib/repl.js test/simple/test-repl-tab-complete.js): repl: make tab completion work on non-objects - http://git.io/kRI-iA
14:54:01  <indutny>AndreasMadsen: ooh
14:54:03  <indutny>strange
14:54:12  <indutny>AndreasMadsen: git grep node's lib/ folder
14:54:15  <indutny>AndreasMadsen: for unref
14:54:42  <AndreasMadsen>indutny: I know the unref method :)
14:54:52  <AndreasMadsen>indutny: I find it strange too
14:57:32  <AndreasMadsen>grep -rin "unref" lib
14:57:32  <AndreasMadsen>lib/http.js:1490: // unref the parser for easy gc
14:57:33  <AndreasMadsen>lib/net.js:237: // the .unref() method is omitted on TCP streams, because it is
14:57:34  <AndreasMadsen>lib/net.js:239: if (this._handle.unref) this._handle.unref();
14:57:36  <AndreasMadsen>lib/tty.js:90: this._handle.unref();
14:57:48  <indutny>so
14:57:52  <indutny>you know what to do
14:58:02  <indutny>if (handle.unref)handle.unref()
14:58:17  <AndreasMadsen>indutny: no, that is not it
14:58:17  <indutny>it just is not implemented for all handle types
14:59:00  <AndreasMadsen>indutny: I have confirmed that the handle object do not have a unref function and the process do not self terminate
15:00:47  <indutny>great
15:00:49  <AndreasMadsen>indutny: so It should not work (and I have just confirmed that it dosn't).
15:01:23  <AndreasMadsen>indutny: and there is still the socket.end("hey") problem :/
15:02:11  <AndreasMadsen>https://github.com/AndreasMadsen/node-1/compare/fork-socket is updated
15:02:26  <AndreasMadsen>so it close handle after sending it
15:02:34  <indutny>AndreasMadsen: what's with socket.end("hey") ?
15:02:58  <AndreasMadsen>indutny: it do not work, no socket.on('data') event no socket.on('close') event
15:03:13  <indutny>AndreasMadsen: you are doing something wrong
15:03:16  <indutny>it does work for me
15:03:23  <indutny>let me recheck
15:03:27  <indutny>but it surely does
15:03:36  <AndreasMadsen>indutny: I belive you
15:04:39  <indutny>confirming
15:04:47  <indutny>'close' event is not emitted
15:04:59  <AndreasMadsen>indutny: but on('data') is ?
15:05:15  <indutny>ah
15:05:17  <indutny>one sec
15:05:24  <indutny>AndreasMadsen: that was http keep-alive
15:05:44  <indutny>AndreasMadsen: yeah
15:05:45  <indutny>it works
15:05:54  <AndreasMadsen>indutny: I just use TCP :/
15:06:15  <indutny>it works for tcp too
15:06:19  <indutny>I tried
15:06:28  <indutny>you can try copying code from sticky-sessions
15:06:29  <indutny>if you want
15:07:25  <AndreasMadsen>indutny: basicly I did.
15:07:41  <indutny>haha
15:07:46  <indutny>you did it wrong then
15:08:30  <AndreasMadsen>indutny: it is 5 lines of code ;(
15:10:02  * AndreasMadsenlost in space
15:14:33  <CIA-99>node: Shannen Saez v0.6 * r4ed7b03 / (3 files in 3 dirs): docs: add lang="en" and remove redundant types - http://git.io/whd5ng
15:14:33  <CIA-99>node: Shannen Saez v0.6 * r9764bea / doc/logos/index.html : docs: remove unused javascript includes - http://git.io/v0ZT0g
15:17:27  <AndreasMadsen>Okay here is what I do: PARENT: socket.pause(), send(handle), handle.close() || CHILD: net.Socket({handle: handle}), socket.readable = socket.writable = true, socket.pause(), socket.resume(); emit('message')
15:18:40  <indutny>AndreasMadsen: do resume after emit
15:18:57  <AndreasMadsen>indutny: true
15:20:41  <AndreasMadsen>indutny: good catch, but it do not difference
15:22:02  <indutny>AndreasMadsen: haha
15:22:54  * travis-cijoined
15:22:54  <travis-ci>[travis-ci] joyent/node#442 (v0.6 - 9764bea : Shannen Saez): The build passed.
15:22:54  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/a118f21...9764bea
15:22:54  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/692319
15:22:54  * travis-cipart
15:23:13  <AndreasMadsen>I can confiorm that the send(Server) part works perfectly :)
15:24:59  * isaacsjoined
15:25:47  <AndreasMadsen>indutny: at least you find it amusing :)
15:28:33  <indutny>AndreasMadsen: heh
15:29:24  <AndreasMadsen>indutny: do get immortal up and running was difficult since you had no contact with a deattached process, but this ... this is killing me.
15:29:44  <AndreasMadsen>s/do/to
15:33:47  * xaqjoined
15:34:23  <AndreasMadsen>hmmm, console.log(this.writable) // undefined
15:34:44  * mmalecki[away]changed nick to mmalecki
15:34:56  <AndreasMadsen>mmalecki: morrning
15:35:03  <AndreasMadsen>morning
15:35:29  <AndreasMadsen>indutny: oh got .end("echo") working :)
15:37:02  <mmalecki>AndreasMadsen: hi
15:37:12  <AndreasMadsen>indutny: how stupid: https://github.com/AndreasMadsen/node-1/commit/ea4ab2d10af2a6fbe64ce932a58e80c94a0b9e8c
15:37:43  <AndreasMadsen>but the self termination problem do still exist :(
15:45:39  * pfox___joined
15:45:45  <AndreasMadsen>indutny: got it, when the socket close from the child and the server exist in the parent somehow the net.Server still think there are a connection.
15:46:13  <AndreasMadsen>socket.on('close', function () {console.log(server.connections) // 1});
15:49:15  <isaacs>good morning
15:49:27  <AndreasMadsen>morning isaacs
15:49:37  <mmalecki>morning!
15:49:40  * kohaijoined
15:49:51  <AndreasMadsen>morning kohai
15:50:08  <AndreasMadsen>how rude
15:54:02  <AvianFlu>kohai: introduce yourself!
15:54:03  <kohai>I am Kohai, semi-useful communications-facilitating pseudointelligence!
15:55:34  <AndreasMadsen>AvianFlu: I know, but it is still rude
15:55:56  <mmalecki>well, kohai is just a bot
15:55:56  <kohai>'Bot' is a derogatory term, and I'm offended.
15:56:42  <AndreasMadsen>mmalecki: I hope you knew I would say that
15:57:41  <AndreasMadsen>s/I/it
16:01:23  <AndreasMadsen>indutny: why is it we close the socket handler
16:05:53  <AndreasMadsen>indutny: when sending a socket from a server in the parent to a child the .destroy event is only called from the socket = net.connect and the child, but not the server in the parent. So server.connections will never decrease.
16:08:50  <AndreasMadsen>indutny: try make and close connections with sticky-session and see if server.connections decrease.
16:11:19  <indutny>AndreasMadsen: github is down for me
16:11:36  <AndreasMadsen>indutny: me too
16:11:36  <indutny>AndreasMadsen: one sec
16:13:03  <indutny>AndreasMadsen: so server.connections is not decreasing
16:13:06  <AndreasMadsen>hehe https://status.github.com/ says it online, lies!!!
16:13:07  <indutny>AndreasMadsen: is that something bad?
16:13:10  <AndreasMadsen>indutny: nop
16:13:22  <AndreasMadsen>indutny: server.on('close') will never emit
16:13:54  <indutny>AndreasMadsen: ah
16:13:58  <indutny>because too many connections
16:14:02  <indutny>yeah
16:14:07  <indutny>it's hard to figure this out
16:14:14  <indutny>probably, better keeping them zero
16:14:23  <AndreasMadsen>indutny: maxConnections will properly also be a problem
16:14:55  <indutny>oh
16:15:00  <indutny>yeah
16:15:48  <indutny>but god thanks it's unlimited by default
16:17:01  <AndreasMadsen>indutny: true but it's an exception there increases userland complexity
16:17:40  * xaqquit (Remote host closed the connection)
16:17:48  <indutny>yeah
16:19:18  <AndreasMadsen>we could decrease socet.server.connections when sending the socket server.connection would just lie then.
16:19:26  <indutny>yeah
16:19:27  <indutny>we could
16:19:35  <indutny>but that changes behaviour
16:19:57  <indutny>I think all slaves should close server
16:20:02  <indutny>before master will be able to do that
16:20:08  <indutny>what do you think?
16:21:02  <AndreasMadsen>indutny: the server live in master, I'm confused.
16:21:26  <AndreasMadsen>it is just the socket there is send to a worker, so it can be handled there.
16:21:55  <AndreasMadsen>the worker have no "link" (need better word) to the server object in master
16:24:01  <indutny>yeah
16:24:24  <indutny>but mastercould be notified once worker called .close()
16:24:36  <indutny>s/matserould/master could/
16:24:43  <AndreasMadsen>indutny: I thought of that to.
16:24:47  <AndreasMadsen>*too
16:25:19  <AndreasMadsen>indutny: the only problem is that the IPC channel could be closed, but that should be a userland problem.
16:25:52  <indutny>AndreasMadsen: if IPC is closed - master thinks that slave doesn't listen on that socket
16:25:56  <indutny>that should be fine
16:26:10  <indutny>slave death is telling the same thing
16:27:17  <AndreasMadsen>indutny: oh, yeah, decreas when slave.on('disconnect') or socket('close') in slave. That would work.
16:28:18  <AndreasMadsen>indutny: do we agree?
16:29:59  <indutny>AndreasMadsen: notifying master about s.close() sounds bad to me
16:30:08  <indutny>AndreasMadsen: imagine 6000 reqs/sec
16:30:20  <indutny>each request will come to and from slave
16:30:28  <indutny>but may be I'm wrong
16:30:38  <indutny>you can try benchmarking
16:32:42  <AndreasMadsen>indutny: remembering now that process.send is sync, so it would be slow
16:33:03  <indutny>AndreasMadsen: yeah, that's what I'm afraid of
16:34:13  <AndreasMadsen>hmm
16:37:56  <isaacs>bnoordhuis: yeah, looks like the `make pkg` only builds for the build architecture, not for anything else.
16:38:05  <isaacs>bnoordhuis: the gyp build is different
16:39:13  * xaqjoined
16:39:43  * AndreasMadsenlacks programming wisdome
16:46:17  * mralephjoined
17:03:58  <AndreasMadsen>indutny: Have to go, you can post any solutions at https://github.com/joyent/node/pull/2772
17:13:29  * mikealquit (Quit: Leaving.)
17:19:23  * orlandovftwjoined
17:19:27  * AndreasMadsenquit (Ping timeout: 248 seconds)
17:19:49  * orlandovftwquit (Client Quit)
17:20:06  * orlandovftwjoined
17:27:38  * dapjoined
17:43:27  * mikealjoined
17:59:31  * igorziquit (Quit: Page closed)
18:00:29  * igorzijoined
18:09:45  * stephankjoined
18:12:42  <CIA-99>node: isaacs v0.6.11-release * re16c6c7 / Makefile : Fix #2770 Compile the OS X pkg as ia32 - http://git.io/ffbnOQ
18:12:46  <CIA-99>node: isaacs v0.6.11-release * rb6d6aca / (8 files in 6 dirs): (log message trimmed)
18:12:47  <CIA-99>node: 2012.02.17 Version 0.6.11 (stable)
18:12:47  <CIA-99>node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)
18:12:47  <CIA-99>node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis)
18:12:47  <CIA-99>node: * windows: support unicode argv and environment variables (Bert Belder)
18:12:48  <CIA-99>node: * tls: mitigate session renegotiation attacks (Ben Noordhuis)
18:12:49  <CIA-99>node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
18:12:49  <CIA-99>node: isaacs v0.6.11-release * r4b8c73a / (4 files in 2 dirs):
18:12:49  <CIA-99>node: Revert "cluster: propagate bind errors"
18:12:50  <CIA-99>node: This reverts commit 30e462e91937ced3847af3fe9c393ebd32294b68. - http://git.io/7aKWeg
18:14:32  * AndreasMadsenjoined
18:18:18  <AndreasMadsen>reminder about https://github.com/joyent/node/pull/2743
18:19:09  <AndreasMadsen>piscisaureus_: I think you have assigned yourself to that one.
18:19:35  <isaacs>AndreasMadsen: i have a few master patches to review today after 0.6.11
18:19:40  <isaacs>yours, and this one are both on my list.
18:20:01  <indutny>isaacs: ping
18:20:02  <indutny>isaacs: https://github.com/indutny/node/commit/8c36f6e130dac63748dbf509262b8fc08ffd0312
18:20:49  <AndreasMadsen>isaacs: Oh, thanks - I have so many it would be nice to get some of them done.
18:20:51  * travis-cijoined
18:20:51  <travis-ci>[travis-ci] joyent/node#443 (v0.6.11-release - b6d6aca : isaacs): The build passed.
18:20:51  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/b6d02c0...b6d6aca
18:20:51  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/693129
18:20:51  * travis-cipart
18:21:07  <isaacs>indutny: looks fine, but should have a test if possible. that's an annoying little issue.
18:21:09  <isaacs>:)
18:21:29  <AndreasMadsen>s/done/landed
18:21:32  <isaacs>test, please: http://nodejs.org/dist/v0.6.11/node-v0.6.11-RC2.tar.gz
18:21:47  <isaacs>i'll be back soon.
18:21:57  <indutny>isaacs: :)
18:22:04  <indutny>isaacs: test sounds good to me
18:22:25  <isaacs>indutny: also, this can go in v0.6, but i don't think it's enough to justify a release.
18:22:44  <isaacs>but, whatever, if there's a v0.6.12, it's going to be tiny anyway
18:24:46  <indutny>isaacs: -1 for 0.6
18:24:56  <indutny>it's not important
18:25:00  <indutny>just good to remove
18:25:29  <indutny>if it's possible - I'd like v0.6 to be freezed as much as possible
18:25:54  <indutny>isaacs: review please https://github.com/indutny/node/commit/7bc4b9823047d5a9e6ea0b1e3a861aade477ad8a
18:26:48  <indutny>one second
18:26:53  <indutny>will change commit message
18:29:21  <mmalecki>hm, process.debug_port?
18:29:29  <mmalecki>shouldn't it be process.debugPort?
18:29:48  <indutny>mmalecki: probably
18:29:52  <indutny>where have you been :D
18:30:09  <indutny>https://github.com/indutny/node/commit/174931a9883261fe70798bbf55536032fdf379bd
18:30:14  <indutny>isaacs: ^ love big commit messages ^
18:30:22  * dshaw_joined
18:30:24  <mmalecki>indutny: partying! haven't seen team e-mail?
18:30:42  <indutny>mmalecki: hahah
18:30:47  <indutny>mmalecki: no, that's not what I meant
18:31:00  <mmalecki>indutny: ah, well, just not paying attention :)
18:31:01  <indutny>mmalecki: I mean I've committed that almost week ago
18:31:16  <mmalecki>yeah, but I dumped process now :)
18:31:40  <indutny>:)
18:31:47  <indutny>mmalecki: open pull request
18:31:51  <indutny>but that looks very internal to me
18:31:57  <indutny>not sure if that'll be documented at all
18:32:23  <mmalecki>indutny: well, convention is a convention
18:33:50  <indutny>mmalecki: PR then
18:33:57  <mmalecki>indutny: yeah, doing it now :)
18:35:18  <isaacs>indutny: yes, lgtm.
18:35:22  <isaacs>indutny: land please :)
18:35:36  <isaacs>indutny: the commit message is lovely, as well. bravo :)
18:35:52  <isaacs>indutny: master is fine.
18:36:03  <mmalecki>indutny: ++, love long commit messages
18:36:04  <kohai>indutny has 17 beers
18:36:30  * isaacsquit (Remote host closed the connection)
18:37:23  <indutny>igorzi: haha
18:37:24  <indutny>oops
18:37:27  <indutny>isaacs left
18:37:31  <indutny>igorzi: sorry
18:37:50  <CIA-99>node: Fedor Indutny master * rae5e233 / (lib/repl.js test/simple/test-repl.js): (log message trimmed)
18:37:51  <CIA-99>node: repl: remove double calls where possible
18:37:51  <CIA-99>node: Repl is doing double evaluation of code: wrapped in parens and without
18:37:51  <CIA-99>node: them. That's needed to allow users typing multiline chunks of code by
18:37:51  <CIA-99>node: handling syntax errors on repl side. However if function declaration is
18:37:51  <CIA-99>node: wrapped in parens (`(function a() {})`) calling it will be impossible,
18:37:52  <CIA-99>node: so we're evaluating functions twice. That works fine for declaration,
18:40:22  <benvie>you wrap it like so
18:40:27  <benvie>Function(code)
18:40:36  <indutny>benvie: what?
18:40:39  <benvie>until it doesn't syntax error and then you eval it unwerapped
18:41:18  <benvie>since it's in a function wrapper it doesn't get execute, just compiled
18:41:27  <indutny>benvie: good point
18:41:49  <indutny>benvie: do you want to open pull request?
18:41:50  <benvie>and apparently v8 optimizes the Function constructor itself or something to where it's really fast
18:42:13  <benvie>yeah sure I have code for this stuff
18:42:21  <indutny>cool!
18:42:28  <indutny>that's just awesome idea
18:42:29  <benvie>I rewrote the whole repl and readline for this other thing
18:42:51  <benvie>but it's way too big to go back in core. Still there's a lot of useful bits and pieces
18:42:58  <indutny>heh
18:43:33  <mmalecki>btw, gotta love new github interface for recently pushed branches
18:43:48  <benvie>actually I improved on it just a bit from Function
18:43:54  <benvie>try { return new vm.Script(code, name) }
18:43:59  <indutny>yeah
18:44:22  <indutny>benvie: problem is that won't work with remote context
18:44:25  <indutny>benvie: like in debugger
18:44:35  <benvie>ah yeah, Function is fine then
18:44:41  <indutny>benvie: but if you'll wrap code in 'Function(' + JSON.stringify(code) + ')'
18:44:42  <indutny>benvie: yeah
18:44:50  <indutny>benvie: I thought about another context
18:44:59  <indutny>benvie: hadn't thought about function, bonus points to you
18:45:04  <benvie>I originally was doing a kind of mirror context
18:45:17  <benvie>but the side effects of outright running code twice are unpredictable
18:45:18  <mmalecki>indutny: done
18:45:29  <mmalecki>!gh joyent/node#2774
18:45:30  <kohai>mmalecki, https://github.com/joyent/node/issues/2774
18:45:40  <mmalecki>indutny: ^
18:45:51  <indutny>mmalecki: seen
18:45:57  <indutny>benvie: yes
18:46:20  <benvie>which I guess is why you came to fixing it =D
18:46:35  <indutny>haha
18:46:35  <indutny>yeah
18:46:58  <CIA-99>node: Maciej Małecki master * r977e211 / src/node.cc :
18:46:58  <CIA-99>node: debugger: rename `process.debug_port` to `process.debugPort`
18:46:58  <CIA-99>node: We should comply to to camelCase naming convention. - http://git.io/Xf4pvw
18:47:12  <indutny>bnoordhuis: ^ this is too simple to bother you about
18:47:22  <indutny>bnoordhuis: just fixes my naming mistake
18:47:26  <indutny>bnoordhuis: hope you don't mind
18:47:34  <indutny>mmalecki: thank you
18:47:45  <mmalecki>indutny: my pleasure :)
18:48:20  <Sly__>Mmm.. This is turning out sexy.
18:48:30  <mmalecki>lol
18:48:30  <indutny>Sly__: what?
18:48:33  * TooTallNatejoined
18:48:35  <indutny>ah
18:48:45  <indutny>mmalecki: that's what she said
18:48:59  <mmalecki>indutny: I know she did!
18:50:37  <benvie>https://github.com/Benvie/Node.js-Ultra-REPL/blob/master/lib/Script.js is a pretty self-contained piece of usefulness for evaluation
18:52:04  <benvie>it helps run code with an arbitrary private scope, hash source code so as to not recompile it, wrap execution
18:52:42  * travis-cijoined
18:52:42  <travis-ci>[travis-ci] joyent/node#444 (master - ae5e233 : Fedor Indutny): The build is still failing.
18:52:42  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/ce48579...ae5e233
18:52:42  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/693227
18:52:42  * travis-cipart
18:55:15  * isaacsjoined
18:55:50  <isaacs>bavck
18:56:33  * dshaw_quit (Quit: Leaving.)
18:57:15  * brsonjoined
19:02:18  * travis-cijoined
19:02:18  <travis-ci>[travis-ci] joyent/node#445 (master - 977e211 : Maciej Małecki): The build is still failing.
19:02:18  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/ae5e233...977e211
19:02:18  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/693266
19:02:18  * travis-cipart
19:03:14  <mmalecki>wondering if test runner can kill whole process group
19:04:03  <indutny>mmalecki: ;)
19:04:09  <indutny>that would be wonderful
19:04:23  <indutny>mmalecki: run each test at different user and kill all it's processes
19:04:30  * `3rdEdenjoined
19:04:43  <mmalecki>indutny: does it mean "pull request it"?
19:05:04  <mmalecki>indutny: btw, test runner was written by someone with 0 knowledge about python
19:05:20  <mmalecki>it'd be cool to get a new one
19:05:56  <indutny>mmalecki: ah
19:06:02  <indutny>mmalecki: node test runner
19:06:08  <indutny>mmalecki: I thought travis should cleanup
19:06:24  <mmalecki>indutny: travis cleans up
19:06:33  <mmalecki>indutny: each test is being run in a clean vm
19:06:47  <indutny>mmalecki: really?
19:06:49  <mmalecki>indutny: obviously, we leak some processes
19:06:52  <mmalecki>indutny: yeah
19:06:53  <indutny>mmalecki: yes
19:06:55  <indutny>mmalecki: you leak
19:07:05  <indutny>mmalecki: that's what I'm talking about
19:07:26  <mmalecki>indutny: I leak? we leak?
19:07:44  <mmalecki>indutny: I mean, test runner doesn't kill all processes
19:08:12  <indutny>mmalecki: it doesn't, and it seems that travis isn't killing them too
19:08:15  <indutny>mmalecki: or am I wrong?
19:08:45  <mmalecki>indutny: huh? why'd we kill any processes?
19:08:46  <isaacs>wait, are you guys talking about the travis test runner, or node's?
19:08:52  <mmalecki>node.
19:09:17  <isaacs>indutny: runing node's test program as a different user doesn't sound good
19:09:24  <mmalecki>indutny: before running each test, you get a new vm
19:09:29  <indutny>mmalecki: oh
19:09:33  <indutny>cool
19:09:39  <indutny>pretty secure
19:09:41  <mmalecki>indutny: after tests are done, it's reverted to the base state
19:09:48  <mmalecki>indutny: just imagine *not* doing that
19:09:59  <indutny>btw, where is my travis sticker? :)
19:10:45  <mmalecki>indutny: dunno? you mean https://love.travis-ci.org/?
19:10:49  <indutny>mmalecki: yes
19:10:50  <indutny>:D
19:11:04  <mmalecki>indutny: if they haven't arrived, join #travis and poke someone
19:11:17  <mmalecki>indutny: I've got no idea who sends them tho
19:12:43  <indutny>mmalecki: ok :)
19:14:46  * mikealquit (Quit: Leaving.)
19:17:23  <isaacs>igorzi: you around? can you check out http://nodejs.org/dist/v0.6.11/node-v0.6.11-RC2.tar.gz ?
19:20:40  * mikealjoined
19:23:10  * xaqquit (Remote host closed the connection)
19:28:51  <igorzi>isaacs: yep
19:29:12  * dshaw_joined
19:29:14  <isaacs>reverting the cluster thing reduced the test failures by exactly 1 :)
19:29:42  <AndreasMadsen>isaacs: did it not parse?
19:30:07  <isaacs>AndreasMadsen: it broke some stuff on windows (v0.6)
19:30:57  <AndreasMadsen>isaacs: can you remember what testcase it was?
19:31:19  <indutny>night guys
19:31:21  <indutny>ttyl
19:31:31  * indutnychanged nick to indutny_sleeping
19:31:44  <mmalecki>night indutny_sleeping
19:32:04  <AndreasMadsen>night, night
19:33:04  <isaacs>AndreasMadsen: https://github.com/joyent/node/commit/4b8c73a258d5e04effbb697dc401bacc8141e7b0
19:34:41  <AndreasMadsen>isaacs: I know the patch, just wondered what testcase there failed. My windows machine wend dead yesterday so I can't test it.
19:35:13  <AndreasMadsen>no, it was not yesterday but anyway
19:35:42  <igorzi>isaacs AndreasMadsen: this might be one of those platform differences that we have to live with.. basically on Windows we call listen() implicitly when the socket is being sent to another process through IPC
19:36:07  <igorzi>isaacs AndreasMadsen: so if someone is already listening on the given port, send will fail
19:42:04  * AndreasMadsenquit (Ping timeout: 248 seconds)
19:51:33  <igorzi>[09:42|% 100|+ 348|- 17]: Done
19:51:37  <igorzi>isaacs: --^
19:51:37  <kohai>isaacs has 5 beers
19:51:48  <igorzi>isaacs++ :)
19:51:48  <kohai>isaacs has 6 beers
19:51:54  <isaacs>igorzi: that's kinda rough
19:52:35  <isaacs>igorzi: yay or nay. ship it?
19:53:13  <igorzi>isaacs: let me run through the failing tests and see if there's anything that's unexected
19:53:19  <isaacs>k
19:53:20  <igorzi>*unexpected
19:53:34  <isaacs>yeah, i'm pretty good at parsing garbled text. it's my ntave language
19:53:40  <isaacs>:)
19:53:48  * AndreasMadsenjoined
19:54:23  * AndreasMadsenquit (Read error: Connection reset by peer)
19:54:57  * AndreasMadsenjoined
20:00:11  <igorzi>isaacs: the 3 tests that look suspicious are
20:00:12  <igorzi>test/simple/test-fs-utimes
20:00:17  <igorzi>test/simple/test-http-get-pipeline-problem
20:00:21  <igorzi>test/simple/test-net-write-slow
20:00:27  <igorzi>are any of these also failing on unix?
20:00:40  <isaacs>test/simple/test-net-write-slow seems timing-sensitive
20:00:44  <igorzi>i'll try to run these with v0.6.10 now, and see if these are regressions
20:00:54  <isaacs>fs-utimes i'm seeing as well, that works on windows
20:00:57  <isaacs>*unix, i mean
20:04:11  <igorzi>isaacs: both test-fs-utimes and test-http-get-pipeline-problem are failing with v0.6.10
20:04:31  <igorzi>isaacs: so i think we're good for this release.. but we really need to get these tests under control
20:05:11  <isaacs>agree.d
20:05:19  <isaacs>starting monday, there is no higher priority.
20:05:26  <isaacs>every test must pass in master.
20:05:43  <isaacs>if we have to put tests in a "known-broken" folder or something, that's fine
20:05:49  <isaacs>but `make test` is useless right now
20:06:24  <igorzi>bbiab
20:07:33  <isaacs>ugh, this ia32 osx pkg thing is busted.
20:11:46  * isaacsquit (Ping timeout: 245 seconds)
20:12:17  * isaacsjoined
20:14:00  <isaacs>how does one build uv for a different arch?
20:20:55  <TooTallNate>isaacs: we have to upgrade gyp
20:21:25  <TooTallNate>isaacs: https://github.com/joyent/node/issues/2392
20:21:59  <isaacs>TooTallNate: ok
20:22:05  <isaacs>TooTallNate: not really on that right now
20:22:42  * mjr_joined
20:34:42  * mikealquit (Quit: Leaving.)
20:49:53  * isaacs__joined
20:51:38  * ircretaryquit (Remote host closed the connection)
20:51:44  * ircretaryjoined
20:51:53  * isaacsquit (Ping timeout: 276 seconds)
20:51:59  * isaacs__changed nick to isaacs
21:00:27  * AndreasMadsenquit (Ping timeout: 252 seconds)
21:07:58  * mikealjoined
21:11:52  <CIA-99>node: isaacs v0.6.11-release * r4672872 / Makefile : Fix #2770 Compile the OS X pkg as ia32 - http://git.io/L2AfSQ
21:11:52  <CIA-99>node: isaacs v0.6.11-release * ra2851b6 / (3 files in 2 dirs):
21:11:52  <CIA-99>node: Revert "cluster: propagate bind errors"
21:11:52  <CIA-99>node: This reverts commit 30e462e91937ced3847af3fe9c393ebd32294b68. - http://git.io/f-feyA
21:11:53  <CIA-99>node: isaacs v0.6.11-release * r1eb1fe3 / (8 files in 6 dirs): (log message trimmed)
21:11:53  <CIA-99>node: 2012.02.17 Version 0.6.11 (stable)
21:11:54  <CIA-99>node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)
21:11:54  <CIA-99>node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis)
21:11:55  <CIA-99>node: * windows: support unicode argv and environment variables (Bert Belder)
21:11:55  <CIA-99>node: * tls: mitigate session renegotiation attacks (Ben Noordhuis)
21:11:55  <CIA-99>node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
21:23:50  * perezdquit (Quit: perezd)
21:27:16  <isaacs>weird that irc posts again if you push a tag.
21:27:18  <isaacs>oh well.
21:29:01  * travis-cijoined
21:29:01  <travis-ci>[travis-ci] joyent/node#446 (v0.6.11-release - 1eb1fe3 : isaacs): The build passed.
21:29:01  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/b6d6aca...1eb1fe3
21:29:01  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/694155
21:29:01  * travis-cipart
21:34:30  * AvianFluquit (Ping timeout: 240 seconds)
21:34:38  <CIA-99>node: isaacs v0.6.11-release * rf73f07e / src/node_version.h : Now working on 0.6.12 - http://git.io/skYonQ
21:36:41  <CIA-99>node: isaacs v0.6 * r1eb1fe3 / (8 files in 6 dirs): (log message trimmed)
21:36:41  <CIA-99>node: 2012.02.17 Version 0.6.11 (stable)
21:36:41  <CIA-99>node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)
21:36:41  <CIA-99>node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis)
21:36:41  <CIA-99>node: * windows: support unicode argv and environment variables (Bert Belder)
21:36:41  <CIA-99>node: * tls: mitigate session renegotiation attacks (Ben Noordhuis)
21:36:42  <CIA-99>node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
21:36:42  <CIA-99>node: isaacs v0.6 * rf73f07e / src/node_version.h : Now working on 0.6.12 - http://git.io/skYonQ
21:36:44  <CIA-99>node: isaacs v0.6 * r4672872 / Makefile : Fix #2770 Compile the OS X pkg as ia32 - http://git.io/L2AfSQ
21:36:44  <CIA-99>node: isaacs v0.6 * ra2851b6 / (3 files in 2 dirs):
21:36:44  <CIA-99>node: Revert "cluster: propagate bind errors"
21:36:45  <CIA-99>node: This reverts commit 30e462e91937ced3847af3fe9c393ebd32294b68. - http://git.io/f-feyA
21:36:45  <CIA-99>node: isaacs v0.6 * rdfed2ce / (17 files in 12 dirs): Merge branch 'v0.6.11-release' into v0.6 - http://git.io/23oajg
21:39:42  <isaacs>retweet every tweet! https://twitter.com/nodejs/status/170623307127861248
21:42:39  * travis-cijoined
21:42:39  <travis-ci>[travis-ci] joyent/node#447 (v0.6.11-release - f73f07e : isaacs): The build passed.
21:42:39  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/1eb1fe3...f73f07e
21:42:39  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/694245
21:42:39  * travis-cipart
21:43:19  <mjr_>isaacs: does this mean that 0.6.11 should have the dtrace ustack goodness out of th xbox?
21:43:29  * isaacsquit (Remote host closed the connection)
21:44:42  * travis-cijoined
21:44:42  <travis-ci>[travis-ci] joyent/node#448 (v0.6 - dfed2ce : isaacs): The build passed.
21:44:42  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/9764bea...dfed2ce
21:44:42  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/694257
21:44:42  * travis-cipart
21:48:03  * brsonquit (Ping timeout: 244 seconds)
21:48:27  * AvianFlujoined
22:00:52  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
22:44:22  * mralephquit (Quit: Leaving.)
22:59:56  <CIA-99>node: Ben Noordhuis v0.6 * r23c4278 / doc/api/tls.markdown : docs: fix tls markdown - http://git.io/NpT-AQ
23:04:47  <pfox___>the various uv_*_stop functions handle unref'ing the loop from the handle?
23:04:50  <pfox___>so that, after calling a _stop(), you can expect the stop callback to be called, if any, then thats it?
23:05:10  * travis-cijoined
23:05:10  <travis-ci>[travis-ci] joyent/node#449 (v0.6 - 23c4278 : Ben Noordhuis): The build was broken.
23:05:10  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/dfed2ce...23c4278
23:05:10  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/694733
23:05:10  * travis-cipart
23:05:56  <mmalecki>^ sorry, node worker just got upgraded. silly ruby throwing some random errors.
23:09:19  <bnoordhuis>pfox___: what stop callback?
23:10:05  <bnoordhuis>pfox___: atm the loop is ref'd when you create the handle and unref'd when you close it
23:10:27  <bnoordhuis>but we're going to change that from 'ref when active', 'unref when inactive' (unless overridden by the user)
23:10:42  <bnoordhuis>err, change to, not change from :)
23:11:50  <pfox___>hm.
23:12:11  <pfox___>i thought for some reason there was a way to register a general callback for when a special handle was unref'd/stop'd whatever
23:15:19  <CIA-99>libuv: Frank Denis master * r75ab1ba / src/unix/linux.c :
23:15:19  <CIA-99>libuv: linux: uclibc <0.9.32 doesn't have <ifaddrs.h>
23:15:19  <CIA-99>libuv: uclibc didn't provide ifaddrs.h before version 0.9.32 It explicitly didn't
23:15:19  <CIA-99>libuv: install it because (quoting) "the corresponding functionality is disabled". So,
23:15:19  <CIA-99>libuv: fix libuv on uclibc < 0.9.32 by returning ENOSYS for uv_interface_addresses() - http://git.io/k8oFTw
23:17:09  * travis-cijoined
23:17:09  <travis-ci>[travis-ci] joyent/libuv#99 (master - 75ab1ba : Frank Denis): The build is still failing.
23:17:09  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/372ed18...75ab1ba
23:17:09  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/694826
23:17:09  * travis-cipart
23:18:27  * paddybyersquit (Quit: paddybyers)
23:23:26  * isaacsjoined
23:26:43  <isaacs>mjr_: there were some dtrace fixes, yes.
23:27:00  <isaacs>mjr_: but you'd have to ask dap specifically, i didn't look terribly closely at it.
23:27:11  <mjr_>OK, sounds good
23:27:25  <isaacs>mjr_: i think this fixes some issue that's prevented CA from working properly on 0.6
23:27:26  <mjr_>Did you see that we blew up smartos with Danny's node-based load test?
23:27:37  <isaacs>no, but that sounds interesting
23:27:45  <mjr_>Like, panicked the kernel
23:27:48  <isaacs>wowzers!
23:27:50  <mjr_>node power
23:27:54  <dap>mjr_: the previous v0.6 should already have dtrace ustack support, though it will be better in the upcoming version because of -fno-omit-frame-pointer.
23:28:26  <mjr_>Cool, we'll update our stuff. Still wrestling with migration issues, and don't have anything in production yet.
23:30:51  <CIA-99>node: Dave Pacheco master * r7864bb9 / common.gypi :
23:30:51  <CIA-99>node: build: disable -fomit-frame-pointer on solaris
23:30:51  <CIA-99>node: This "optimization" cripples debuggability and has dubious performance value,
23:30:51  <CIA-99>node: so we want to disable it at least on SmartOS. - http://git.io/CBRnHQ
23:35:03  <CIA-99>node: Nathan Rajlich master * r0787287 / Makefile : build: remove 'config.mk' during `make distclean` - http://git.io/kwwqfQ
23:36:52  <bnoordhuis>isaacs: did you ask joyent legal about that openssl issue?
23:38:47  <isaacs>bnoordhuis: i think they've already signed off on our use of openssl
23:39:01  <isaacs>bnoordhuis: is someone complaining about this?
23:39:09  * benviequit
23:40:40  <bnoordhuis>there are rather agitated cops running around my neighbourhood... i wonder what's up?
23:40:54  <bnoordhuis>isaacs: not complaining but someone pointed it out to me
23:41:29  <isaacs>bnoordhuis: openssl sent cops!!??
23:41:39  <mjr_>RSA is a munition
23:41:42  * isaacscalls joyent's lawyer right away
23:42:01  <mjr_>Remember those shirts?
23:42:04  * sj26quit (Excess Flood)
23:42:09  <bnoordhuis>isaacs: some of the ciphers that ship with openssl may be covered by patents
23:42:32  <bnoordhuis>that's an american thing obviously
23:42:49  <isaacs>right
23:45:56  * sj26joined
23:47:25  * travis-cijoined
23:47:25  <travis-ci>[travis-ci] joyent/node#450 (master - 7864bb9 : Dave Pacheco): The build is still failing.
23:47:25  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/977e211...7864bb9
23:47:25  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/694888
23:47:25  * travis-cipart
23:50:35  * travis-cijoined
23:50:35  <travis-ci>[travis-ci] joyent/node#451 (master - 0787287 : Nathan Rajlich): The build is still failing.
23:50:35  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/7864bb9...0787287
23:50:35  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/694904
23:50:35  * travis-cipart