00:03:19  * tjfontainejoined
00:04:46  <TooTallNate>hmmm
00:04:53  <TooTallNate>http://cl.ly/image/2K0h2O401E3Q
00:05:18  <TooTallNate>^ anyone know why I'm getting that when trying to invoke sprintf()?
00:08:32  <TooTallNate>it's only when printing "%f" (not surprising)
00:15:11  * mmaleckiquit (Ping timeout: 248 seconds)
00:25:19  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
00:29:47  <TooTallNate>apparently this does it https://github.com/rbranson/node-ffi/commit/df52f8680901d89fcd8f4d65a00e7283cc6d371b
00:29:57  <TooTallNate>fixes it rather
00:30:36  <tjfontaine>hm, that's quite interesting
00:31:56  * avalanche123quit (Quit: Computer has gone to sleep.)
00:32:58  * avalanche123joined
00:41:25  * AvianFluquit (Quit: AvianFlu)
01:20:50  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
01:21:33  * mmaleckijoined
01:26:31  * mmaleckiquit (Ping timeout: 244 seconds)
02:56:11  * avalanche123quit (Quit: Computer has gone to sleep.)
03:28:15  * kristatejoined
03:28:34  * isaacswaves
03:33:35  * ircretaryjoined
03:33:39  <isaacs>ircretary: welcome back
03:33:39  <ircretary>isaacs: I'm not sure what to do with that command. Ask for help in PM.
03:33:41  <isaacs>ircretary: hi
03:33:42  <ircretary>isaacs: Hello :)
04:07:42  * bnoordhuisjoined
04:23:37  * CoverSlidequit (Ping timeout: 272 seconds)
04:49:23  * isaacstopic: liberal utopian vacation ~ http://piscisaureus.no.de/libuv/ - 0.9.2 releasing Monday 2012-09-17
05:16:32  * chobi_e_changed nick to chobi_e
05:27:36  * chobi_echanged nick to chobi_e_
05:29:17  <CIA-131>node: Ben Noordhuis v0.8 * r96ca59f / src/node.cc : process: fix setuid() and setgid() error reporting - http://git.io/tuvBEg
05:44:36  * paddybyersjoined
05:45:33  * avalanche123joined
05:50:50  * loladiroquit (Quit: loladiro)
05:56:50  * loladirojoined
05:58:27  * loladiroquit (Client Quit)
06:36:17  * FUUFREENODESTOPBjoined
06:37:23  * FUUFREENODESTOPBchanged nick to `3rdEden
06:57:21  * stagasjoined
07:11:27  * hzjoined
07:12:59  * rendarjoined
07:29:27  * avalanche123quit (Quit: Computer has gone to sleep.)
07:31:05  <indutny>bnoordhuis: hey
07:31:20  <indutny>how are you doing today?
07:59:32  <bnoordhuis>indutny: ho
07:59:34  <bnoordhuis>fine. you?
07:59:40  <indutny>fine too
08:02:17  <indutny>https://github.com/indutny/tlsnappy
08:02:22  <indutny>it is working ^
08:02:26  <indutny>(well, almost)
08:03:17  <bnoordhuis>define "almost"?
08:04:36  <indutny>there're some wierd SSL_read errors when benchmarking it with ab
08:04:42  <indutny>they're happening once a 10000 requests
08:04:46  <indutny>sometimes twice
08:06:45  <bnoordhuis>what kind of SSL_read error?
08:08:24  <indutny>idk
08:08:32  <indutny>it seems like it expects something to be read
08:08:34  <indutny>and can't do that
08:08:46  <indutny>I suppose it's SSL_ERROR_SSL
08:08:50  <indutny>i.e. protocol error
08:09:23  <indutny>also there're use-after-free, which appears even more rarely, but I've almost fixed it
08:09:28  <indutny>(doing some other stuff right now)
08:09:49  <indutny>with all that continuous ring buffers allocation and extensive locking it's quite fast
08:09:51  <indutny>800 req/sec
08:10:03  <indutny>and this is without openssl patches, i.e. on node 0.8.x
08:11:19  <bnoordhuis>800 req/s compared to?
08:12:47  <indutny>well, if compared to one threaded node.js https server
08:12:50  <indutny>it would be around
08:13:13  <indutny>331 req/s
08:13:22  <bnoordhuis>oh, that's a pretty big difference
08:13:23  <indutny>tlsnappy with one thread - 380 req/sec
08:13:29  <bnoordhuis>ah right
08:13:34  <bnoordhuis>still, a nice difference :)
08:13:38  <indutny>yeah
08:13:48  <indutny>and it was using only 3 cores
08:13:55  <indutny>because one core was occupied by ab itself
08:14:05  <indutny>I mean when I got 800 req/sec
08:14:17  <indutny>benchmarking on the same machine, I know :)
08:14:25  <indutny>bnoordhuis: I would be really glad if you'll test it
08:14:28  <indutny>on linux
08:15:02  <bnoordhuis>sure
08:17:47  <saghul>bnoordhuis hey
08:18:04  <bnoordhuis>saghul: ho
08:18:13  <saghul>bnoordhuis other than syntax, can you comment on what bert asked?
08:18:30  <indutny>aha
08:18:34  <bnoordhuis>saghul: i implicitly did by not commenting :)
08:18:51  <saghul>bnoordhuis nice :-) I'll fix the styling later today then!
08:19:01  <bnoordhuis>sweet, thanks
08:57:31  * saghulquit (Quit: Computer has gone to sleep.)
08:58:52  * saghuljoined
09:01:20  * saghulquit (Client Quit)
09:03:26  * saghuljoined
09:06:51  * diegojoined
09:07:09  * paddybyersquit (Quit: paddybyers)
09:10:10  * mmaleckijoined
09:24:36  <bnoordhuis>strace needs an option to either trace threads or child processes but not both...
09:28:09  <indutny>yeah
09:28:15  <indutny>strace is totally fucked, btw
09:28:28  <indutny>though it helped me to figure out fakeroot issue
09:29:03  <bnoordhuis>indutny: what's so bad about strace?
09:29:07  <bnoordhuis>it sure beats truss or dtruss
09:54:53  * `3rdEdenchanged nick to `3E|BRB
09:56:05  <mmalecki>bnoordhuis: does pine work with multiple accounts?
09:57:20  <bnoordhuis>mmalecki: yes
09:57:32  <mmalecki>bnoordhuis: <3
09:57:52  <mmalecki>actually, I have to write something like that in node
09:58:02  <mmalecki>*and* my IRC client
09:58:09  <mmalecki>*and* my IM client
10:25:32  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
10:53:09  * hzquit
10:53:44  * hzjoined
11:18:13  <indutny>bnoordhuis: it's not flexible enough
11:18:17  <indutny>I like dtracing
11:18:30  <indutny>it gives you much more abilities for the same price
11:22:38  <mmalecki>indutny: ++
11:26:09  * `3E|BRBquit (Quit: Linkinus - http://linkinus.com)
11:40:47  * turddasheedonjoined
11:43:12  * turddasheedonchanged nick to `3rdEden
12:04:41  * diegoquit (Ping timeout: 272 seconds)
12:36:45  * mmaleckichanged nick to mmalecki[away]
12:42:01  * piscisaureusjoined
12:42:28  * piscisaureus_joined
13:14:53  * philips_quit (Excess Flood)
13:15:04  * rvaggquit (*.net *.split)
13:15:29  * rvaggjoined
13:17:52  * philips_joined
13:37:17  * mmalecki[away]changed nick to mmalecki
13:52:33  * AvianFlujoined
14:07:36  <CIA-131>node: Robin Lee v0.8 * ra08271c / (3 files): doc: fix three typos - http://git.io/PfwX5g
14:12:18  * c4milojoined
14:15:57  * paddybyersjoined
14:57:35  <piscisaureus>saghul: bnoordhuis: so you guys don't care about uv_tcp_open being able to use a connected tcp socket?
14:57:52  <bnoordhuis>piscisaureus: not for now
14:57:58  <saghul>piscisaureus nope
14:58:42  * CIA-131quit (Ping timeout: 244 seconds)
14:58:44  <piscisaureus>we can do it in steps but the api isn't very useful when you can't do that
14:59:13  <piscisaureus>because on windows nothing will work except if you put a socket in there that's freshly minted with socket()
14:59:22  <piscisaureus>and I don't understand why that would be useful at all
14:59:41  <piscisaureus>e.g. if the socket is already bound, or connected, or listening, it will just err out somewhere
15:03:31  <saghul>piscisaureus it's useful if a library creates the socket and gives it to you
15:03:43  <saghul>eg, a Python socket ;-)
15:03:46  <piscisaureus>saghul: so why does the library do that?
15:03:57  <piscisaureus>does it not bind the thing etc?
15:04:14  <saghul>well, the user needs to call bind() and so on
15:04:23  <bnoordhuis>piscisaureus: does uv_fs_stat() set the st_dev field to something meaningful?
15:04:34  <bnoordhuis>on windows, that is
15:04:34  <saghul>but it's more convenient to create a TCP or UDP handle out of a socket that it is to use poll handles
15:04:36  <piscisaureus>bnoordhuis: not atm
15:04:41  <bnoordhuis>son of a...
15:04:42  <piscisaureus>saghul: ok, i get it
15:05:02  <piscisaureus>bnoordhuis: i can change that but we have to have our own stat struct
15:05:20  <piscisaureus>bnoordhuis: because st_dev and st_ino would have to be 128-bit values on windwos
15:05:42  <bnoordhuis>hmm, okay
15:05:49  <piscisaureus>and the libc version makes then a char
15:06:08  <bnoordhuis>piscisaureus: it's because of this -> https://gist.github.com/e45b10b67a5002b00bf7
15:06:26  <bnoordhuis>i need something so i can distinguish where an existing file has been deleted
15:06:41  <bnoordhuis>oldStatus and newStatus are -1 in that case so i need something to differentiate on
15:06:49  <bnoordhuis>on unix, it's easy, just check st_dev or st_nlink
15:07:04  <piscisaureus>bnoordhuis: is st_dev reliable when stat() fails??
15:07:26  <bnoordhuis>piscisaureus: it is because i zero the struct stat in that case :)
15:08:22  <piscisaureus>bnoordhuis: I completely miss why that change is necessary
15:08:28  <piscisaureus>bnoordhuis: so st_dev is always 0
15:08:34  <piscisaureus>bnoordhuis: you could use nlink on windows tho
15:08:42  <piscisaureus>because it works
15:10:31  <bnoordhuis>piscisaureus: it's always 1 though, isn't it?
15:12:32  <bnoordhuis>by the way, the reason it's necessary is to make 'watch file > first stat okay -> second stat fails with ENOENT' work
15:12:40  <bnoordhuis>that second stat is the first event that gets emitted
15:12:48  <bnoordhuis>but status==-1 because the file has gone MIA
15:13:03  <bnoordhuis>which is okay in itself
15:13:23  <bnoordhuis>but we have that compatibility hack in there
15:13:59  <bnoordhuis>i guess i could keep an nevents counter. if nevents==0 and newStatus==-1, let it pass through
15:14:49  <bnoordhuis>no, i guess that won't work either
15:16:20  <bnoordhuis>okay, i'll use nlink
15:20:31  <isaacs>good morning
15:23:13  <bnoordhuis>morning isaac
15:23:51  * rphillipsquit (Ping timeout: 246 seconds)
15:25:35  <piscisaureus>bnoordhuis: no it's not always 1
15:25:45  <piscisaureus>bnoordhuis: it's the number of hard links to that file
15:25:58  <bnoordhuis>piscisaureus: okay, good. i assume it only works on ntfs?
15:26:24  <piscisaureus>bnoordhuis: well, given that fat doesn't support hard links I suppose it's always 1 on fat
15:26:29  <piscisaureus>bnoordhuis: but 0 should never happen :-)
15:26:36  * rphillipsjoined
15:26:49  <piscisaureus>bnoordhuis: I also think that on unix it also doesn't work on fat :-)
15:28:57  <isaacs>there's some awful bug in cluster or tls, not sure which. but it's a bug in npm-www that's driving me crazy
15:29:01  <bnoordhuis>piscisaureus: you forget about the awesomeness that's umsdos
15:29:11  <bnoordhuis>isaacs: what happens?
15:29:37  <isaacs>bnoordhuis: well, requests just stop making it to the server.
15:29:46  <isaacs>bnoordhuis: the server is sitting there, says it's listening
15:29:50  <isaacs>0% cpu
15:29:55  <isaacs>but you make a request, and nada
15:30:20  * `3rdEdenquit (Quit: Leaving...)
15:30:26  <bnoordhuis>what do you see when you truss the process?
15:30:49  <isaacs>i did not truss. i gcore'd and i'm looking at that now
15:30:57  <isaacs>but there are 9 processes. the master? or the workers?
15:31:26  <bnoordhuis>the workers
15:31:37  <isaacs>k
15:31:39  <bnoordhuis>or is the master also accepting connections?
15:31:45  <isaacs>it shouldn't be
15:31:58  <isaacs>but i'll have to wait for it to happen again before i can do that
15:32:07  <isaacs>also: the "finish" event is not reliable enough
15:32:11  <isaacs>it doesn't occur sometimes
15:32:21  <bnoordhuis>when is sometimes?
15:32:23  <isaacs>not sure how that could be, reading through the code.
15:32:28  <bnoordhuis>ah :)
15:32:30  <isaacs>~1ce per day
15:32:50  <bnoordhuis>if you don't get finish, do you get close?
15:32:53  <isaacs>i had set up a timer to throw an error when finish didnt' happen within 30s.
15:33:10  <isaacs>so, that throw was hitting the domain, and restarting the server.
15:33:33  <isaacs>but it was happening a lot, so i tried not doing that, and now there are still timeouts, but the server eventually just kinda dies
15:33:36  <isaacs>half-dies :)
15:34:58  <isaacs>i'll try removing the timeout on 'close' as well as finish
15:35:07  <isaacs>close would be on the connection, or on the response?
15:38:17  <indutny>bnoordhuis: have you ever seen "Abort trap: 6" with node.js
15:38:22  <bnoordhuis>indutny: yes
15:38:27  <indutny>what does it means?
15:38:27  <bnoordhuis>frequently :)
15:38:28  <indutny>ENXIO ?
15:38:32  <bnoordhuis>no, SIGABRT
15:38:32  * dapjoined
15:38:34  <indutny>aah
15:38:39  <indutny>that's signal code
15:38:40  <indutny>not errno
15:38:41  <indutny>crap
15:38:43  <bnoordhuis>yes
15:38:52  <bnoordhuis>might be a triggered assert somewhere
15:38:58  <indutny>looks like so
15:39:30  <indutny>odd thing
15:39:33  <indutny>there're no stderr output
15:39:49  <indutny>except "Abort trap"
15:40:01  <bnoordhuis>isaacs: response
15:40:13  <bnoordhuis>indutny: turn on core dumps and inspect the core file
15:40:27  <bnoordhuis>indutny: i.e. ulimit -c unlimited
15:40:44  <indutny>yeah, I would like too
15:40:49  <indutny>but for some time it doesn't save it
15:40:54  <indutny>that's a freebsd server
15:41:10  <indutny>and I'm quite that I've directrory where it supposed to save those core dumps
15:41:55  <bnoordhuis>freebsd? the default config writes the core to $PWD
15:42:07  <indutny>oh
15:42:10  <indutny>really
15:42:14  <bnoordhuis>yes, really :)
15:42:38  <indutny>odd
15:42:39  <indutny>:)
15:42:42  <indutny>sysctl kern.coredump=1
15:42:46  <indutny>I suppose I need this
15:43:18  <bnoordhuis>yes
15:45:46  <indutny>let debugging start
15:47:01  * TooTallNatejoined
15:59:06  * xaqjoined
16:01:21  <isaacs>bnoordhuis: so, no, i'm not getting a 'close' event
16:01:36  <isaacs>bnoordhuis: also, i'm calling res.flush() after 2 seconds, just on the hunch that something isn't being flushed properly
16:01:41  <bnoordhuis>isaacs: okay, that's not supposed to happen
16:01:41  <isaacs>bnoordhuis: but that's not solving it.
16:01:44  <isaacs>yep
16:01:46  <isaacs>there's a bug somewhere
16:04:39  * CIA-130joined
16:04:44  <isaacs>i am not sure whether this "no finish event" bug is related to the "worker stops responding" bug
16:05:05  <isaacs>or if it's just that throwing keeps the worker from ever getting to that state, since it dies early
16:05:37  * perezdquit (Quit: perezd)
16:11:30  <CIA-130>libuv: Saúl Ibarra Corretgé master * rc8514b0 / (include/uv.h src/unix/pipe.c src/win/pipe.c): unix, windows: return error if uv_pipe_open fails - http://git.io/z3IDNQ
16:11:30  <CIA-130>libuv: Saúl Ibarra Corretgé master * rcc1c191 / (9 files in 5 dirs): unix, windows: add uv_tcp_open and uv_udp_open - http://git.io/uZ-b5Q
16:13:04  <saghul>nice :-)
16:13:13  * travis-cijoined
16:13:13  <travis-ci>[travis-ci] joyent/libuv#703 (master - cc1c191 : Saúl Ibarra Corretgé): The build passed.
16:13:13  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/3d9de13f1bd0...cc1c1912ca11
16:13:13  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2481175
16:13:13  * travis-cipart
16:15:06  * TheJHjoined
16:15:51  * hzquit
16:17:03  * stagasjoined
16:19:25  * loladirojoined
16:28:16  <TooTallNate>no "finish" event bug?
16:32:31  <isaacs>TooTallNate: occasionally, i'm seeing responses that never emit "finish"
16:32:33  <isaacs>which should be unpossible
16:37:13  <TooTallNate>isaacs: i *think* i encountered that as well in the past
16:38:05  * stagas_joined
16:40:56  * stagasquit (Ping timeout: 240 seconds)
16:41:00  * stagas_changed nick to stagas
16:41:44  * xaqquit (Remote host closed the connection)
16:48:46  * paddybyersquit (Quit: paddybyers)
16:51:08  <piscisaureus_>bnoordhuis: help me with linux. When I disable memory overcommit
16:51:09  <piscisaureus_>"The total address space commit for the system is not permitted to exceed swap + a configurable percentage (default is 50) of physical RAM."
16:51:09  <piscisaureus_>Why is that not 100% ?
16:53:50  * loladiroquit (Quit: loladiro)
16:55:49  * joshthecoderjoined
16:55:54  <bnoordhuis>piscisaureus: it's because of fork
16:56:27  <bnoordhuis>because memory pages are copy on write
16:58:32  <piscisaureus>bnoordhuis: huh
16:59:01  <piscisaureus>bnoordhuis: it could just as easily refuse to fork if that would lead to allocation > 100% right>
16:59:32  <piscisaureus>and it should just count COW memory twice
16:59:52  <bnoordhuis>piscisaureus: yes, but that potentially brings the system to a standstill
16:59:55  <piscisaureus>I mean, obviously these guys know better than me but I just don't understand
17:00:14  <bnoordhuis>piscisaureus: take node + v8 as an example
17:00:32  <bnoordhuis>v8 mmaps 768-1024 MB
17:00:40  <bnoordhuis>say your system has 2 GB of memory
17:01:02  <bnoordhuis>the kernel won't let node fork on the off chance that the fork touches all pages
17:05:49  * bnoordhuisis off to dinner
17:07:43  * loladirojoined
17:08:01  * ericktjoined
17:27:19  <CIA-130>node: isaacs v0.9.2-release * r9b6e7e0 / (AUTHORS ChangeLog src/node_version.h): wip - http://git.io/Nb-BsA
17:33:36  <CIA-130>node: isaacs v0.9.2-release * r64b7dc3 / (AUTHORS ChangeLog src/node_version.h): wip - http://git.io/Zg0LRQ
17:33:50  <isaacs>bnoordhuis, piscisaureus, TooTallNate, anyone else: Care to review, suggest rewordings for ChangeLog?
17:34:04  <isaacs>it'd be nice to condense it some more.
17:34:16  <TooTallNate>isaacs: which one is "darwin: fix build when minimum OS X version is specified"?
17:34:31  <TooTallNate>isaacs: i think some of the openssl ones can be consolidated
17:34:46  <TooTallNate>they're all part of the "v1.0.1c upgrade" IMO
17:34:56  <isaacs>yeah, that's treu
17:34:59  <isaacs>* tls, https: throw exception on missing key/cert (Ben Noordhuis)
17:35:02  <piscisaureus>isaacs: the darwin line can be removed - it's a fix for fsevents support
17:35:04  <isaacs>whoops, wrong paste :)
17:35:50  <mmalecki>isaacs: https://github.com/joyent/node/compare/master...v0.9.2-release#L1R35 - it has a shorter name I think /cc piscisaureus
17:36:26  <CIA-130>node: isaacs v0.9.2-release * r4cb7aa5 / (AUTHORS ChangeLog src/node_version.h): wip - http://git.io/QcAVuw
17:37:08  <CIA-130>node: isaacs v0.9.2-release * r949135f / (AUTHORS ChangeLog src/node_version.h): wip - http://git.io/4WAk1Q
17:37:37  <isaacs>mmalecki: you mean the ./configure --ninja thing?
17:38:20  <mmalecki>no, handshake cut-throug
17:38:57  <mmalecki>ah, right, you pushed moar commits
17:39:03  <isaacs>oh, i just condensed all those into "upgrade openssl"
17:39:11  <mmalecki>cool :)
17:39:16  <isaacs>lookin good now
17:39:59  <mmalecki>that lgtm anyway
17:40:01  * bweaverquit (Quit: Coyote finally caught me)
17:40:19  <mmalecki>except api should be uppercase
17:40:45  <mmalecki>but meh, I guess
17:40:50  <TooTallNate>isaacs: lgtm
17:46:00  <isaacs>i'm also gonna squeeze in this url-faster patch
17:46:08  <isaacs>since it does cut the benchmark in half :)
17:46:17  <isaacs>just runing tests again
17:47:03  <isaacs>looks like the only regression is that darwin fs-watch thingie
17:47:09  <isaacs>which i'm 100% ok with fixing in 0.9.3
17:47:24  <TooTallNate>ya i don't think anyone minds :p
17:47:26  <isaacs>(perhaps by just fixing the test, even)
17:47:33  <TooTallNate>since it's just the test that's broken anyways
17:47:35  <TooTallNate>ya
17:47:48  <isaacs>well, it IS different from other platforms that report the filename
17:47:54  <isaacs>the naive fix doesn't make it work
17:48:03  <isaacs>which implies to me that our "has filename args" contract is not so consistent
17:48:24  <isaacs>but we can just fix that with docs, maybe, if it's too hazardous or impoessible to make it consistent.
17:49:16  <TooTallNate>seemed to me like we just need to path.resolve() the result or something :D
17:49:21  <TooTallNate>i haven't really looked at it
17:49:35  * ericktquit (Quit: erickt)
17:49:55  * ericktjoined
17:50:56  <isaacs>ok, some pummel test failures that i'm accustomed to seeing.
17:50:59  <isaacs>moving ahead!
17:52:41  * bweaverjoined
17:52:54  * bweaverpart
17:54:48  <isaacs>tarball in the usual place.
17:55:31  * isaacslunch and yoga, will release in 0.9.2 in 2 hrs. leave a message now or forever hold your peace :)
18:02:53  * mikealjoined
18:06:40  * brsonjoined
18:10:29  * paddybyersjoined
18:32:21  <CIA-130>node: isaacs v0.9.2-release * r7144be7 / (lib/url.js test/simple/test-url.js): url: Go much faster by using Url class - http://git.io/fXONyA
18:32:21  <CIA-130>node: isaacs v0.9.2-release * r786241c / (AUTHORS ChangeLog src/node_version.h): wip - http://git.io/BzzkoQ
18:37:40  * V1joined
18:38:07  * V1changed nick to `3rdEden
18:44:03  <TooTallNate>isaacs: ^ what made you think to try that?
18:44:07  <TooTallNate>Url class
18:46:03  <tjfontaine>perhaps it was that youtube video that talked about initializing fields in the same order so the jit can recognize the methods as monomorphic
18:46:36  * kristatequit (Ping timeout: 240 seconds)
18:56:49  * joshthecoderquit (Quit: Leaving...)
19:00:58  <txdv>piscisaureus: I have that pull request with propositions to make porting easier
19:13:29  * `3rdEdenquit (Remote host closed the connection)
19:22:28  * hzjoined
19:23:21  <indutny>bnoordhuis: heya
19:23:29  <indutny>bnoordhuis: have this guys signed a CLA https://github.com/joyent/node/pull/3980 ?
19:23:33  <indutny>s/guys/guy
19:23:39  <indutny>btw, can you add me to that google doc
19:23:45  <indutny>so I won't ever ask this question
19:25:06  <indutny>isaacs: ^
19:25:09  <indutny>isaacs: hi, btw :)
19:25:14  <indutny>and changelog lgtm
19:26:37  <indutny>isaacs: btw, 22804a9e
19:26:39  <indutny>mistake mistake
19:26:50  * indutnyis signing a typo song
19:27:11  <TooTallNate>hahaha
19:43:59  * joshthecoderjoined
20:06:07  * ericktquit (Ping timeout: 248 seconds)
20:10:03  * ericktjoined
20:11:10  <bnoordhuis>indutny: don't think so
20:11:20  <indutny>yeah, me too
20:11:23  <indutny>he's not in AUTHORS
20:12:17  <bnoordhuis>indutny: https://github.com/joyent/node/issues/4028 <- can you fix that?
20:13:11  <indutny>bnoordhuis: lets see
20:13:38  <indutny>oh, here is the problem
20:13:42  <indutny>so it's emitting absolute path
20:13:50  <indutny>and both windows and linux are emitting relative
20:14:51  <bnoordhuis>relative is right
20:14:52  <indutny>bnoordhuis: I can polyfill that in js, would that work?
20:15:33  <bnoordhuis>indutny: it should be addressed in libuv
20:16:09  <indutny>oh
20:16:13  <indutny>bnoordhuis: ok
20:16:16  <indutny>lets see
20:24:42  * hzquit
20:26:24  * joshthecoderquit (Read error: Connection reset by peer)
20:26:28  * jroessleinjoined
20:26:33  <indutny>bnoordhuis: going to run realpath() before starting polling
20:26:39  <indutny>bnoordhuis: and substract it from emitted event's path
20:27:00  <bnoordhuis>indutny: you know all the things that are wrong with realpath(), do you?
20:27:39  <indutny>no, not really
20:29:19  <indutny>bnoordhuis: shed the light on it
20:29:35  <bnoordhuis>i'm trying to find an article...
20:30:12  <piscisaureus>i believe mac os is the worst there
20:30:22  <indutny>ok
20:30:26  <bnoordhuis>indutny: If resolved_name is not a null pointer and {PATH_MAX} is not defined as a constant in the <limits.h> header, the behavior is undefined.
20:30:29  <indutny>just show me the better way to do it
20:30:38  <indutny>bnoordhuis: oh crap
20:30:51  <indutny>bnoordhuis: well, I'm putting NULL there
20:31:20  <bnoordhuis>indutny: you know what's awesome? this is what an older version of posix says about it:
20:31:22  <bnoordhuis>If resolved_name is a null pointer, the behavior of realpath() is implementation-defined.
20:31:28  <indutny>haha
20:31:30  <indutny>ok
20:31:32  <bnoordhuis>you can't win
20:31:36  <indutny>please suggest anything else
20:31:50  <indutny>FSEvents is emitting absolute path
20:31:53  <indutny>but
20:32:07  <indutny>I can create FSEventStream using relative path
20:32:32  <bnoordhuis>indutny: just emit the basename?
20:32:39  <indutny>won't work
20:32:43  <indutny>it works for subdirectories too
20:32:47  <bnoordhuis>so?
20:32:47  <indutny>i.e. it's recursive
20:32:50  <bnoordhuis>ah
20:33:24  <indutny>suggestions?
20:33:31  <bnoordhuis>indutny: what happens if you start watching /foo and then rename /foo to /bar?
20:33:42  <indutny>bnoordhuis: it'll stop emitting events
20:33:42  <bnoordhuis>does it emit events for /foo/quux or /bar/quux?
20:33:48  <bnoordhuis>okay
20:33:48  <indutny>unless I'll specify flag
20:34:04  <indutny>kFSEventStreamEventFlagRootChanged
20:34:34  <indutny>oh wait
20:34:46  <indutny>kFSEventStreamCreateFlagWatchRoot
20:34:50  <indutny>ah, that's it ^
20:34:54  <bnoordhuis>indutny: i guess you could copy the realpath implementation from lib/fs.js
20:35:03  <bnoordhuis>it'll be a pain to implement in c though
20:35:28  <bnoordhuis>indutny: is PATH_MAX always defined on os x?
20:35:34  <indutny>idk
20:35:39  <indutny>I have only one computer
20:35:50  <piscisaureus>it is here
20:35:52  <bnoordhuis>what does `grep -r PATH_MAX /usr/include` print?
20:35:53  <indutny>I suppose it is
20:35:53  <indutny>1024
20:36:00  <indutny>bnoordhuis: I just did it
20:36:00  <indutny>1024
20:36:03  <bnoordhuis>okay
20:36:17  <bnoordhuis>only 1024 bytes...
20:36:56  <bnoordhuis>indutny: i guess you can use realpath, seeing that it doesn't have to be portable
20:37:28  <indutny>ok
20:37:30  <indutny>next thing
20:37:41  <indutny>suppose you're watching directory "watch_dir"
20:37:42  <indutny>but
20:37:45  <indutny>on OSX < 10.7
20:37:51  <indutny>you'll get event with path like this
20:38:00  <indutny>"/absolute/path/watch_dir/"
20:38:07  <indutny>when file changed inside it
20:38:15  <indutny>should I emit "/", "" or "." ?
20:38:36  <indutny>interesting question, isn't it? :)
20:40:16  <TooTallNate>what do you get on >= 10.7?
20:40:21  <indutny>https://github.com/joyent/libuv/pull/557
20:40:25  <indutny>TooTallNate: filename
20:40:27  <indutny>well
20:40:33  <indutny>"/absolute/path/watch_dir/filename.txt"
20:40:35  <bnoordhuis>indutny: watch_dir/foo => foo
20:40:40  <indutny>that's right
20:40:44  <indutny>what about "watch_dir/"
20:40:55  <indutny>it's like something has changed there
20:41:01  <indutny>but I don't really know what it was
20:41:15  <bnoordhuis>indutny: you mean the change event for the directory itself?
20:41:38  <TooTallNate>indutny: you mean on < 10.7, when a file is changed from within, you're not given the filename?
20:42:10  <indutny>TooTallNate: yes
20:42:12  <indutny>bnoordhuis: no
20:42:43  <indutny>I can emit NULL as path
20:42:45  <indutny>on osx < 10.7
20:42:45  <indutny>but
20:42:49  <indutny>it's useful sometimes
20:42:51  <indutny>i.e.
20:42:55  <indutny>if you're watching "watch_dir"
20:43:02  <indutny>but file was changed in "watch_dir/subdir"
20:43:09  <indutny>it'll emit "/absolute/watch_dir/subdir/"
20:43:28  <indutny>ok, lets NULL it
20:43:31  <indutny>fuck it
20:43:44  <indutny>better no support, than diverse outputs
20:45:17  <bnoordhuis>yes
20:47:13  <piscisaureus>indutny: fsevents should not report changes in subdirs. No other implementation of watch does that.
20:47:43  <indutny>piscisaureus: this is a feature!
20:47:49  <piscisaureus>indutny: disagree
20:47:52  <indutny>piscisaureus: it was the main reason for me to implement this
20:47:58  <indutny>piscisaureus: also you can't stop this
20:48:03  <indutny>hahahaaha
20:48:11  <indutny>there're no options for this
20:48:17  <piscisaureus>indutny: we made room in the libuv api to support this, but we decided not to
20:48:25  <piscisaureus>indutny: of course you can filter those events out :-)
20:49:00  <indutny>are you serious?
20:49:07  <piscisaureus>indutny: yes
20:49:14  <indutny>I know some people who're excited about this
20:49:18  <indutny>and they'll kill me
20:49:34  <piscisaureus>indutny: my main motivation for wanting this is that fsevents actually works, as opposed to kqueue
20:49:39  <piscisaureus>indutny: we can add a flag I suppose
20:49:58  <indutny>doesn't inotify support recursive changes?
20:50:07  <piscisaureus>indutny: nope
20:50:13  <piscisaureus>indutny: windows does but we turned it off
20:50:19  <indutny>so
20:50:24  <indutny>may be someone should polyfill this in inotify
20:50:34  <indutny>and other unix stuff
20:50:40  <piscisaureus>indutny: on linux it could be supported with fanotify but there's no support for this atm
20:50:41  <indutny>ah
20:50:47  <indutny>well
20:50:52  <piscisaureus>also fanotify is relatively new - you should ask bnoordhuis for the details
20:50:59  <indutny>so
20:51:22  <bnoordhuis>fanotify only works if you're root, not really an option
20:51:27  <indutny>I think I can just filter out events that have back non-escaped backslashes in them
20:51:38  <indutny>s/back//
20:51:51  <piscisaureus>yes
20:52:04  <indutny>oh deer
20:52:14  <piscisaureus>bnoordhuis: only as root. fucking linux
21:00:23  <CIA-130>node: Alex Xu master * r68abec5 / configure : configure: always use shlex instead of split - http://git.io/9U7Pvg
21:00:50  <tjfontaine>well CAP_SYSADM probably, which unfortunately doesn't have a significantly different meaning
21:00:59  <CIA-130>node: Alex Xu master * rfb6c314 / configure : configure: always use shlex instead of split - http://git.io/ZubSVg
21:01:02  <bnoordhuis>tjfontaine: yes, that
21:03:31  <bnoordhuis>indutny: #ifdef MAC_OS_X_VERSION_10_7 <- is that correct?
21:03:43  <bnoordhuis>what if you run 10.8?
21:03:53  <tjfontaine>it will still be defined
21:04:01  <piscisaureus>bnoordhuis: i wrote that. it is correct
21:04:11  <bnoordhuis>one does not imply the other, bertje :)
21:04:14  <piscisaureus>and i am running 10.8 :-)
21:04:19  <bnoordhuis>but okay
21:05:34  <piscisaureus>indutny: re some people killing you - it comes with the job
21:07:41  <indutny>haha
21:07:52  <indutny>bnoordhuis: putting finishing touches
21:08:37  <bnoordhuis>why is building node with xcode a good thing? easy signing?
21:08:39  <indutny>bnoordhuis: please rereview
21:08:43  <indutny>bnoordhuis: idk
21:08:45  <indutny>bnoordhuis: never used it
21:08:53  <bnoordhuis>tjfontaine: ?
21:08:59  <indutny>bnoordhuis: please rereview, since I've rewrote it partially
21:09:12  * bnoordhuisslumps back
21:09:32  <tjfontaine>bnoordhuis: theoretically easier signing and building of fat binaries
21:10:01  <TooTallNate>fat binaries will need some more work
21:10:13  <tjfontaine>yes
21:10:18  <tjfontaine>a custom scheme
21:10:42  <TooTallNate>but it would be nice to ditch lipo
21:11:17  <tjfontaine>bnoordhuis: in an ideal world everything for mac release is done by isaacs with a Makefile rule that spawns the right xcodebuild stanza
21:11:20  <indutny>piscisaureus: btw
21:11:23  <indutny>piscisaureus: can you test it?
21:11:48  <indutny>piscisaureus: https://github.com/joyent/libuv/pull/557
21:11:53  <piscisaureus>meh
21:11:58  <piscisaureus>i have to reboot
21:12:01  <piscisaureus>i am running linux atm
21:12:15  <indutny>TooTallNate: may be you?
21:12:23  <isaacs>indutny: what's wrong with 22804a9e?
21:12:34  <indutny>isaacs: look at it
21:12:35  <indutny>:)
21:12:48  <indutny>https://github.com/joyent/node/commits/22804a9e
21:12:49  <TooTallNate>isaacs: typo
21:12:56  <indutny>wrong link
21:12:57  <indutny>https://github.com/joyent/node/commit/22804a9e
21:13:04  <indutny>you even have a test there :)
21:13:07  <indutny>but who cares
21:13:33  <isaacs>indutny: added you to the cla doc
21:13:42  <indutny>isaacs: nice, thank you!
21:14:48  <tjfontaine>indutny: I haven't tested libuv master recently, but so far the results don't look good
21:14:51  <isaacs>indutny: i don't actually remember that very well. it was a month ago.
21:14:58  <indutny>haha
21:15:05  <indutny>tjfontaine: what results?
21:15:08  <tjfontaine>indutny: lots of similar `fs_chown` failed: timeout
21:15:14  <indutny>that should not be related
21:15:39  * tjfontaineruns make clean all test
21:16:51  <tjfontaine>`fs_event_watch_dir` failed: exit code 6
21:16:51  <tjfontaine>Output from process `fs_event_watch_dir`:
21:16:51  <tjfontaine>Assertion failed in test/test-fs-event.c on line 101: filename == NULL || strcmp(filename, "file1") == 0
21:17:06  <indutny>tjfontaine: oh crap
21:17:09  <indutny>tjfontaine: wouldn't it be hard for you to fprintf() filename there?
21:17:21  <indutny>or just gdb it
21:19:01  <tjfontaine>doesn't seem to be any output, lemme gdb
21:20:47  * ericktquit (Remote host closed the connection)
21:20:56  <tjfontaine>indeed gdb says it's empty
21:21:07  * ericktjoined
21:21:10  <indutny>empty
21:21:12  <indutny>hm...
21:21:12  <tjfontaine>fs_event_cb_dir (handle=0x100085970, filename=0x100300868 "", events=1, status=0)
21:21:26  <indutny>this is really interesting
21:21:27  <indutny>ok
21:21:32  <indutny>just a sanity check
21:21:49  <indutny>b fsevents.c:121
21:21:54  <indutny>p path
21:21:56  <indutny>p handle->realpath
21:22:06  <indutny>tjfontaine: please
21:22:07  <indutny>:)
21:22:30  * mikealquit (Quit: Leaving.)
21:22:56  <tjfontaine>(gdb) p path
21:22:56  <tjfontaine>$2 = 0x1001ff000 "/Users/tjfontaine/Development/libuv/watch_dir"
21:22:56  <tjfontaine>Current language: auto; currently c
21:22:56  <tjfontaine>(gdb) p handle->realpath
21:22:56  <tjfontaine>$3 = 0x101000000 "/Users/tjfontaine/Development/libuv/watch_dir"
21:24:05  <indutny>ahha
21:24:12  <indutny>tjfontaine: what's your OS version?
21:24:23  <tjfontaine>10.8
21:24:28  <indutny>well
21:24:33  <indutny>that's very interesting
21:24:44  <indutny>tjfontaine: can you inspect `paths`?
21:25:10  <tjfontaine>(gdb) p paths[0]
21:25:11  <tjfontaine>$5 = 0x1001ff000 "/Users/tjfontaine/Development/libuv/watch_dir"
21:25:11  <tjfontaine>(gdb) p paths[1]
21:25:11  <tjfontaine>$6 = 0x1001ff02e "/Users/tjfontaine/Development/libuv/watch_dir/file1"
21:25:30  <indutny>oh
21:25:35  <indutny>that's what I was afraid of
21:25:47  <indutny>and one more thing please
21:25:49  <indutny>eventFlags[0]
21:25:56  <indutny>and eventFlags[1]
21:26:04  <tjfontaine>(gdb) p eventFlags[0]
21:26:04  <tjfontaine>$8 = 131840
21:26:04  <tjfontaine>(gdb) p eventFlags[1]
21:26:04  <tjfontaine>$9 = 66304
21:26:35  * mikealjoined
21:26:54  <indutny>kFSEventStreamEventFlagRootChanged
21:26:55  <indutny>ok
21:26:59  <indutny>I'll add it to patch
21:27:33  <indutny>odd that it has emitted this event
21:27:55  <indutny>Events with this flag
21:27:55  <indutny> * set will only be sent if you passed the flag
21:27:55  <indutny> * kFSEventStreamCreateFlagWatchRoot to FSEventStreamCreate...() when
21:27:55  <indutny> * you created the stream.
21:28:10  <isaacs>indutny: i'm not seeing the typo on https://github.com/joyent/node/commit/22804a9e
21:28:13  <indutny>you see
21:28:13  <indutny>it should not be there w/o that flag
21:28:13  <isaacs>i've looked and looked
21:28:26  <indutny>isaacs: ok
21:28:31  <indutny>isaacs: you're good then
21:28:32  <isaacs>am i missing something?
21:28:39  <indutny>tjfontaine: can you please pull this branch once again
21:28:44  <indutny>tjfontaine: I've force pushed it with fixes
21:28:50  * isaacsmisses a lot, wouldn't be the first time
21:28:54  <indutny>isaacs: s/resolvedArgv/resolvedArg/
21:28:58  <indutny>np
21:29:26  <isaacs>oh!!
21:29:30  <TooTallNate>hahah
21:29:30  <isaacs>yes, that's a bug
21:29:43  <indutny>isaacs: well, it's fixed
21:29:45  <isaacs>global leak
21:29:46  <indutny>isaacs: by one guy
21:29:52  <indutny>who hasn't signed CLA yet
21:30:16  <isaacs>ahh, i see
21:30:46  <isaacs>what's his name? emily emailed me someone's scanned fax thing
21:30:55  <tjfontaine>indutny: filename is still empty here
21:31:00  * isaacsreally ought to edit the doc to not allow print/fax workflow
21:31:02  <indutny>tjfontaine: wat?
21:31:13  <indutny>isaacs: https://github.com/joyent/node/pull/3980
21:31:16  <indutny>I don't know his name
21:31:41  <indutny>tjfontaine: b fsevents.c:107
21:31:53  <TooTallNate>just "tasogarepg" apparently :p
21:31:58  <indutny>tjfontaine: p (eventFlags[i] & kFSEventStreamEventFlagRootChanged)
21:32:16  <indutny>it should be non-zero for i = 0
21:32:20  <indutny>and zero for i = 1
21:33:57  <tjfontaine>hang on work interrupted
21:35:28  <indutny>ok
21:35:33  <indutny>it's time to sleep then
21:35:37  <indutny>thanks for your help :)
21:35:55  * CIA-130quit (Ping timeout: 250 seconds)
21:36:06  <tjfontaine>kFSEventStreamEventFlagRootChanged isn't in scope, do you know what the literal is or should I look it up
21:38:06  <tjfontaine>(gdb) p (eventFlags[0] & 0x00000020)
21:38:06  <tjfontaine>$2 = 0
21:38:06  <tjfontaine>(gdb) p (eventFlags[1] & 0x00000020)
21:38:07  <tjfontaine>$3 = 0
21:39:25  <bnoordhuis>hmm, i don't see a flag with value 0x20
21:39:39  <tjfontaine>in internal.h you mean?
21:47:24  <indutny>odd
21:47:32  <indutny>odd
21:47:47  <indutny>tjfontaine: and paths[0], paths[1]
21:48:08  <tjfontaine>indutny: same as before
21:48:12  <indutny>ah
21:48:19  <indutny>apparently, I'm just tired
21:48:19  <indutny>missed one zero :)
21:48:22  <indutny>it's not 0x20
21:48:26  <indutny>it's 0x200
21:48:30  <indutny>one sec
21:49:08  <indutny>tjfontaine: can you gist your FSEvents.h ?
21:49:30  <indutny>There're no such flags in my one
21:49:47  <indutny>ah
21:49:49  <indutny>tjfontaine: nvm
21:50:04  <indutny>ok, I think the only thing I can do about it
21:50:10  <indutny>is ignore events about directory itself
21:50:28  <tjfontaine>http://paste.debian.net/hidden/40aa4375/
21:50:56  * erickt_joined
21:51:16  * rendarquit
21:51:26  <indutny>tjfontaine: can you please pull latest changes?
21:51:30  <indutny>tjfontaine: I've force pushed it once again
21:53:06  * ericktquit (Ping timeout: 240 seconds)
21:53:08  <tjfontaine>indutny: only proctitle error this time
21:53:36  <tjfontaine>so I guess it works
21:53:37  <indutny>tjfontaine: nice
21:53:38  <indutny>thanks
21:53:39  <isaacs>where's CIA?
21:53:50  <indutny>bnoordhuis: piscisaureus: merge please
21:53:52  <tjfontaine>isaacs: it's been up and down last and this week
21:53:54  <indutny>bnoordhuis: https://github.com/joyent/libuv/pull/557
21:54:12  <indutny>and merge it in node after that
21:54:16  <indutny>I'm off
21:54:17  <bnoordhuis>yes sahib
21:54:33  <indutny>obey
21:54:39  <indutny>obey your master
21:54:42  <tjfontaine>src/unix/fsevents.c:71:2: warning: embedding a directive within macro arguments has undefined behavior [-pedantic,-Wembedded-directive]
21:54:43  <indutny>:)
21:54:45  <tjfontaine>#ifdef MAC_OS_X_VERSION_10_7
21:54:46  <tjfontaine>there's also this gem
21:55:07  <piscisaureus>again
21:55:14  <piscisaureus>always that line heh
21:55:15  <indutny>what does it means?
21:55:17  <tjfontaine>piscisaureus: I am speaking about the warning
21:55:19  * erickt_quit (Ping timeout: 260 seconds)
21:55:37  <indutny>aah
21:55:41  <indutny>interesting :)
21:55:50  <indutny>bnoordhuis: should I duplicate it instead?
21:56:57  <bnoordhuis>indutny: what line is it complaining about?
21:57:14  <indutny>bnoordhuis: line where I'm ifdef'ing argument
21:57:15  <bnoordhuis>oh, i think i see it
21:57:26  <tjfontaine>UV__FSEVENTS_WALK + #ifdef
21:57:32  <bnoordhuis>yes, turn it inside out
21:57:45  <bnoordhuis>it's code duplication but oh well
21:58:23  <indutny>ok
21:59:29  <indutny>isaacs: https://github.com/blog/1184-contributing-guidelines
21:59:36  <indutny>isaacs: it's our time now
21:59:37  <indutny>hahaha
22:00:01  * TheJHquit (Quit: goodbye)
22:00:16  <bnoordhuis>hey, finally!
22:00:20  <indutny>yeah
22:00:24  <indutny>though, they ain't showing it's contents
22:00:33  <indutny>which is a fail
22:00:43  <indutny>we can't insert big fat red header
22:00:45  <bnoordhuis>well, it's a pretty good start
22:00:46  <indutny>like sign CLA
22:00:50  <bnoordhuis>they should make it blink though
22:00:50  <indutny>or, run tests
22:00:53  <bnoordhuis>and marquee
22:00:59  <tjfontaine>damn I was going to say marquee
22:01:02  <indutny>bnoordhuis: or you should open it at least once
22:01:10  <indutny>bnoordhuis: and scroll down
22:01:19  <indutny>and then answer questions
22:03:05  <indutny>isaacs: also
22:03:16  <indutny>isaacs: mind merging 'buffer' encoding into 0.9.2?
22:04:22  * c4miloquit (Remote host closed the connection)
22:04:50  <bnoordhuis>isaacs: https://github.com/joyent/node/pull/4014 <- you merged this right?
22:05:05  <indutny>bnoordhuis: yeah
22:05:18  <indutny>and also I would like to wait for that debugger patch to be signed
22:05:25  <indutny>I mean CLA, of course
22:05:40  <indutny>don't like releasing software with bugs that are already fixed
22:09:43  * loladiroquit (Quit: loladiro)
22:10:05  <saghul>indutny I just tested your patch on 557 and fixes one test fsevents broke on pyuv :-)
22:11:49  <indutny>saghul: good good
22:25:12  <bnoordhuis>saghul: fedor's patch compiles?
22:25:28  <saghul>bnoordhuis yes, tested and working on OSX 10.6
22:25:37  <bnoordhuis>okay, guess i'll merge it
22:26:04  <indutny>bnoordhuis: you don't trust me, ain't you?
22:26:11  <indutny>he
22:26:12  <indutny>heh
22:26:21  <bnoordhuis>indutny: oh, i trust you. just not with sharp objects
22:26:24  <saghul>however: src/unix/fsevents.c:74:1: warning: embedding a directive within macro arguments is not portable
22:26:25  <indutny>haha
22:26:30  <indutny>saghul: that was fixed
22:26:32  <bnoordhuis>indutny: last question, why is this? *(pos - 1) != '\\')
22:26:35  <saghul>oh, ok :-)
22:26:38  * travis-cijoined
22:26:39  <travis-ci>[travis-ci] joyent/libuv#714 (master - be2a217 : Ben Noordhuis): The build passed.
22:26:39  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/cc1c1912ca11...be2a2176ce25
22:26:39  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2485811
22:26:39  * travis-cipart
22:26:42  <indutny>bnoordhuis: escaped backslashes
22:26:43  <indutny>in path
22:26:45  <isaacs>ok, time to finish 0.9.2...
22:26:48  <bnoordhuis>os x does that?
22:26:50  <indutny>isaacs: hey man
22:26:51  <indutny>bnoordhuis: dunno
22:26:52  <isaacs>hola
22:26:56  <indutny>isaacs: please
22:27:00  <indutny>wait for fsevents
22:27:04  <isaacs>oh?
22:27:06  <indutny>and merge 'buffer' encoding it
22:27:08  <isaacs>you got a patch coming?
22:27:10  <bnoordhuis>indutny: "dunno"? why then did you add it?
22:27:11  <indutny>s/it/in
22:27:16  <indutny>bnoordhuis: suppose yes
22:27:20  <isaacs>indutny: why not just get it in 0.9.3?
22:27:30  <indutny>bnoordhuis: yes it does
22:27:31  <bnoordhuis>indutny: that doesn't sound very convincing...
22:27:36  <bnoordhuis>okay. when?
22:27:37  <indutny>isaacs: because it's very important
22:27:43  <isaacs>indutny: eta?
22:27:44  <indutny>isaacs: obviously :)
22:27:49  <indutny>isaacs: already done
22:27:51  <indutny>isaacs: both patches
22:27:59  <isaacs>indutny: then what's the holdup?
22:28:01  <indutny>bnoordhuis: what do you mean by when?
22:28:04  <isaacs>indutny: bnoordhuis giving you trouble?
22:28:06  <isaacs>;)
22:28:06  <indutny>isaacs: ben is landing it in uv
22:28:10  <isaacs>oh, ok
22:28:11  <indutny>ben landing
22:28:12  <indutny>crap
22:28:15  <bnoordhuis>indutny: when do you get escaped backslashes in a path?
22:28:15  <indutny>that sounds scary
22:28:34  <indutny>bnoordhuis: oh
22:28:37  <indutny>that was wrong thing
22:28:38  <indutny>sorry
22:28:42  <indutny>bnoordhuis: can you remove this line?
22:28:48  <indutny>bnoordhuis: before landing?
22:28:51  <bnoordhuis>indutny: yes
22:29:02  <indutny>isaacs: 'buffer' encoding
22:29:03  <bnoordhuis>so, just to be clear, that line i pasted shouldn't be there, right?
22:29:16  <indutny>bnoordhuis: yeah
22:29:20  <indutny>bnoordhuis: it's harmless
22:29:26  <indutny>bnoordhuis: almost
22:29:31  <indutny>isaacs: https://github.com/joyent/node/pull/4007/files
22:29:32  <indutny>bnoordhuis: ^
22:31:00  <indutny>ok
22:31:04  <indutny>I'm signing off
22:31:17  <indutny>bed time
22:32:21  <bnoordhuis>sleep tight, fedor
22:32:42  * 15SACR8B7joined
22:32:43  <15SACR8B7>[travis-ci] joyent/libuv#715 (master - 778144f : Fedor Indutny): The build passed.
22:32:43  <15SACR8B7>[travis-ci] Change view : https://github.com/joyent/libuv/compare/be2a2176ce25...778144f0b5bc
22:32:43  <15SACR8B7>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2485876
22:32:43  * 15SACR8B7part
22:32:54  * loladirojoined
22:33:20  * lohkeyjoined
22:33:52  <isaacs>bnoordhuis: you landing indutny's things soon?
22:34:22  <isaacs>bnoordhuis: i don't mind waiting a little longer, but i'd like to move towards a weekly 0.9.x cadence. having a few features left behind each week can be helpful.
22:34:37  <isaacs>adds motivation to get the next one out :)
22:34:57  <isaacs>also... i think we should just auto-ban anyone who brings up threads on the mailing list from now on.
22:35:11  <bnoordhuis>isaacs: i landed his patch in libuv
22:35:12  <isaacs>clearly, that's the only way.
22:35:16  <isaacs>bnoordhuis: oh, kewl.
22:35:22  <bnoordhuis>agree on the auto-ban btw :)
22:35:24  <isaacs>should i pull this into node?
22:35:29  <bnoordhuis>yep
22:35:32  <isaacs>will do
22:36:02  <isaacs>bnoordhuis: did you also update the test in node to pass?
22:36:06  <isaacs>bnoordhuis: (if not, i'll do it)
22:39:32  <isaacs>hm....
22:39:34  <bnoordhuis>isaacs: no, i can't test it
22:39:41  <isaacs>k, np
22:39:46  <isaacs>i'm getting null in the filename now, though...
22:39:48  <isaacs>that seems not right
22:40:01  <bnoordhuis>what os x version?
22:40:52  <isaacs>lion
22:40:53  <isaacs>Darwin tum.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
22:41:22  <isaacs>https://gist.github.com/3740226
22:41:43  <bnoordhuis>that's 10.7 right? that should work
22:42:07  <bnoordhuis>ah, but only for directories
22:42:12  <bnoordhuis>not if you watch individual files
22:42:40  <bnoordhuis>isaacs: ^
22:42:42  <isaacs>i see
22:42:52  <isaacs>so expectFilePath needs to be a little more subtle
22:43:00  <isaacs>why are we even testing that you get that thing, if it's so fiddly?
22:43:03  <isaacs>seems kind of odd.
22:43:31  <bnoordhuis>to stop regressions on the platforms that do support it
22:43:32  <isaacs>anyway... i'll add an exception to the test.
22:43:36  <isaacs>i guess.
22:43:45  <isaacs>seems like a dubiously useful feature.
22:43:49  <isaacs>since it's not very reliable.
22:44:08  <isaacs>anyway..
22:44:09  <piscisaureus>bnoordhuis: hey
22:44:27  <piscisaureus>bnoordhuis: do you know if it is legal to put an invalid fd in the pollset for poll(2) ?
22:44:40  <piscisaureus>bnoordhuis: I don't see EBADF documented as a possible return value ...
22:44:59  <isaacs>bnoordhuis: actually, since we're watching an individual file, why can't we just put it in there?
22:45:10  <isaacs>bnoordhuis: is it just rename events that cause problems then?
22:46:24  <bnoordhuis>isaacs: not quite. it works like this on os x now: files are watched with kqueue (broken, limited), directories with fsevents
22:47:02  <bnoordhuis>piscisaureus: i think you get POLLNVAL
22:47:25  <isaacs>bnoordhuis: https://gist.github.com/3740247
22:47:30  <isaacs>+/- 1?
22:47:37  <bnoordhuis>or rather, not think, just you get
22:47:42  * bnoordhuischecks
22:48:03  <bnoordhuis>isaacs: yep, lgtm
22:50:15  * loladiroquit (Quit: loladiro)
22:50:41  * isaacsmisses CIA
22:51:58  * lohkeyquit (Quit: lohkey)
22:58:19  * loladirojoined
22:59:28  * lohkeyjoined
23:01:05  * loladiroquit (Client Quit)
23:02:58  * loladirojoined
23:08:34  <isaacs>bnoordhuis: hmm... smartos does not dig the new openssl
23:08:49  <isaacs>https://gist.github.com/3740320
23:08:59  <isaacs>complaining about "main" being defined multiple times
23:10:47  <isaacs>which is weird, because it looks like the offending file is srptest.o, which appears to be a test file in openssl, not even the actual program
23:11:29  * loladiroquit (Quit: loladiro)
23:12:55  <isaacs>hm.... seems like i can just remove that from the gyp file and it's happy.
23:13:02  <isaacs>(tests running)
23:15:30  <isaacs>new problem: https://gist.github.com/3740352
23:17:45  * loladirojoined
23:18:43  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
23:22:29  <TooTallNate>isaacs: weird, the only place i see that function defined is in the .pl files that generate the asm files
23:25:23  <isaacs>yeah
23:25:35  <isaacs>i think the asm generation isn't working properly on smartos
23:26:46  <isaacs>well, that's a shame.
23:27:09  <isaacs>cant' push out a release that doesn't build on smartos.
23:31:42  <TooTallNate>piscisaureus: ^
23:32:16  <TooTallNate>i got it to build
23:32:24  <TooTallNate>but running:
23:32:29  <TooTallNate>$ perl deps/openssl/openssl/crypto/x86cpuid.pl elf > deps/openssl/openssl/crypto/x86cpuid.S
23:32:32  <TooTallNate>and adding
23:32:58  <TooTallNate>https://gist.github.com/db47d446ecb9e957ea5f
23:33:21  <TooTallNate>but that's just a quick thing, don't apply it, and i have no idea what i'm adding/removing
23:33:54  <isaacs>yeah, i'd like to get piscisaureus to weigh in
23:34:20  <piscisaureus>I am around but not node-ing atmm
23:34:20  <isaacs>ircretary: tell piscisuaureus The ASM stuff is busted on smartos. https://gist.github.com/db47d446ecb9e957ea5f gets close.
23:34:21  <ircretary>isaacs: I'll be sure to tell piscisuaureus
23:34:39  <isaacs>liberal utopian vacation ~ http://piscisaureus.no.de/libuv/ - 0.9.2 releasing Tuesday 2012-09-18
23:34:46  <piscisaureus>no
23:34:53  <piscisaureus>I have another side project going on
23:35:18  <isaacs>piscisaureus: oh, you are here
23:35:29  <piscisaureus_>twice, even
23:35:32  <isaacs>nice
23:35:38  <isaacs>because i misspelled your name to ircretary
23:35:56  * paddybyersquit (Quit: paddybyers)
23:35:56  <piscisaureus_>ircretary is cool. ircretary doesn't care.
23:35:56  <ircretary>piscisaureus_: I'm not sure what to do with that command. Ask for help in PM.
23:36:23  <ircretary>I AM cool. And don't believe the automated responses, I DO know what to do with that command.
23:36:27  <piscisaureus_>isaacs: so is this is an issue with 0.8 or master? because I don't thing we landed any asm stuff yet
23:36:30  <isaacs>master
23:36:47  <isaacs>piscisaureus_: maybe it's just 1.0.1c?
23:36:49  <isaacs>i dunno
23:36:53  <piscisaureus_>that should be the problem
23:36:56  <piscisaureus_>what's the error?
23:38:04  <piscisaureus_>hmm, rdrand looks like an engine
23:42:40  <piscisaureus_>isaacs: what if you remove "openssl/crypto/engine/eng_rdrand.c" from deps/openssl/openssl.gyp?
23:44:36  <isaacs>piscisaureus_: https://gist.github.com/3740462 <-- makes it build
23:45:09  <piscisaureus_>isaacs: yeah, that will effectively break windows
23:45:20  <piscisaureus_>isaacs: and x64 too, probably
23:45:29  <isaacs>breaks osx too
23:45:29  <TooTallNate>and arm probably too :D
23:45:34  <isaacs>yeh
23:45:38  <isaacs>so... not so great a fix.
23:45:40  <isaacs>:)
23:45:46  <TooTallNate>i warned you :p
23:45:52  <piscisaureus_>well, I know you guys care about one thing :-)
23:46:08  <piscisaureus_>isaacs: probably just drop the eng_rdrand line from common.gypi
23:46:40  <piscisaureus_>I am not sure why I added that in the first place. I don't think it works on any platform atm.
23:47:02  <piscisaureus_>(I mean, it compiles, but there's no code that uses the rdrand instruction)
23:47:27  <isaacs>ok, kewl
23:47:32  <piscisaureus_>does it work?
23:47:39  <isaacs>building now
23:47:57  <isaacs>even with -j32 distclean makes trhe build take a little bit
23:49:01  <isaacs>ack, had to remove srptest.c also
23:49:33  <isaacs>ENGINE_load_rdrand /home/isaacs/node/out/Release/obj.target/deps/openssl/libopenssl.a(eng_all.o)
23:49:34  <TooTallNate>still doesn't compile for me
23:49:37  <TooTallNate>yup
23:49:40  <TooTallNate>ENGINE_load_rdrand
23:49:44  <mmalecki>isaacs: where did you get a 32 core machine?
23:49:50  <isaacs>mmalecki: guess ;)
23:49:58  <isaacs>mmalecki: it pretends to be only 24
23:50:00  <mmalecki>isaacs: is that that 80 GB dedicated instance?
23:50:06  <isaacs>mmalecki: no, only 8gb
23:50:15  <mmalecki>oh? really?
23:50:15  <isaacs>and only guaranteed 8cpu's
23:50:20  <mmalecki>burst?
23:50:21  <isaacs>or, 800% whatever
23:50:24  <isaacs>yeah, bursts like a cham
23:50:26  <piscisaureus>isaacs: so you had to remove srptest to fix this error
23:50:27  <isaacs>champ
23:50:29  <mmalecki>nice.
23:50:33  <isaacs>piscisaureus: yeah
23:50:38  <piscisaureus>ah, right
23:50:41  <mmalecki>cc AvianFlu
23:50:44  <piscisaureus>that looks good
23:51:27  <isaacs>piscisaureus: so, eng_all still fails
23:51:46  <piscisaureus>right
23:51:52  <mmalecki>isaacs: hm, 8 GB seems burstable to 8 cores tho
23:51:53  <piscisaureus>probably need to add a define for that
23:52:02  <piscisaureus>lemme see
23:52:45  <isaacs>ifdefing it out
23:52:46  <TooTallNate>wtf solaris
23:52:48  <piscisaureus>isaacs: add OPENSSL_NO_RDRAND to the defines section in openssl.gyp
23:52:49  <isaacs>k, then it works
23:53:25  <isaacs>yep
23:53:44  <piscisaureus>isaacs: after OPENSSL_NO_GOST
23:54:00  <piscisaureus>which seems to be added for the same reason, e.g. brain dead sunos linker :-p
23:54:24  <TooTallNate>noice
23:54:31  <isaacs> # Work around brain dead SunOS linker.
23:54:32  <isaacs>hahah
23:54:36  <isaacs>should've guessed ;)
23:55:01  <isaacs>piscisaureus: https://gist.github.com/3740488
23:55:03  <isaacs>review?
23:55:52  <isaacs>testing on osx et al now
23:57:05  <isaacs>hmm... seems Moon Magic OS is braindead in some other way..
23:57:05  <isaacs>openssl.lib(e_rc4_hmac_md5.obj) : error LNK2001: unresolved external symbol rc4
23:57:06  <isaacs>_md5_enc [C:\node-v0.9.2-x64\node.vcxproj]
23:57:34  <isaacs>openssl.lib(e_rc4_hmac_md5.obj) : error LNK2001: unresolved external symbol rc4_md5_enc [C:\node-v0.9.2-x64\node.vcxproj]
23:57:38  <piscisaureus>hmm, now that's really odd
23:57:46  <piscisaureus>isaacs: did it work before?
23:57:53  <isaacs>piscisaureus: it works on x86
23:57:55  <isaacs>not on x64
23:58:59  <isaacs>builds properly on osx, smartos, and ubuntu
23:59:29  <piscisaureus>yeah so we need to disable stiched rc4_md5
23:59:32  <piscisaureus>lemme see
23:59:37  <piscisaureus>*stitched