00:16:24  * piscisaureus_joined
00:49:17  * piscisaureus_quit (Ping timeout: 245 seconds)
01:29:22  * abraxasjoined
01:34:03  * TheJHquit (Ping timeout: 265 seconds)
01:46:05  * mmaleckijoined
02:02:41  * mmaleckiquit (Quit: Reconnecting)
02:03:00  * mmaleckijoined
02:20:25  * ericktjoined
02:21:44  * Benviequit
02:36:02  * brsonquit (Ping timeout: 252 seconds)
02:52:35  * ericktquit (Quit: erickt)
03:10:11  * stagasjoined
03:15:32  * philips_quit (Excess Flood)
03:16:44  * philips_joined
03:28:00  * mmaleckiquit (Quit: leaving)
03:34:05  * c4milojoined
03:52:22  * indexzerojoined
03:59:27  * ericktjoined
04:02:21  * c4miloquit (Remote host closed the connection)
04:03:26  * Ariaquit (Remote host closed the connection)
04:13:25  * stagasquit (Read error: Connection reset by peer)
04:22:39  * ericktquit (Quit: erickt)
04:24:56  * AlbireoX_changed nick to AlbireoX
04:41:48  * dshaw_joined
04:56:35  * c4milojoined
05:14:12  * c4miloquit (Remote host closed the connection)
06:31:34  * dshaw_quit (Quit: Leaving.)
06:52:45  * txdv_joined
06:53:08  * txdvquit (Ping timeout: 245 seconds)
07:07:15  <indutny>hey people
07:24:59  * `3rdEdenjoined
07:34:33  * rendarjoined
07:43:23  * `3rdEdenquit (Quit: gafadsfasfa)
07:52:54  * indexzeroquit (Quit: indexzero)
07:59:43  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
08:20:35  * saghuljoined
08:20:38  * mikealjoined
08:42:47  <indutny>bweaver:
08:42:48  <indutny>oops
08:42:49  <indutny>sorry
09:05:56  * mmaleckijoined
09:16:40  * hzjoined
09:33:25  * mmaleckiquit (Ping timeout: 252 seconds)
09:57:26  * AvianFluquit (Quit: AvianFlu)
10:04:18  * mmaleckijoined
10:12:36  * c4milojoined
10:25:17  * `3rdEdenjoined
11:04:46  * c4miloquit (Remote host closed the connection)
11:26:14  * TheJHjoined
11:27:57  * bnoordhuisjoined
11:35:38  * loladirojoined
11:49:42  * piscisaureus_joined
11:50:55  <indutny>piscisaureus_: bert
11:50:56  <indutny>hi
11:56:09  <piscisaureus_>hi fedor
11:56:13  <piscisaureus_>I am not on mac
11:57:31  <indutny>piscisaureus_: well, when are you going to reboot?
11:57:39  <indutny>I would like to ask you to finish reviewing that select patch
11:57:59  <bnoordhuis>piscisaureus_: uv_close(handle1, cb1); uv_close(handle2, cb2); <- all other things being equal, do the cbs run in order?
11:58:10  <bnoordhuis>i.e. first cb1, then cb2?
11:58:19  <piscisaureus_>bnoordhuis: no, not even close
11:58:36  <bnoordhuis>yeah, i was afraid of that
11:59:30  * chobi_e_changed nick to chobi_e
12:03:40  <bnoordhuis>piscisaureus_: issue: uv_fs_poll_t embeds a timer
12:04:00  <bnoordhuis>that timer should be closed before the the parent handle is closed
12:04:16  <bnoordhuis>alternatively, i could just malloc the timer and be done with it
12:12:05  <piscisaureus_>bnoordhuis: ah
12:12:20  <bnoordhuis>piscisaureus_: i think i'll go with mallocing the timer for now
12:12:36  <piscisaureus_>bnoordhuis: or - you could could uv__handle_close from the close callback of the timer
12:12:42  <piscisaureus_>bnoordhuis: that's probably easier even :-)
12:13:10  <piscisaureus_>bnoordhuis: btw - you should review indutny's select patch
12:13:21  <bnoordhuis>piscisaureus_: that won't work for several reasons
12:13:29  <piscisaureus_>bnoordhuis: several?
12:13:35  <bnoordhuis>well, at least two
12:13:55  <bnoordhuis>currently uv-unix runs close callbacks in lifo order
12:14:03  <bnoordhuis>i.e. last closed, first called
12:14:23  <piscisaureus_>bnoordhuis: I know
12:14:39  <bnoordhuis>i could hack up something and work around that
12:14:45  <bnoordhuis>but that would break uv_is_closing()
12:14:56  <bnoordhuis>that's what you get for adding convenience methods...
12:15:05  <bnoordhuis>so malloc it is for now
12:15:13  <piscisaureus_>bnoordhuis: so what you really want is not free() the uv_fs_poll_t before the timer is closed
12:15:14  <piscisaureus_>anyway
12:15:15  <piscisaureus_>whatever
12:15:16  <piscisaureus_>you want
12:15:21  <bnoordhuis>i want
12:15:24  <bnoordhuis>and i want it now!
12:17:53  * mmaleckiquit (Ping timeout: 268 seconds)
12:37:14  * piscisaureus_quit (Read error: Connection reset by peer)
12:38:02  * piscisaureus_joined
12:43:56  * TheJHquit (Ping timeout: 248 seconds)
12:55:54  <indutny>bnoordhuis: review!
12:55:59  <indutny>select and async tls sessions
12:56:10  <bnoordhuis>indutny: later today
12:56:19  <piscisaureus_>review review review
12:56:19  <bnoordhuis>busy fixing bugs
12:56:22  <piscisaureus_>review
12:57:04  <indutny>bugs bugs bugs
12:57:16  <piscisaureus_>always those stupid bugs
13:00:03  * mmaleckijoined
13:08:49  * TheJHjoined
13:12:24  <piscisaureus_>indutny: bnoordhuis: does either of you understand why gcc does this? https://github.com/joyent/node/commit/e8fd808dfb0065466712e5115b25f2c6ce984c14#commitcomment-1733720
13:12:24  <piscisaureus_>It seems to me that template functions are very commonly duplicated - it's not a good thing to complain about it.
13:12:43  <indutny>hm...
13:12:46  <indutny>this is odd
13:13:04  <indutny>from first sight it looks like a gcc bug
13:13:37  <bnoordhuis>piscisaureus_: it probably means you're declaring XXX more than once
13:13:49  <piscisaureus_>well, llvm has no problem with it and msvc actually wants you to do this (but that is also related to how dlls work)
13:13:50  <bnoordhuis>or rather, defining
13:13:55  <piscisaureus_>bnoordhuis: I know what it means
13:14:11  <piscisaureus_>bnoordhuis: but this is sort of "expected" if you use templates right
13:14:47  <piscisaureus_>if you have "template <typename T> void bar(T x) {}`
13:16:05  <piscisaureus_>... the compiler will compile an instatiation of this template into every object that uses that particular specialization
13:16:36  <bnoordhuis>so why do you need that?
13:16:47  <piscisaureus_>bnoordhuis: because msvc otherwise starts whining
13:16:48  <bnoordhuis>isn't Persistent<> marked dllspec?
13:17:32  <piscisaureus_>bnoordhuis: well, you can't mark a template for export
13:17:51  <bnoordhuis>indeed
13:17:56  <bnoordhuis>so why is it necessary?
13:18:37  <piscisaureus_>bnoordhuis: well... msvc complains that if you mark node::ObjectWrap for dllexport then all the non-private embedded types also have to be dllexported
13:19:32  <bnoordhuis>oh, this is about the handle_ field?
13:19:40  <piscisaureus_>bnoordhuis: yeah
13:19:44  <piscisaureus_>bnoordhuis: and constructor_template
13:20:21  <piscisaureus_>(and they are right btw :-))
13:36:49  * mmaleckiquit (Ping timeout: 268 seconds)
13:44:39  <piscisaureus_>bnoordhuis: so this timer closing thing... is that the cause of this "FSEvent memory corruption" bug?
13:54:11  <bnoordhuis>piscisaureus_: yes
13:54:16  <piscisaureus_>ah
13:54:26  <piscisaureus_>that one was pissing me off
13:54:31  * c4milojoined
13:59:11  * mmaleckijoined
14:04:52  * mmaleckiquit (Quit: Reconnecting)
14:05:10  * mmaleckijoined
14:16:03  * mmaleckiquit (Quit: Reconnecting)
14:16:20  * mmaleckijoined
14:20:14  * loladiroquit (Quit: loladiro)
14:32:18  * mmaleckiquit (Ping timeout: 245 seconds)
14:33:19  * mmaleckijoined
14:34:16  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/libuv/commit/58f152f <- can you try that on your windows computing device?
15:02:14  <piscisaureus_>bnoordhuis: I will try
15:02:22  <piscisaureus_>bnoordhuis: make test?
15:09:07  <bnoordhuis>piscisaureus_: wait one sec
15:09:42  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/libuv/commit/447dab0
15:09:49  <bnoordhuis>and yes, make test
15:10:58  <piscisaureus_>running
15:11:24  <piscisaureus_>hmm
15:12:15  <piscisaureus_>bnoordhuis:
15:12:16  <piscisaureus_>[% 21|+ 35|- 0]: tcp_unexpected_read
15:12:16  <piscisaureus_>`tcp_unexpected_read` failed: exit code 3
15:12:16  <piscisaureus_>Output from process `tcp_unexpected_read`:
15:12:16  <piscisaureus_>Assertion failed in test\test-tcp-unexpected-read.c on line 110: ticks <= 10
15:12:16  <piscisaureus_>=============================================================
15:12:16  <piscisaureus_>[% 100|+ 159|- 1]: Done.
15:12:17  <piscisaureus_>bnoordhuis: looks good
15:12:48  <bnoordhuis>cool
15:13:02  <bnoordhuis>re failing test, slowish computer?
15:13:09  <piscisaureus_>bnoordhuis: not quite slow
15:13:25  <piscisaureus_>bnoordhuis: this always fails on windows. On master I bumped the assert to <= 20
15:13:27  <piscisaureus_>and that works
15:13:30  <bnoordhuis>ah okay
15:13:42  <bnoordhuis>the ticks == 10 was a guestimate
15:13:49  <piscisaureus_>I saw that
15:14:25  <indutny>bnoordhuis: piscisaureus_: anything I could do for you guys?
15:14:54  <piscisaureus_>bnoordhuis: btw - it should me more "fastish" computer. You'll get more ticks if data is read from the socket in smaller chunks
15:15:07  <piscisaureus_>indutny: sure. get me a coffee
15:15:11  <piscisaureus_>indutny: -p
15:15:20  <indutny>piscisaureus_: hangover again?
15:15:25  <indutny>:D
15:15:26  <piscisaureus_>indutny: yeah bnoordhuis is going to review your patches soon
15:15:34  <indutny>good
15:15:37  * bnoordhuiswill
15:15:42  <indutny>I'm just searching for something to do meanwhile
15:15:46  <indutny>and after
15:15:58  <piscisaureus_>indutny: crack that crazy debugger bug?
15:16:03  <indutny>aaah
15:16:05  <indutny>that bug
15:16:05  <indutny>ok
15:16:25  <bnoordhuis>which one? the failing test case?
15:16:48  <piscisaureus_>bnoordhuis: https://github.com/piscisaureus/test-kill-inferior
15:16:53  <piscisaureus_>bnoordhuis: crashes on mac
15:17:12  * TooTallNatejoined
15:17:57  <bnoordhuis>piscisaureus_: crashes as in segfaults?
15:18:03  <piscisaureus_>bnoordhuis: yup
15:18:10  <bnoordhuis>ai
15:18:16  <bnoordhuis>master or v0.8?
15:18:26  <piscisaureus_>bnoordhuis: all
15:18:31  <bnoordhuis>ah okay
15:19:13  <piscisaureus_>bnoordhuis: so, tl;dr - "A node process being debugged crashes when a child process is killed"
15:19:43  <indutny>yeah, very interesting
15:19:53  <piscisaureus_>my suspicion would be that somewhere within the debug handler in v8 EINTR isn't handled correctly
15:20:12  <bnoordhuis>that wouldn't surprise me
15:20:22  <bnoordhuis>i fixed a couple of similar v8 bugs a while ago
15:20:25  <indutny>piscisaureus_: it's not really designed for that use :)
15:20:45  <indutny>we're overloading it with a lot of stuff it's not supposed to handle
15:20:52  <piscisaureus_>well, I don't know
15:20:56  <indutny>though, no bugs - good code
15:21:05  <piscisaureus_>I mean signals happen
15:21:12  <piscisaureus_>a good unix program deals with them
15:21:26  <piscisaureus_>Unix would be so nice if it had no signals
15:21:31  <piscisaureus_>but something more sensible
15:21:37  <indutny>what?
15:21:49  <indutny>and you know it's legacy :)
15:22:35  <piscisaureus_>structured exceptions :-p
15:23:00  <piscisaureus_>and not using signals for exiting child processes
15:23:01  <indutny>omg
15:23:07  <indutny>well yeah
15:23:10  * travis-cijoined
15:23:10  <travis-ci>[travis-ci] joyent/libuv#592 (v0.8 - 012cbda : Ben Noordhuis): The build was fixed.
15:23:10  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/ce87b7e14cbf...012cbda719a1
15:23:10  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2178309
15:23:10  * travis-cipart
15:23:16  <bnoordhuis>\o/
15:23:16  <indutny>signals are sent in many unexpected places
15:23:21  <indutny>EPIPE is the most awful
15:23:24  <indutny>bnoordhuis: ++
15:23:46  * mmaleckiquit (Quit: Reconnecting)
15:23:47  <piscisaureus_>bnoordhuis: I am changing node to use uv_signal instead of ev_signal
15:23:50  <piscisaureus_>just fyi
15:23:54  <bnoordhuis>piscisaureus_: good idea
15:24:04  * mmaleckijoined
15:24:08  <bnoordhuis>i was planning to do that :)
15:24:25  <piscisaureus_>I am about to land it
15:29:59  * loladirojoined
15:31:50  * mmaleckiquit (Quit: Reconnecting)
15:32:04  * TheJHquit (Ping timeout: 244 seconds)
15:32:09  * mmaleckijoined
15:32:45  * ericktjoined
15:35:45  <indutny>ld: duplicate symbol v8::Persistent<v8::Object>::Persistent()in /Users/indutny/Code/indutny/node/out/Debug/obj.target/node/src/cares_wrap.o and /Users/indutny/Code/indutny/node/out/Debug/obj.target/node/src/fs_event_wrap.o
15:35:47  <indutny>bnoordhuis: ^
15:35:52  * mmaleckiquit (Client Quit)
15:36:10  * mmaleckijoined
15:36:19  <bnoordhuis>indutny: https://github.com/joyent/node/commit/e8fd808
15:36:35  <indutny>I know
15:36:41  <indutny>I've just reverted it
15:36:43  <indutny>and it works
15:36:48  <indutny>that's osx btw
15:36:54  <bnoordhuis>i know :)
15:37:06  <piscisaureus_>let me guess - you're using gcc ?
15:37:09  <indutny>yes
15:37:14  <piscisaureus_>try llvm now
15:37:15  <indutny>4.2.1
15:37:19  <bnoordhuis>or gcc 4.5+
15:37:31  <indutny>ok, how/
15:37:32  <indutny>:D
15:37:46  <indutny>CXX=llvm-g++ ?
15:38:02  <tjfontaine>ewww, clang++
15:38:10  * mmaleckiquit (Client Quit)
15:38:27  * mmaleckijoined
15:38:38  <piscisaureus_>reasonable
15:38:55  <indutny>doing
15:39:01  <piscisaureus_>bnoordhuis: so it was a gcc bug that was fixes in 4.5?
15:39:50  <indutny>building v8
15:39:58  <indutny>or openssl
15:39:59  <indutny>not sure
15:40:02  <indutny>a lot of stdout junk
15:42:41  <indutny>em...
15:42:43  <indutny>what's clang++?
15:43:47  <tjfontaine>llvm-g(cc|++) is gcc 4.2 with llvm codegen, clang(++) is a replacement toolchain (save for ld for now)
15:43:58  <indutny>I've no clang++
15:44:02  <indutny>probably old osx version
15:44:04  <indutny>10.6.8
15:44:04  * mmaleckiquit (Quit: Reconnecting)
15:44:15  <tjfontaine>what version of xcode?
15:44:24  * mmaleckijoined
15:44:34  <indutny>3.2.6
15:45:06  <tjfontaine>hmm I think it was introduced around then
15:45:21  <indutny>idk
15:45:29  <indutny>using lvm-g++ now for C++
15:45:31  <indutny>and clang for C
15:45:37  <indutny>I wonder if it'll work after all :D
15:45:53  <tjfontaine>it should its just that c++ in clang was young at that time
15:50:05  * `3rdEdenchanged nick to `3E\Fooding
15:51:34  <indutny>em...
15:51:41  <indutny>it doesn't work with clang/lvm too
15:51:45  <indutny>the same error
15:52:02  <indutny>probably a linker bug
15:52:49  * AvianFlujoined
15:53:06  <piscisaureus_>well, TooTallNate said that it caused no trouble for him with gcc-llvm
15:53:12  <piscisaureus_>only with gcc-4.2
15:53:49  <indutny>TooTallNate: defend yourself!
15:53:52  <indutny>:)
15:54:05  * TooTallNatecatching up with the backlog
15:54:11  <indutny>how have you built it?
15:54:14  <indutny>with gcc-lvm?
15:54:16  <indutny>llvm*
15:55:05  <TooTallNate>indutny: you're on snow leopard?
15:55:09  <indutny>yes
15:55:35  <TooTallNate>oh ya, i have a snow leopard VM i can fire up
15:58:43  <TooTallNate>indutny: try to compile with CC=llvm-gcc CXX=llvm-g++
15:58:48  <indutny>ok
15:58:51  <indutny>that's what I did
15:58:54  <indutny>what about LD?
15:58:56  <TooTallNate>damn
15:58:57  <TooTallNate>haha
15:59:00  <TooTallNate>oh
15:59:04  <TooTallNate>LD=llvm-g++
16:00:12  <indutny>running it at the same time too
16:00:17  <indutny>I was trying without LD
16:00:32  * mitsuhikoquit (Ping timeout: 240 seconds)
16:00:51  <TooTallNate>in any case, let's just wrap that commit in a #ifndef like piscisaureus_ mentioned
16:01:02  <indutny>sure
16:01:06  <piscisaureus_>maybe just #ifdef _MSC_VER
16:01:12  <indutny>yes
16:01:18  <indutny>:)
16:01:29  <indutny>probably GCC too
16:01:30  <indutny>but not sure
16:01:40  * Raynosquit (Excess Flood)
16:02:02  <piscisaureus_>I meant "only when _MSC_VER is defined|
16:02:05  <TooTallNate>indutny: the original commit was to silence a windows warning
16:02:16  * stagasjoined
16:02:55  <indutny>yes
16:02:56  * Raynosjoined
16:02:59  <indutny>I don't care
16:03:40  * mitsuhikojoined
16:06:36  <piscisaureus_>I'd do it but my working tree is dirty
16:06:48  <piscisaureus_>I am tempted to use the github editor
16:07:00  <isaacs>piscisaureus_: oh, no, don't do that
16:07:11  <isaacs>piscisaureus_: maybe on your fork
16:07:28  <piscisaureus_>isaacs is trying to troll me into doing it
16:07:35  * mmaleckiquit (Quit: Reconnecting)
16:07:36  <isaacs>haha
16:07:43  <isaacs>the github editor scares me
16:07:53  * mmaleckijoined
16:07:56  * stagas_joined
16:07:59  <isaacs>it's so magical and unclear what it's actually doing, if it's committing, or sending a pull req, or what.
16:08:09  <isaacs>and then yo uhave this commit that never saw your laptop
16:08:51  <isaacs>i would actually love to go all linus on node and say that we can't accept any patches that aren't signed with a registered gpg key
16:09:07  <tjfontaine>amen.
16:09:16  * stagasquit (Ping timeout: 244 seconds)
16:09:20  * stagas_changed nick to stagas
16:09:40  <tjfontaine>that's part of my idea for git-dht actually
16:09:51  <isaacs>except that signing patches is still a pita, since there's only very recently support for signing anything other than tags
16:09:54  <bnoordhuis>a slightly higher barrier to entry isn't an entirely bad idea imo
16:10:53  <TooTallNate>indutny: did LD work?
16:12:02  <mmalecki>isaacs: please don't, that makes barrier of entry way higher
16:12:03  <creationix>bnoordhuis, could uv_poll be used to integrate with the android native activity system? https://gist.github.com/553308#file_native_activity.h
16:12:14  <mmalecki>I don't even have a gpg key
16:12:42  * dapjoined
16:13:43  <piscisaureus_>I am about to commit something edited in the github editor
16:13:47  <piscisaureus_>and if it's any comfort
16:13:54  <piscisaureus_>I will never do it again
16:14:54  <isaacs>mmalecki: get on that.
16:14:57  <isaacs>piscisaureus_: to where?
16:15:08  <bnoordhuis>piscisaureus_: git stash, you should try it
16:15:09  * deoxxawaits for the \r\n line endings
16:15:31  <bnoordhuis>creationix: what does it poll on?
16:15:32  <isaacs>the github editor is for brogrammers who code on their ipads.
16:16:44  * travis-cijoined
16:16:44  <travis-ci>[travis-ci] joyent/libuv#593 (master - 28ff142 : Ben Noordhuis): The build passed.
16:16:44  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/201b8f935fc0...28ff1422e8f7
16:16:44  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2178948
16:16:44  * travis-cipart
16:16:55  <TooTallNate>isaacs: hahaha, that was great
16:17:00  <creationix>bnoordhuis, I don't quite understand it
16:17:21  <creationix>I think it's how you get input events on android. I read somewhere that people were running the event loop in another thread
16:18:51  * chobi_echanged nick to chobi_e_
16:20:50  <bnoordhuis>creationix: it doesn't look like it gives you anything to poll on
16:21:01  <bnoordhuis>more like the reverse, you can add stuff to poll on
16:21:40  <creationix>hmm, does libuv allow integrating that direction?
16:24:15  <piscisaureus_>isaacs: https://github.com/joyent/node/commit/772b3bf4c806f881528718d1e0240392d0228c19
16:25:34  <piscisaureus_>creationix: I suppose you could write a libuv backend for that
16:26:37  <isaacs>piscisaureus_: only 12 characters too long on the subject line. nicely done :)
16:26:48  <isaacs>piscisaureus_: most github editor commits have 200-character headers.
16:27:01  <piscisaureus_>isaacs: 50 characters is really too short
16:27:15  <piscisaureus_>unless we go down the road of "Fix bug in xxx"
16:27:27  * joshthecoderjoined
16:27:36  <isaacs>i like 50 chars, but being descriptive is good.
16:27:47  <isaacs>if there's a bug number in the title, i don't think it should count
16:28:07  <indutny>TooTallNate: nope
16:28:22  <TooTallNate>what's up with CIA?
16:28:32  <piscisaureus_>To be honest: I think it's okay if it fits on one 80-char line when git log --oneline is used
16:28:46  <tjfontaine>TooTallNate: they changed some of their hosting, and have been down for most of the weekend
16:29:40  <TooTallNate>tjfontaine: ahhh
16:31:26  * bnoordhuisis off to dinner
16:38:20  * mmaleckiquit (Ping timeout: 272 seconds)
16:38:59  * dshaw_joined
16:52:37  * `3E\Foodingquit (Quit: Leaving...)
16:58:21  <piscisaureus_>I really miss the CIA
16:59:27  <piscisaureus_>(some alarm sounds in Langley, VA)
17:08:13  * bradleymeckjoined
17:09:35  * loladiroquit (Quit: loladiro)
17:12:38  <bradleymeck>does support for specifying which outbound network interface to use exist?
17:12:56  <piscisaureus_>bradleymeck: where?
17:13:01  <piscisaureus_>bnoordhuis: in node or in libuv?
17:13:16  <bradleymeck>piscisaureus_: libuv, im fairly sure node doesnt
17:13:16  * lohkeyjoined
17:13:36  <piscisaureus_>bradleymeck: you can uv_bind the socket to a particular ip
17:15:01  <piscisaureus_>bradleymeck: support for specifying the interface using IPV6_UNICAST_IF and that sort of thing isn't there
17:15:18  <indutny>yeah,
17:15:25  <indutny>usually different interfaces have different IPs
17:15:33  <indutny>otherwise it's generally quite a problem
17:16:06  <bradleymeck>yea, im just reading, trying to see if patching node makes sense even
17:16:44  <bradleymeck>we are going to want npm to be using a specific interface it looks like so might just have to write a small proxy, which would not be terrible, just not ideal
17:17:30  <piscisaureus_>there are internal, undocumented interfaces for doing this
17:17:31  <piscisaureus_>:-)
17:18:05  <bradleymeck>piscisaureus_: me no likey undocumented stuff if i can just write a proxy i know wont break
17:18:18  <piscisaureus_>bradleymeck: good
17:21:24  * brsonjoined
17:21:37  * travis-cijoined
17:21:37  <travis-ci>[travis-ci] joyent/libuv#595 (master - 8073a26 : Bert Belder): The build was broken.
17:21:37  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/28ff1422e8f7...8073a2637f82
17:21:37  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2179181
17:21:37  * travis-cipart
17:21:52  * travis-cijoined
17:21:52  <travis-ci>[travis-ci] joyent/libuv#595 (master - 8073a26 : Bert Belder): The build was broken.
17:21:52  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/28ff1422e8f7...8073a2637f82
17:21:52  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2179181
17:21:52  * travis-cipart
17:23:07  <piscisaureus_>The build was broken?
17:23:10  <piscisaureus_>I'm sorry but the VM stalled during your build and was not recoverable.
17:23:10  <piscisaureus_>We are continuosly working on test run stability, please email support@travis-ci.org if this issue persists.
17:23:17  <piscisaureus_>Travis was broken!
17:27:29  <isaacs>i got kinda fed up with travis lately, actually
17:27:36  * CoverSlidejoined
17:27:39  * ikjoined
17:27:41  <ik>man
17:27:42  <isaacs>it reports test failures just sporadically enough that i stopped trusting them
17:27:52  <ik>fuck travis
17:27:57  <ik>you know!?
17:28:14  * `3rdEdenjoined
17:29:29  <piscisaureus_>isaacs: what do you mean? Does it have too many false-positives or too many false-negatives?
17:30:38  * `3rdEdenquit (Client Quit)
17:31:45  * EhevuTovjoined
17:36:38  * hzquit (Ping timeout: 272 seconds)
17:37:19  * hzjoined
17:37:31  * TheJHjoined
17:39:44  <isaacs>piscisaureus_: false negatives
17:39:51  <isaacs>er, false "test failed"s
17:40:40  * lohkey_joined
17:41:08  <isaacs>the fourth or fifth time that i got the failure email, and went "oh shit!" and ran the tests a bunch of tiems, and found that it only failed because of some peculiar setup or network hiccup on travis's side, i stopped caring, and just started marking the emails as read automatically.
17:41:55  <isaacs>it's a good idea, and great for fully-isolated unit-test style testing, but for something like npm, i really need functional tests that use the network, or else it's not actually a valid test of very much
17:42:25  <isaacs>and i don't want to piece through which specific environment var is missing or wrong that makes me unable to access the $TMPDIR, etc.
17:42:51  <bradleymeck>isaacs: any complaint if i add localAddress to npm? it should fail silently on <0.8.0 for node but i think thats fine
17:43:51  * lohkeyquit (Ping timeout: 276 seconds)
17:43:51  * lohkey_changed nick to lohkey
17:50:38  * mikealquit (Quit: Leaving.)
17:53:10  <isaacs>bradleymeck: you don't need my permission to add packages to npm, that's the whole point ;)
17:53:23  <bradleymeck>isaacs: i meant to the client
17:53:35  <isaacs>ohhh, um... what for?
17:53:46  <isaacs>like, send the localAddress in the package docs when you publish?
17:53:48  * isaacsconfused
17:54:33  <bradleymeck>isaacs: we have an NIC to a private npm that we want to be sure npm sends using, so binding to that NIC's address would be needed
17:55:04  <isaacs>bradleymeck: so, what would this entail, exactly
17:55:09  * brsonquit (Ping timeout: 245 seconds)
17:55:53  * mmaleckijoined
17:57:06  <bradleymeck>isaacs: https://github.com/isaacs/npm-registry-client/blob/master/lib/request.js#L192 needs to accept a localAddress option in opts somehow
17:57:46  <isaacs>bradleymeck: does request do anything with localAddress?
17:58:10  <bradleymeck>isaacs: it has a closed issue about it, but i can check the code
17:58:22  * brsonjoined
17:58:35  <isaacs>k
17:59:25  <isaacs>i'm not opposed to it. as long as it defaults to the current behavior that's fine
18:01:58  <bradleymeck>isaacs, it should, will send PR in a bit https://github.com/mikeal/request/blob/master/main.js#L92 https://github.com/mikeal/request/blob/master/main.js#L510
18:05:34  * mmaleckiquit (Ping timeout: 245 seconds)
18:09:44  * bradleymeckquit (Quit: bradleymeck)
18:09:45  <isaacs>bradleymeck: k. add a `local-address` config in npmconf, and have npm-registry-client use that. also update npm's lib/utils/fetch.js (still haven't abstracted that part out fully yet)
18:11:32  * mikealjoined
18:18:50  * indexzerojoined
18:19:10  * indexzeroquit (Client Quit)
18:24:46  * piscisaureus_quit (Read error: Connection reset by peer)
18:25:43  * piscisaureus_joined
18:48:06  * loladirojoined
18:48:25  * mmaleckijoined
18:49:05  * mmaleckiquit (Client Quit)
18:49:20  * mmaleckijoined
18:54:39  <indutny>bnoordhuis: yt?
18:54:49  <indutny>or still on a siesta? :D
18:59:15  * brsonquit (Ping timeout: 276 seconds)
19:03:36  * brsonjoined
19:04:33  * mikealquit (Quit: Leaving.)
19:06:51  * mjr_joined
19:15:25  * `3rdEdenjoined
19:18:02  * indexzerojoined
19:21:23  * mikealjoined
19:29:43  * mmaleckiquit (Quit: leaving)
19:34:27  * bradleymeckjoined
19:37:20  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
19:57:57  * lohkeyquit (Quit: lohkey)
19:58:56  * lohkeyjoined
19:58:56  * lohkeyquit (Read error: Connection reset by peer)
20:00:46  <bnoordhuis>indutny: here
20:03:54  * brsonquit (Ping timeout: 245 seconds)
20:04:27  * lohkeyjoined
20:11:01  * brsonjoined
20:15:01  * igorzijoined
20:21:54  * bradleymeckquit (Quit: bradleymeck)
20:25:03  * hzquit
20:26:21  * loladiroquit (Ping timeout: 276 seconds)
20:28:32  * loladirojoined
20:30:59  * ericktquit (Quit: erickt)
20:33:41  * `3rdEdenquit (Quit: moving over to laptop, it's to damn hot here)
20:33:56  * indexzeroquit (Quit: indexzero)
20:36:46  * loladiroquit (Remote host closed the connection)
20:37:05  * loladirojoined
21:15:58  * TooTallNatequit (Ping timeout: 248 seconds)
21:29:00  * rendarquit
21:38:23  * travis-cijoined
21:38:23  <travis-ci>[travis-ci] joyent/libuv#596 (master - 5da380a : Fedor Indutny): The build was fixed.
21:38:23  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/8073a2637f82...5da380a5ca7f
21:38:23  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2181934
21:38:23  * travis-cipart
21:42:00  * lohkey_joined
21:43:06  * lohkey_quit (Client Quit)
21:46:18  * lohkeyquit (Ping timeout: 276 seconds)
21:54:27  * TooTallNatejoined
21:57:47  * piscisaureus_joined
21:58:19  <piscisaureus_>hey bnoordhuis or isaacs
21:58:25  <piscisaureus_>can either of you review https://github.com/joyent/node/pull/3890 ?
21:58:34  <bnoordhuis>piscisaureus_: yes
21:59:27  * joshthecoderquit (Quit: Leaving...)
22:00:50  * joshthecoderjoined
22:04:36  <piscisaureus_>also, any objections to node_signal_watcher, node_stat_watcher, node_io_watcher ?
22:06:39  * joshthecoderquit (Quit: Leaving...)
22:08:37  * loladiroquit (Quit: loladiro)
22:09:34  <piscisaureus_>bnoordhuis: seems like you have some painting to do in timer_wrap.cc :-p
22:10:06  <bnoordhuis>piscisaureus_: ?
22:10:23  <piscisaureus_>bnoordhuis: all the comments you had were from stuff I copied verbatim from timer_wrap.cc
22:10:28  <bnoordhuis>oh right
22:10:35  <bnoordhuis>i don't think i wrote that
22:10:49  <piscisaureus_>yeah, but you want to pain the bikeshed :-p
22:10:50  <bnoordhuis>it was that one guy, what's his name
22:11:00  <piscisaureus_>bnoordhuis: btw - that said, I agree with all of your comments this time
22:11:19  <piscisaureus_>(although neither of them are really a big deal)
22:12:14  <piscisaureus_>btw - on windows I compile with C++ exceptions off so I wonder what would happen if new() fails
22:12:31  * chobi_e_changed nick to chobi_e
22:14:23  <bnoordhuis>piscisaureus_: it'll still throw an exception
22:14:26  <bnoordhuis>or maybe it aborts
22:14:46  <bnoordhuis>gcc raises std::bad_alloc even with -fno-exceptions -fno-rtti
22:16:11  <piscisaureus_>bnoordhuis: https://github.com/piscisaureus/node/commit/cd27d52a08b8e161eb2cf1e422fe5f9ba75f11f5
22:16:16  * joshthecoderjoined
22:16:32  <piscisaureus_>bnoordhuis: yeah, I suppose it would - don't know what would happen probably the program would crash
22:16:44  <piscisaureus_>assert(x != NULL) after malloc is pretty pointless anyway :_)
22:18:19  <bnoordhuis>piscisaureus_: lgtm
22:20:46  <piscisaureus_>nice
22:21:11  <piscisaureus_>so why are node_io_watcher and node_stat_watcher still around <-- isaacs ?
22:21:19  <piscisaureus_>I am inclined to remove them
22:21:40  <isaacs>bnoordhuis: weren't those for fs.watchFile?
22:21:53  <isaacs>bnoordhuis: or did you port that to fs.watch()?
22:21:57  <isaacs>or some js-only thing?
22:22:20  <piscisaureus_>isaacs: node_stat_watcher was for fs.watchFile but no more (in master)
22:22:54  <bnoordhuis>isaacs, piscisaureus_ : node_stat_watcher uses uv_fs_poll_t now
22:23:06  <bnoordhuis>i.e. it backs fs.watchFile but with a libuv api
22:23:09  <piscisaureus_>so what about node_io_watcher
22:23:22  <bnoordhuis>can be nuked
22:23:26  <piscisaureus_>I think nobody will miss node_stat_watcher and node_signal_watcher
22:23:26  <isaacs>yeah, it looks like fs.watchFile is still using node_stat_watcher
22:23:26  <piscisaureus_>yeah
22:23:36  <piscisaureus_>ehh
22:23:38  <isaacs>people will miss StatWatcher
22:23:45  <isaacs> this._handle = new binding.StatWatcher();
22:23:53  <isaacs>(in fs.watchFile)
22:24:08  <piscisaureus_>that's master?
22:24:10  <piscisaureus_>odd
22:24:22  <piscisaureus_>since this actually works on windows now, and node_stat_watcher does not
22:24:29  <isaacs>i'm on 600a6468dc9067a358893f26ff46f1cd865f3c97
22:24:33  * indexzerojoined
22:24:57  <bnoordhuis>piscisaureus_: i rewrote node_stat_watcher to use uv_fs_poll_t a while ago
22:25:16  <piscisaureus_>bnoordhuis: ah so it is still called node_stat_watcher.cc - heh
22:25:30  <bnoordhuis>yeah, i didn't rename it
22:25:32  <piscisaureus_>I expected it to live in fs_poll_wrap.cc or something
22:25:32  <bnoordhuis>but feel free to
22:25:42  <piscisaureus_>right ok
22:25:54  <piscisaureus_>so how many compiled addons still rely on node_io_watcher ?
22:26:05  <bnoordhuis>no idea, don't care
22:26:11  <piscisaureus_>isaacs: is there any way to grep compiled addons? That would be super nice? :-)
22:26:18  <isaacs>no, there is not.
22:26:19  <piscisaureus_>er, to grep npm packaes
22:26:20  <isaacs>but yes, it would
22:26:24  <isaacs>yeah
22:26:29  <bnoordhuis>come to think of it, i don't think we ever exported the c++ api
22:26:34  <isaacs>the thing is, they're gzipped tarballs, inside a couchdb
22:26:42  <isaacs>but removing IOWatcher should be fine
22:26:43  <bnoordhuis>only the js side as an undocumented IOWatcher class
22:26:44  <isaacs>i don't htink we actually use it
22:26:54  <piscisaureus_>I am pretty sure we don;t
22:26:58  <isaacs>anyone doing that shoudl be using libuv for it anyway
22:27:02  <piscisaureus_>ok, shedding it
22:27:03  <piscisaureus_>yes
22:28:48  * ericktjoined
22:32:13  * travis-cijoined
22:32:13  <travis-ci>[travis-ci] joyent/libuv#597 (master - 3c526cb : Ben Noordhuis): The build passed.
22:32:13  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/5da380a5ca7f...3c526cb7e539
22:32:13  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2182552
22:32:13  * travis-cipart
22:33:44  * bentkusjoined
22:34:22  <piscisaureus_>so what's up with CIA exactly>
22:34:46  * chobi_echanged nick to chobi_e_
22:35:13  <piscisaureus_>I really miss it :-(
22:36:26  <bnoordhuis>it went on to a better place :(
22:36:42  <isaacs>yeah, i dunno
22:36:50  <isaacs>lemme look at it. one se
22:36:51  <isaacs>c
22:37:31  <isaacs>hm, it's active, but there's no url or other info for it in github
22:38:01  * isaacssigning up for CIA...
22:39:25  <isaacs>hm...
22:39:33  <isaacs>"payload deployed"
22:40:47  <isaacs>but no message
22:51:00  <piscisaureus_>hm
22:51:10  <piscisaureus_>cia.vc appears down from here
22:58:34  <isaacs>yep, from here as well
22:59:18  <TooTallNate>ya tjfontaine said it was something on their end
22:59:56  <isaacs>k
23:00:04  <isaacs>maybe someone in #node.js will build us a replacement
23:00:12  <isaacs>(see /topic)
23:01:21  * GitHub40joined
23:01:21  <GitHub40>[node] piscisaureus created test (+3 new commits): http://git.io/qEsZKg
23:01:21  <GitHub40>[node/test] process: use uv_signal instead of ev_signal - Bert Belder
23:01:21  <GitHub40>[node/test] Delete the old node_signal_watcher code - Bert Belder
23:01:21  <GitHub40>[node/test] Remove node_io_watcher - Bert Belder
23:01:21  * GitHub40part
23:01:32  <piscisaureus_>isaacs: ^-- that works
23:01:43  <piscisaureus_>isaacs: instead of using the cia hook, use the IRC hook
23:01:50  <piscisaureus_>isaacs: it only does one channel tho
23:02:21  <piscisaureus_>it's not as pretty as the CIA thing unfortunately
23:02:46  <isaacs>yeah, it's not
23:02:48  <isaacs>it's sad
23:03:32  <piscisaureus_>isaacs: so that was my private repo (I have no admin rights for joyent/*)
23:03:36  <piscisaureus_>will remove the hook now :-)
23:07:27  * travis-cijoined
23:07:27  <travis-ci>[travis-ci] joyent/libuv#598 (master - d90102e : Ben Noordhuis): The build passed.
23:07:27  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/3c526cb7e539...d90102e649e9
23:07:27  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2182817
23:07:27  * travis-cipart
23:12:03  * bentkusquit (Quit: Lost terminal)
23:13:07  * ericktquit (Quit: erickt)
23:15:30  * indexzeroquit (Quit: indexzero)
23:23:27  * travis-cijoined
23:23:27  <travis-ci>[travis-ci] joyent/libuv#601 (v0.6 - 2db0093 : Bert Belder): The build is still failing.
23:23:27  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/0233b92eacc0...2db009368a3d
23:23:27  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2182940
23:23:27  * travis-cipart
23:23:41  <piscisaureus_>bnoordhuis: does __read_mostly even matter one bit ?
23:24:14  <bnoordhuis>piscisaureus_: maybe not but i'm still using it
23:24:43  <bnoordhuis>i like that it puts everything in one data section, makes it easier to inspect in a debugger
23:26:30  <piscisaureus_>bnoordhuis: http://thecodeartist.blogspot.nl/2011/12/why-readmostly-does-not-work-as-it.html
23:27:16  <bnoordhuis>that's kind of old, __read_mostly is implemented on arm nowadays
23:28:37  <bnoordhuis>but it could be a no-op for all i care, it's nice that it signals the intent of the variable
23:30:20  * mikealquit (Quit: Leaving.)
23:32:53  * mikealjoined
23:34:33  * bradleymeckjoined
23:37:50  * lohkeyjoined
23:48:11  * EhevuTov_joined
23:51:05  * EhevuTovquit (Ping timeout: 245 seconds)
23:53:18  <piscisaureus_>bnoordhuis: what options do you commonly use when running valgrind?
23:53:46  <piscisaureus_>bnoordhuis: I want to generalize this libuv patch so we can do tests/run-tests --tool=valgrind
23:53:48  <piscisaureus_>or something
23:53:55  <piscisaureus_>bnoordhuis: I want to generalize this libuv patch so we can do tests/run-tests --tool=drmemory in my case :-)
23:57:07  <bnoordhuis>piscisaureus_: usually something like --leak-check=full --trace-origins=yes --num-callers=32
23:57:19  <bnoordhuis>oh, and --quiet
23:58:10  <bnoordhuis>okay, off to bed - sleep tight
23:59:16  * EhevuTov__joined