00:03:17  * bradleymeckquit (Ping timeout: 240 seconds)
00:07:23  * `3rdEdenquit (Quit: zZZz)
00:08:04  * ErikCorryV8quit (Quit: Page closed)
00:08:38  <dannycoates>ryah: which core are you looking at?
00:09:34  <ryah>dannycoates: none in particular , just a side comment
00:10:42  <ryah>dannycoates: i think i might have a fix
00:10:43  <ryah>but there's another problem im worried about now
00:12:37  <dannycoates>so I'm seeing something i don't understand… in the core I'm looking at, values[0] has an _str that is 'out of bounds'
00:12:57  <dannycoates>did you see that already?
00:13:06  <ryah>yeah - it's not getting saved correctly
00:13:54  <ryah>dannycoates: https://gist.github.com/1557714
00:14:11  <ryah>dannycoates: this is the new patch - note that line 109 and 113 have changed
00:14:41  <ryah>hm i should have done a patch on top of the last one
00:15:07  <ryah>num_fields_ is not really well named
00:15:14  <ryah>because when there is one field, it is zero
00:15:36  <ryah>which is why you're seeing that
00:15:46  <ryah>actually - we should fix that too..
00:22:09  <ryah>TooTallNate: one technique that we do often is pre-generate the config.h from autoconf and use that in gyp
00:22:19  <ryah>TooTallNate: because there are only a handful of different configs
00:23:33  <TooTallNate>ryah: ya that's what evan was saying
00:23:36  <TooTallNate>guess i still gotta mess around with what works best
00:24:14  <TooTallNate>but i really wanna get one of these statically compiled modules going
00:24:33  <TooTallNate>i just found out that travis-ci doesn't have libffi installed anyways :p
00:24:43  <TooTallNate>so I'm gonna have to go this route to get CI going :)
00:25:40  <ryah>static linking ftw
00:30:44  <mjr_>ryah / dannycoates you guys get anywhere with the http_parser / memory corruption issue?
00:31:31  <ryah>mjr_: yes- a little bit
00:31:37  <ryah>there's definitely an off-by-one
00:36:20  <ryah>i feel like this StringPtr class is pretty annoying
00:36:57  <ryah>we should just have a bunch of (char*, int) pairs in the HTTPParser
00:37:31  <ryah>hm
00:37:42  <dannycoates>one thing that's weird is the size_ of this bad StringPtr is 22 which probably means that Update was called on it with a bad *str
00:38:44  <ryah>dannycoates: yeah - the Save wasn't being called
00:42:25  * benviejoined
00:44:01  <ryah>mjr_, dannycoates: https://gist.github.com/1557805
00:44:45  <ryah>the difference between this and the last one is that it saves one more header_value, header_field
00:45:24  <ryah>in the case that you've received only the first field,value line on the first packet
00:45:29  <ryah>and it terminates in the middle of that
00:46:12  <mjr_>Earlier you had asked me about this line: at=0xa2b5b50 "ive\r\n\r\n{\"subject\":\"Mikie Landry\",\"from\":\"user.zoe.kitty.1325208557023_43935045\",\"talk_mode\":\"ptt\",\"1d\n 4998\nxJ\237\211o`Q׿?y?rpE\016v\016?\n?Ô§???&\217\r\n8c\r\n\004\062\070\n 49ac\nx?Þ§\034α??b\210\200G\230\032?\"?I??!?d?}G\203?\214\004????\024?\005X?\004"..., length=3
00:46:23  <ryah>hm
00:46:35  <ryah>mjr_: oh yeah, i figured that out
00:46:39  <mjr_>This is from a client doing a POST , ok
00:46:41  <ryah>'keep-alive' was the header
00:46:58  <ryah>actually don't deploy that patch yet.. i thought of a problem
00:47:16  <mjr_>the "I've\r\n\r\n" is from POST /2/cs/post_message_live
00:47:28  <mjr_>After hat comes JSON + CRLF and after that is our audio format.
00:47:33  * bnoordhuisquit (Read error: Operation timed out)
00:58:15  <ryah>ok
00:58:50  <ryah>this is the worst 5% optimization ever
01:00:49  <ryah>here's the new patch https://gist.github.com/1557855
01:17:12  <CIA-111>node: Ryan Dahl v0.6 * r2cde498 / test/simple/test-http-parser-bad-ref.js : Add another test to test-http-parser-bad-ref.js demoing #2438 - http://git.io/cAQ3Hw
01:18:37  <ryah>dannycoates, mjr_: the above test demos a new bug
01:18:42  <ryah>which the new patch fixes
01:19:02  <ryah>you need to use valgrind to see it
01:24:22  <mjr_>oh, that's cool that you uncovered it.
01:25:17  * travis-cijoined
01:25:17  <travis-ci>[travis-ci] joyent/node#174 (v0.6 - 2cde498 : Ryan Dahl): The build was broken.
01:25:17  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/6f8839d...2cde498
01:25:17  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/475319
01:25:17  * travis-cipart
01:27:42  <ryah>so im going to land that patch in v0.6
01:27:59  <ryah>im fairly sure we're going to be set with this one
01:28:10  <ryah>too confusing to float patches around in gist
01:31:50  <ryah>oh nevermind..
01:33:23  <ryah>it's failing a test on one of the new asserts. sigh
01:33:28  <ryah>okay - let me figure this out
01:48:55  <CIA-111>node: Ryan Dahl v0.6 * rf3da6c6 / (src/node_http_parser.cc test/simple/test-http-parser.js): (log message trimmed)
01:48:55  <CIA-111>node: Potential fix for #2438
01:48:55  <CIA-111>node: - Save StringPtr if the header hasn't been completely received yet after one
01:48:55  <CIA-111>node: packet.
01:48:55  <CIA-111>node: - Add one to num_fields and num_values. They were actually one less than the
01:48:55  <CIA-111>node: number of fields and values.
01:48:56  <CIA-111>node: - Remove always_inline makes debugging difficult, and has negligible
01:49:27  <ryah>^-- mjr_ please test origin/v0.6
01:53:00  * mikealjoined
01:53:47  <mjr_>Cool, I'll check it out.
01:56:34  * travis-cijoined
01:56:35  <travis-ci>[travis-ci] joyent/node#175 (v0.6 - f3da6c6 : Ryan Dahl): The build is still failing.
01:56:35  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/2cde498...f3da6c6
01:56:35  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/475379
01:56:35  * travis-cipart
02:01:42  * mikealquit (Quit: Leaving.)
02:15:49  <mjr_>dannycoates is going to roll out this branch shortly. I'll probably push it out to production late tonight if things look good
02:17:16  <dannycoates>its installed. ready for restarts
02:17:55  <mjr_>We are really busy right now. I don't think we should restart until much later.
02:18:54  <dannycoates>yes
02:18:56  <mjr_>ryah: we did 600K HTTPS yesterday. A new record.
02:20:09  * dapquit (Quit: Leaving.)
02:24:19  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
02:43:34  <ryah>nice
02:45:08  <ryah>and hopefully we'll get this hash fix from bert/eric tomorrow :)
02:45:13  <ryah>and can roll out v0.6.7
02:45:24  <ryah>with the http-parser fix verified
02:46:17  * mikealjoined
02:46:38  * dshaw_quit (Ping timeout: 244 seconds)
02:47:43  <dannycoates>is the http-parser too hard or too slow to do in js? just curious
02:48:17  <ryah>dannycoates: could do it in js
02:48:32  <ryah>it was written before node
02:49:31  <dannycoates>and not exactly fun to do again in js :)
02:51:10  <ryah>yeah - it has a lot of complexity
02:52:05  <ryah>somewhat annoying to endure boundary crossing overhead with the parser
02:58:56  * dshaw_joined
03:02:00  * dshaw_quit (Client Quit)
03:07:32  * dannycoatespart
03:25:16  * mikealquit (Ping timeout: 255 seconds)
03:28:15  * mikealjoined
03:29:57  * mikeal1joined
03:30:10  * mikealquit (Read error: Connection reset by peer)
03:30:37  * isaacsquit (Quit: isaacs)
03:31:20  * mikeal1quit (Client Quit)
03:46:41  * igorziquit (Quit: Page closed)
04:14:17  * isaacsjoined
05:03:41  * dapjoined
05:21:34  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
05:43:31  * dapquit (Quit: Leaving.)
06:03:46  * mralephjoined
06:17:14  * piscisaureus_joined
06:17:23  * isaacsquit (Quit: isaacs)
06:21:50  * dshaw_joined
06:41:11  * mralephquit (Quit: Leaving.)
06:59:01  * piscisaureus_quit (Ping timeout: 255 seconds)
07:16:14  * isaacsjoined
07:25:05  * isaacsquit (Quit: isaacs)
07:39:44  * mikealjoined
07:42:21  * isaacsjoined
07:59:12  * ErikCorryV8joined
08:11:45  * dshaw_quit (Quit: Leaving.)
08:21:58  * paddybyersjoined
08:22:34  * mikealquit (Quit: Leaving.)
08:40:12  * mikealjoined
09:09:24  * isaacsquit (Quit: isaacs)
09:19:05  * mikealquit (Quit: Leaving.)
09:59:36  * AvianFluquit (Ping timeout: 244 seconds)
10:10:49  * mikealjoined
10:10:53  * mikealquit (Client Quit)
10:15:42  * mikealjoined
10:39:50  * kuebkjoined
12:47:54  * bnoordhuisjoined
13:08:32  * dshaw_joined
13:30:43  <indutny>ryah: any luck with a uv_pipe_pair and child_process.fork?
13:49:10  * AndreasMadsenjoined
14:38:54  * piscisaureus_joined
14:41:36  * bradleymeckjoined
14:46:30  <einaros>piscisaureus_: you called?
14:56:27  <piscisaureus_>einaros: yeah. You showed me the hash collision test last week.
14:56:32  <piscisaureus_>einaros: did you write that yourself?
14:56:55  <piscisaureus_>einaros: in that case, if you can sign the v8 CLA then the v8 team can use it to write a test
14:58:37  <einaros>yes I wrote it
14:59:44  <einaros>so what do I do where?
15:05:45  <piscisaureus_>einaros: sign http://code.google.com/legal/individual-cla-v1.0.html
15:05:47  <piscisaureus_>^-- ErikCorryV8
15:07:06  <einaros>alright, done
15:08:10  <einaros>piscisaureus_: how'd your patching go?
15:09:06  <piscisaureus_>einaros: not done.
15:09:14  <piscisaureus_>einaros: actually ErikCorryV8 is working on it now
15:09:17  * ErikCorryV8quit (Ping timeout: 258 seconds)
15:09:46  <einaros>well good job in either case :)
15:10:24  <piscisaureus_>einaros: a patch that randomizes hashing at compile time is kind of ready
15:10:34  <piscisaureus_>einaros: so people who compile node themselves are safe
15:11:26  <einaros>merged?
15:14:53  <piscisaureus_>einaros: http://code.google.com/p/v8/source/detail?r=10330
15:16:29  <einaros>great
15:19:16  * voodootikigod__joined
15:19:19  * AvianFlujoined
15:24:30  * ErikCorryV8joined
15:27:06  <ErikCorryV8>OK I committed a quick fix for the hash collision issue.
15:27:26  <ErikCorryV8>It's bleeding edge version 10330, pushed to trunk soon (probably Monday).
15:27:47  <ErikCorryV8>It fixes the issue for those that compile V8 themselves, and for those that don't use snapshots.
15:28:05  <ErikCorryV8>The hash seed is baked into the snapshot, and we still need to fix that.
15:28:31  <ErikCorryV8>(We may have to back it out again if we see performance regressions or failures on the bots)
15:31:00  * kuebkpart
15:33:19  <einaros>ErikCorryV8: I signed that CLA, as per piscisaureus' request, in case you want to use my collision code
15:33:53  <ErikCorryV8>Thanks.
15:34:03  <ErikCorryV8>Is the magic numver from the gist known widely?
15:34:46  <ErikCorryV8>The one that is redacted?
15:34:55  <einaros>I shared it with piscisaureus, that's it
15:35:14  <einaros>no one outside of this channel has seen the gist either, by the way
15:35:46  <ErikCorryV8>If I add it as a test to V8 (with the magic number) then it will be a little too easy for the script kiddies to build a DOS tool.
15:36:13  <ErikCorryV8>So I think I don't want to use it until at least the workaround from 10330 has had some time to be deployed.
15:36:43  <einaros>probably a good idea
15:36:44  <ErikCorryV8>But I used it to verify that 330 does not have the issue (at least not with the same magic number :-)
15:37:15  <CIA-111>node: Ben Noordhuis master * re21643d / tools/installer.js : build: fix npm-cli.js install - http://git.io/eSeosQ
15:39:06  <einaros>https://gist.github.com/bac23f077b90f835f0a7
15:39:19  <einaros>that's how my workflow was during testing
15:39:30  * bradleymeckquit (Ping timeout: 252 seconds)
15:48:07  <indutny>oh, hash collisions
15:48:33  * travis-cijoined
15:48:33  <travis-ci>[travis-ci] joyent/node#176 (master - e21643d : Ben Noordhuis): The build is still failing.
15:48:33  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/557fc39...e21643d
15:48:33  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/477647
15:48:33  * travis-cipart
16:02:22  <indutny>ryah: morning? :)
16:10:32  * dshaw_quit (Quit: Leaving.)
16:13:40  * bnoordhuisquit (Read error: Operation timed out)
16:14:03  * bnoordhuisjoined
16:19:51  * AndreasMadsenquit (Remote host closed the connection)
16:24:10  * dshaw_joined
16:25:26  * bradleymeckjoined
16:36:10  * dshaw_quit (Quit: Leaving.)
16:36:37  * dshaw_joined
16:41:18  * dshaw_quit (Client Quit)
16:43:52  * dapjoined
17:07:33  * pieternjoined
17:40:26  * AndreasMadsenjoined
17:46:24  * bnoordhuisgot sidetracked by slab allocator tinkering...
17:46:38  <bnoordhuis>is igorzi still working on that too?
17:52:26  * paddybyersquit (Ping timeout: 255 seconds)
18:04:36  * brsonjoined
18:10:50  * TooTallNatejoined
18:16:23  * bradleymeckquit (Read error: Operation timed out)
18:16:32  * voodootikigod__quit (Read error: Connection reset by peer)
18:16:49  * voodootikigod_joined
18:20:25  * dshaw_joined
18:24:54  * dshaw_quit (Ping timeout: 244 seconds)
18:31:31  * dshaw_joined
18:32:23  * isaacsjoined
18:33:50  <indutny>SF guys, where are you?
18:52:41  * igorzijoined
18:55:33  <bnoordhuis>call in 5?
18:56:22  <igorzi>yep
18:56:38  <bnoordhuis>hey igorzi, are you still working on the slab allocator?
18:57:29  <igorzi>bnoordhuis: nope.. we decided to punt on it (because the non-zero reads for TCP didn't improve throughput)
18:59:58  <bnoordhuis>okay, might be worthwhile to hack on it for isolates, i sometimes see a lot of contention
19:00:14  <bnoordhuis>the upside is that linux seems to perform much better than os x
19:03:51  <ryah>hey
19:04:24  <ryah>ErikCorryV8: does the hash fix work for snapshots?
19:05:45  <ryah>piscisaureus_--^
19:05:45  <kohai>piscisaureus_ has -1 beer
19:06:50  <bnoordhuis>:)
19:07:17  * dannycoatesjoined
19:07:34  <piscisaureus_>ryah: it does but the hash is snapshotted too, so effectively the randomization is done at compile time
19:07:51  <piscisaureus_>ryah: per-run randomization will be there but tbd
19:08:13  <ryah>dannycoates: any crashes?
19:08:27  <dannycoates>not yet :)
19:08:34  <ryah>good
19:08:47  <ryah>piscisaureus_: ok
19:09:28  * dapquit (Quit: Leaving.)
19:09:44  <ryah>14:09 -!- Irssi: #Node.js: Total of 815 nicks [4 ops, 0 halfops, 0 voices, 811 normal]
19:09:48  <ryah>wow
19:10:13  <piscisaureus_>ryah: I think this is good enough for a quick fix
19:10:31  <indutny>ryah: !!! :)
19:10:34  <ryah>piscisaureus_: sure. do i need to compile with some special flag to get it?
19:10:38  <piscisaureus_>ryah: I think the only users that actually have node in production run linux or solaris and they compile themselves
19:10:39  <indutny>morning
19:10:40  <piscisaureus_>ryah: no
19:11:09  * piscisaureus_afk
19:11:09  <ryah>indutny: hey- bnoordhuis took over the binding of uv_pipe_pair so im waiting for that to land
19:11:42  <bnoordhuis>^ which seems to mostly work
19:12:18  <ryah>dannycoates: how long until you're convinced it's fixed? :)
19:12:31  <ryah>dannycoates: how often were they happening before?
19:13:03  <ryah>i think we'll try to push out v0.6.7 today - if we can verify the http-parser binding fix
19:13:32  <einaros>piscisaureus_: did you try the collision generator with the patched version of v8?
19:13:43  <ryah>piscisaureus_, ErikCorryV8: is there a patch back ported onto V8 3.6 ?
19:13:53  <indutny>bnoordhuis: cool
19:14:22  <dannycoates>ryah: we were getting between 5 - 50 crashes per day. usually around peak time 5-8pm PST
19:14:51  <igorzi>ryah: pls pick up latest v0.6 libuv changes (it has a couple of fs bug fixes on windows)
19:14:53  <ryah>dannycoates: ok
19:15:02  <ryah>igorzi: yep - i'll do that now
19:15:26  <dannycoates>ryah: i'll let you know as soon as we get a crash (if we do)
19:15:35  <ryah>dannycoates: okay
19:16:05  <igorzi>ryah: looks like bnoordhuis already did that a few days ago
19:17:00  * dapjoined
19:18:32  <mmalecki>bnoordhuis: hey. this core patch, is it ok with you?
19:19:05  <bnoordhuis>mmalecki: what patch?
19:19:15  <mmalecki>bnoordhuis: well, whichever.
19:19:30  <mmalecki>bnoordhuis: the .std{out,err} would be more handy, I think.
19:20:00  <bnoordhuis>mmalecki: need to inspect it, i saw that AndreasMadsen posted a benchmark
19:20:48  <mmalecki>bnoordhuis: sounds good.
19:21:54  <CIA-111>node: Ryan Dahl v0.6 * r3452477 / doc/cla.html : Update address in CLA - http://git.io/cVyuZg
19:22:19  <AndreasMadsen>hi all
19:22:56  <AndreasMadsen>ryah: yo
19:23:20  <AndreasMadsen>ryah: Could you make the final review on cluster2 step 4 - and then land it
19:23:37  <ryah>AndreasMadsen: yes
19:23:41  <AndreasMadsen>ryah: If the purpose of cluster.master.send was just to confuse me
19:25:03  <AndreasMadsen>ryah: great I will be online the next 90 min if you need me :)
19:26:18  <AndreasMadsen>bnoordhuis & mmalecki: It is my first benchmark every created, so it might not be perfect :-)
19:28:10  * sh1mmerjoined
19:30:24  * travis-cijoined
19:30:24  <travis-ci>[travis-ci] joyent/node#177 (v0.6 - 3452477 : Ryan Dahl): The build is still failing.
19:30:24  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/f3da6c6...3452477
19:30:24  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/478592
19:30:24  * travis-cipart
19:31:02  <AndreasMadsen>mmalecki: I have made made a patch there update the isolate testcase to work with your std{out|err} patch
19:31:48  * `3rdEdenjoined
19:32:06  <AndreasMadsen>s/isolate/silent
19:33:04  <mmalecki>AndreasMadsen: awesome, thanks
19:33:59  <AndreasMadsen>mmalecki: I'm merely mortal
19:40:05  * piscisaureus_quit (Read error: Connection reset by peer)
19:43:31  * piscisaureus_joined
19:48:16  * piscisaureus_quit (Ping timeout: 240 seconds)
19:56:21  <isaacs>we doing a release this week?
19:56:29  <isaacs>i vote yes.
19:56:31  * mikealquit (Quit: Leaving.)
19:56:57  <mmalecki>isaacs: if you guys can backport my fork patches, then yes please
19:57:08  <indutny>haha
19:57:11  <isaacs>mmalecki: i think your stuff went into master because it adds api
19:57:17  <isaacs>so, you'll just have to wait, i'm afraid.
19:57:27  <mmalecki>isaacs: it didn't go anywhere yet
19:57:32  <isaacs>oh, nvm
19:57:33  <isaacs>:)
19:57:38  <indutny>better wait weeks, rather than months as it was with 0.6
19:57:47  <isaacs>you said "backport", i thought that meant it was in master already
19:57:53  * mikealjoined
19:57:55  <mmalecki>isaacs: and really, I consider lack of stdout a bug, not a new api
19:58:00  <isaacs>sure
19:58:11  * isaacsdoesn't use fork, has no opinion on this
19:59:01  <mmalecki>isaacs: we do, after you guys told us not to use fork(2) :)
20:11:04  * mikealquit (Quit: Leaving.)
20:21:58  * mikealjoined
20:23:30  * `3rdEdenquit (Read error: Connection reset by peer)
20:23:35  * V1joined
20:32:07  * CoverSli1ejoined
20:35:29  * CoverSlidequit (Ping timeout: 252 seconds)
20:36:55  * CoverSli1equit (Ping timeout: 252 seconds)
20:37:08  * CoverSlidejoined
20:45:28  * mikealquit (Quit: Leaving.)
21:01:12  * paddybyersjoined
21:01:17  <paddybyers>bg67yk
21:03:58  <bnoordhuis>paddybyers: irc password?
21:04:19  <paddybyers>oops :)
21:04:29  <paddybyers>not any more :)
21:05:40  <bnoordhuis>:)
21:06:04  <mmalecki>bnoordhuis: heeeeey, so this pull request.
21:06:14  <mmalecki>bnoordhuis: I've heard it was kinda cool.
21:08:36  <isaacs>any thoughts on adding cross-platform pwnam stuff to libuv?
21:08:56  <isaacs>it's kind of annoying that there's really no good way to figure out what ~foo/ should resolve to
21:09:12  <mmalecki>isaacs: ++
21:09:13  <kohai>isaacs has 2 beers
21:09:19  <isaacs>ie, is that /home/foo, /Users/foo, C:\Users\foo, or C:\Documents and Settings\foo
21:10:05  <mmalecki>isaacs: I've been looking for something like Python's path.resolve (or something) in node, it's a good idea
21:10:08  <isaacs>i think we already have some stuff in there a bit for process.setuid and process.setgid
21:10:19  <isaacs>mmalecki: node's path.resolve is pretty nice :)
21:10:24  <isaacs>but it doesn't do ~ expansion
21:10:37  <isaacs>i'd like to add this for glob
21:10:38  <mmalecki>isaacs: yeah. I think in Python it was called expand?
21:10:49  * V1changed nick to `3rdEden
21:11:16  <bnoordhuis>isaacs: why do you want to do it in libuv?
21:11:29  <mmalecki>isaacs: http://docs.python.org/library/os.path.html#os.path.expanduser
21:11:50  <isaacs>bnoordhuis: because it requires some convoluted x-platform jiggery pokery
21:11:53  <bnoordhuis>mmalecki: i'll review that PR some time this week
21:11:55  <isaacs>bnoordhuis: you can't just rely on /etc/passwd
21:12:00  <isaacs>(even in all unixes)
21:12:24  <bnoordhuis>isaacs: what can libuv do that node can't?
21:12:31  <mmalecki>bnoordhuis: well, ok. and again, it'd be cool to get it into next 0.6 release.
21:13:16  <isaacs>bnoordhuis: i guess it could live in node.
21:13:34  <isaacs>it'd just be a question of where we put our ifdefs.
21:13:42  <isaacs>doing things differently for different platforms feels a bit cleaner in libuv.
21:13:54  <isaacs>but ther's some ifdefs and if(process.platform…) in node, too
21:14:04  <bnoordhuis>yes
21:14:12  <bnoordhuis>and this kind of string tweaking is easier to do in js
21:14:12  <isaacs>it doesnt' seem like it should require installing some addon, though
21:14:20  <isaacs>it's not string tweaking.
21:14:27  <isaacs>on osx lion, you have to make a system call.
21:14:48  <isaacs>since it abandoned /etc/passwd in favor of directory services mumbo jumbo
21:14:50  <bnoordhuis>getpwent?
21:15:32  <isaacs>or getpwnam
21:15:33  <isaacs>sure
21:15:42  <isaacs>and i've got no idea what the corresponding thing on windows is
21:16:01  * mralephjoined
21:16:27  <isaacs>aha, LookupAccountName
21:16:31  <isaacs>http://suacommunity.com/dictionary/getpwnam-entry.php
21:16:38  <isaacs>or LookupAccountSid
21:16:43  <mmalecki>isaacs: there's a call to get all sorts of special folders
21:16:47  * voodootikigod__joined
21:16:49  <bnoordhuis>the trouble is, getpwent and getpwnam are not thread-safe
21:17:04  <isaacs>getpwnam_r, then?
21:17:15  <bnoordhuis>that one is but i don't know if sunos has it
21:17:43  <isaacs>right
21:17:57  <isaacs>so… this is why it's something that should be in node (or in libuv) rather than in a third-party module.
21:17:58  <isaacs>imo
21:18:07  <mmalecki>isaacs: http://msdn.microsoft.com/en-us/library/windows/desktop/bb762280(v=vs.85).aspx
21:18:17  <mmalecki>handles XP and 7
21:18:27  <mmalecki>oh my, how can I even remember this stuff?
21:18:27  <bnoordhuis>sunos has it, freebsd apparently too
21:18:31  <isaacs>kewl
21:18:40  <bnoordhuis>okay, i suppose we could fix this in libuv
21:18:41  <isaacs>the issue is taht it *might* not just parse the /etc/passwd
21:18:48  <isaacs>it might do any other ranodm magic
21:19:01  <bnoordhuis>like query a slow ldap server
21:19:44  <isaacs>ep
21:19:46  <isaacs>yep
21:20:04  * voodootikigod_quit (Ping timeout: 240 seconds)
21:20:19  <isaacs>or, for that matter, /etc/passwd might be a hijacked thing that does the same
21:20:59  <paddybyers>bnoordhuis: android doesn't even have getpwnam_r so it would be good to have it so it can easily be specialised per-platform
21:21:15  <bnoordhuis>paddybyers: good point
21:22:07  <AndreasMadsen>ryah: Please don't forget the cluster2 stuff :)
21:22:09  * AndreasMadsenquit (Remote host closed the connection)
21:22:37  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
21:23:22  <bnoordhuis>we're getting way behind on PRs again :/
21:26:10  * mikealjoined
21:27:22  * mikealquit (Client Quit)
21:28:08  * `3rdEdenjoined
21:30:26  <ryah>isaacs: im pretty sure shells expand ~ as $HOME
21:30:39  <isaacs>ryah: yeah, they do.
21:30:47  <isaacs>ryah: but you might want to do this in a program.
21:31:10  <isaacs>ryah: like, if you had "webroot = ~www/public" in a config file or something
21:31:41  <isaacs>ryah: or, glob("~{user1,user2}/**/*.js", function (jsFiles) { … })
21:32:56  <ryah>i guess ~{user} uses getpwnam
21:33:03  <isaacs>yeah
21:42:50  <isaacs>ryah: you can guess correctly most of the time by doing path.resolve(env.HOME, "..", username)
21:42:53  <isaacs>but that's pretty ghetto
21:43:10  <isaacs>it also doesn't correctly fail to expand non-existent users
21:46:11  * isaacschanged nick to isaacs_lunch
21:49:43  * dshaw_1joined
21:50:47  * dshaw_quit (Ping timeout: 240 seconds)
21:52:24  * mralephquit (Ping timeout: 240 seconds)
22:01:56  <ryah>bnoordhuis: you aiming to get test/simple/test-isolates2.js working with the binding?
22:02:10  <bnoordhuis>ryah: yes, and more
22:08:33  * ircretaryquit (Ping timeout: 240 seconds)
22:12:47  * mralephjoined
22:16:17  <bnoordhuis>CHECK(heap->isolate() == Isolate::Current()) failed :(
22:23:26  * mikealjoined
22:31:55  * mikealquit (Quit: Leaving.)
22:41:37  * isaacs_lunchchanged nick to isaacs
22:50:22  * `3rdEdenquit (Read error: Connection reset by peer)
22:51:04  * `3rdEdenjoined
22:52:07  * sh1mmerquit (Quit: sh1mmer)
22:57:06  * mikealjoined
22:57:35  * mralephquit (Quit: Leaving.)
23:01:25  * mralephjoined
23:02:02  <ryah>mraleph: is it possible to get the random hash seed patch back ported to 3.6 ?
23:03:46  <mraleph>should be. just reply to Erik's mail, so that I will not forget to ask him tomorrow
23:24:38  * mikealquit (Quit: Leaving.)
23:29:55  * mralephquit (Quit: Leaving.)
23:31:26  * indexzerojoined
23:42:36  * mikealjoined
23:43:18  * mikealquit (Client Quit)