00:00:02  * ircretaryquit (Remote host closed the connection)
00:00:11  * ircretaryjoined
00:00:17  <indutny>TooTallNate: Yes
00:00:18  <indutny>isaacs: Thanks
00:00:22  <TooTallNate>:p
00:00:41  <isaacs>np
00:07:29  * paddybyersjoined
00:12:50  <trevnorris>isaacs: for benchmark/http.sh, lower is better right?
00:12:58  <isaacs>trevnorris: no, higher is better
00:13:04  <isaacs>trevnorris: that's requests/second
00:13:12  <trevnorris>ah, ok.
00:13:23  <isaacs>trevnorris: i do multiple runs because otherwise outliers kill the validity of the benchmarks
00:13:29  <isaacs>and there's a lot of moving parts there
00:13:41  <trevnorris>is there a specific thing where v0.8 is kicking masters butt?
00:13:41  * loladiroquit (Quit: loladiro)
00:13:47  <isaacs>http.sh
00:13:53  <isaacs>on os x at least.
00:14:02  <isaacs>i'm seeing like 12k q/s on 0.8, and 10k on master
00:14:03  <trevnorris>hm.. yeah. on linux master is faster.
00:14:11  <trevnorris>i'm seeing 14k on master
00:14:16  <trevnorris>and 12k on v0.8
00:14:23  <isaacs>well, that's pretty baller, then :)
00:14:37  <isaacs>trevnorris: master = actual joyent/master?
00:14:56  <trevnorris>yup.
00:14:58  <isaacs>kewl
00:30:07  * karupaneruraquit (Excess Flood)
00:33:37  * karupanerurajoined
00:33:43  * EhevuTovquit (Quit: This computer has gone to sleep)
00:41:23  * paddybyersquit (Ping timeout: 245 seconds)
00:50:11  * jmar777quit (Remote host closed the connection)
01:04:04  * pooyaquit (Quit: pooya)
01:09:43  * trevnorrisquit (Quit: Leaving)
01:18:03  * lohkeypart
01:36:29  * dapquit (Quit: Leaving.)
01:37:23  * abraxasjoined
01:39:48  * stagasquit (Ping timeout: 264 seconds)
01:40:10  * EhevuTovjoined
02:17:53  * lohkey_joined
02:17:53  * lohkey_quit (Client Quit)
02:54:44  * kristatejoined
02:55:56  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:57:07  * wolfeidauquit (Read error: Connection reset by peer)
02:57:14  * wolfeida_joined
03:12:34  * loladirojoined
03:21:17  * kazuponjoined
03:33:46  * pooyajoined
03:42:31  * loladiro_joined
03:45:11  * loladiroquit (Ping timeout: 260 seconds)
03:45:11  * loladiro_changed nick to loladiro
03:49:23  * pooyaquit (Quit: pooya)
03:50:44  * pooyajoined
03:57:46  * brsonquit (Ping timeout: 246 seconds)
04:27:32  * kristatequit (Remote host closed the connection)
04:36:38  * TheJHjoined
04:38:51  * kazuponquit (Ping timeout: 260 seconds)
04:57:11  * kazuponjoined
05:07:35  * brsonjoined
05:09:12  * jmar777joined
05:10:24  * kazuponquit (Remote host closed the connection)
05:17:22  * kazuponjoined
05:20:06  * kazuponquit (Remote host closed the connection)
05:27:15  * loladiroquit (Ping timeout: 276 seconds)
05:38:15  * kazuponjoined
05:47:17  * ryahquit (Ping timeout: 255 seconds)
05:47:24  * ryahjoined
05:48:14  * niskaquit (Ping timeout: 252 seconds)
05:50:02  * niskajoined
05:55:10  * pooyaquit (Quit: pooya)
05:58:43  * EhevuTovquit (Quit: This computer has gone to sleep)
06:01:37  * wolfeida_quit (Remote host closed the connection)
06:08:29  * trevnorrisjoined
06:12:04  * TheJHquit (Ping timeout: 252 seconds)
06:30:43  * indexzeroquit (Quit: indexzero)
06:34:01  * qmxchanged nick to qmx|away
07:02:12  * jmar777quit (Remote host closed the connection)
07:02:48  * jmar777joined
07:06:48  * jmar777quit (Ping timeout: 245 seconds)
07:14:38  <pquerna>my use of the node.js ppa last about 15 minutes :|
07:31:57  * paddybyersjoined
07:32:48  * `3rdEdenjoined
07:39:57  * AvianFluquit (Remote host closed the connection)
07:50:56  <indutny>morning
07:53:47  <trevnorris>heh, night.
08:09:11  * pooyajoined
08:10:34  * trevnorrisquit (Quit: Leaving)
08:14:52  * paddybyersquit (Read error: Connection reset by peer)
08:14:57  * paddybyers_joined
08:17:52  * rendarjoined
08:22:10  * brsonquit (Read error: Connection reset by peer)
08:38:58  * paddybyersjoined
08:41:19  * paddybyers_quit (Ping timeout: 260 seconds)
08:42:16  * btraskquit (Quit: btrask)
08:46:07  * EhevuTovjoined
08:51:25  * kazuponquit (Remote host closed the connection)
08:59:55  * EhevuTovquit (Quit: This computer has gone to sleep)
09:00:47  * EhevuTovjoined
09:04:21  <saghul>indutny yt? could you please give me some feedback on this? https://github.com/joyent/libuv/pull/676
09:04:50  <indutny>hello
09:05:27  * indexzerojoined
09:05:52  <indutny>well, patch itself lgtm
09:05:54  <indutny>but
09:06:04  <indutny>I can't really decide anything
09:06:13  <indutny>are you sure it can't be implemented with existing APIs
09:06:21  <indutny>like running loop with uv_run_once()
09:06:29  <indutny>and breaking when some flag is set
09:07:14  <saghul>check my last comment
09:07:27  <saghul>uv_stop will prevent the loop from blocking for io
09:07:34  <indutny>hm...
09:07:41  <saghul>you would need to use an extra idle handle
09:07:48  <saghul>which is inconvenient
09:09:12  <saghul>re: "I can't really decide anything", sure, but feedback is always welcome :-)
09:10:21  <indutny>well
09:13:59  <indutny>honestly, it seems to be unnecessary
09:14:08  <indutny>and I learned a hard lesson
09:14:19  <indutny>if you don't really need something - don't write it :)
09:14:27  <indutny>otherwise you'll be tortured
09:14:30  <indutny>by yourself
09:14:34  <saghul>well, I do need it :-)
09:14:44  <saghul>otherwise I wouldn't have written it
09:14:56  <indutny>I'm not going to argue with you
09:14:59  <indutny>;)
09:15:02  <indutny>ask ben about it
09:15:33  <saghul>sure, just trying to see how other core devs feel about it
09:15:36  <saghul>thanks
09:16:17  * pooyaquit (Quit: pooya)
09:16:42  <indutny>np
09:16:44  <indutny>you're welcome
09:18:26  * mralephquit (Quit: Leaving.)
09:22:59  * felixgejoined
09:23:00  * felixgequit (Changing host)
09:23:00  * felixgejoined
09:24:22  * c4milojoined
09:27:42  * wolfeidaujoined
09:28:41  * c4miloquit (Ping timeout: 255 seconds)
10:05:02  * hzjoined
10:22:14  * rumpjoined
10:25:13  * indexzeroquit (Quit: indexzero)
11:11:46  * c4milojoined
11:15:58  * c4miloquit (Ping timeout: 245 seconds)
11:17:57  * stagasjoined
11:22:34  <roxlu>hi guys, I'm getting a "Assertion failed: (stream->write_queue_size == 0), function uv__write,"
11:23:01  <roxlu>the stream->write_queue_size, is that the number of bytes still to be send?
11:24:29  <indutny>hello
11:24:48  <roxlu>hey indutny
11:25:06  <indutny>yes, it is
11:25:32  <indutny>what are you doing?
11:25:44  <roxlu>does that error mean I'm calling uv_write() with a uv_buf.len = 0 ?
11:26:46  <indutny>no, not really
11:27:00  <indutny>it means that some internal state error has happened
11:27:14  <indutny>can you print write_queue_size on that line?
11:27:40  <roxlu>hmm I'm usign a compiled lib
11:28:31  <roxlu>it would take a some time to edit the files/recompile .. but I'll look into it. I'm not using the GIT version atm too
11:28:40  <indutny>well
11:28:42  <indutny>you can try using gdb
11:28:46  <indutny>and printing it's value
11:28:54  <indutny>but it might be optimized out of the code
11:29:09  <indutny>so I guess only patching code and recompiling can give you the right output
11:29:30  <roxlu>I'll check lldb
11:32:41  <roxlu>hehe I would expect quee size to be 0 btw
11:33:23  <indutny>me too
11:33:24  <roxlu>indutny: this is the backtrace: https://gist.github.com/4581c80be54601a8c024
11:33:46  <indutny>erm
11:33:53  <indutny>great
11:34:02  <indutny>it's not really a backtrace :)
11:34:12  <indutny>are you sure you're inspecting right thread?
11:34:35  <roxlu>if you refresh it's the bt
11:35:04  <roxlu>I think it's the right thread; as It's happening when calling *_write()
11:35:53  <roxlu>I'm using uv_run_once .. not sure if that could be something related
11:41:51  <indutny>yes
11:41:54  <indutny>this backtrace is correct
11:42:04  <indutny>anyway I need the value of this variable to figure something out
11:43:52  <roxlu>thanks, I'll do some debugging here first and maybe upgrade to the latest git version
11:44:09  <roxlu>it might be thread related :#
11:50:12  <indutny>sure it is
11:53:13  <indutny>I suppose you're working with handle from another thread
11:53:16  * rumpquit (Quit: rump)
11:55:09  <roxlu>yeah
11:55:20  <roxlu>I'm adding a seprate buffer + mutex now
11:55:30  <roxlu>it think that solved it
11:55:38  <indutny>ok
12:04:52  * EhevuTovquit (Quit: This computer has gone to sleep)
12:04:52  * paddybyersquit (Read error: Connection reset by peer)
12:05:13  * paddybyersjoined
12:17:10  * stagasquit (Ping timeout: 260 seconds)
12:17:14  * stagas_joined
12:17:18  * stagas_changed nick to stagas
12:27:16  * sgallaghjoined
12:58:26  * c4milojoined
13:02:38  * c4miloquit (Ping timeout: 245 seconds)
13:15:57  * abraxasquit (Remote host closed the connection)
13:16:30  * abraxasjoined
13:21:24  * abraxasquit (Ping timeout: 276 seconds)
13:56:16  * qmx|awaychanged nick to qmx
14:00:15  * loladirojoined
14:09:02  <indutny>it's pretty quiet here today
14:10:08  * bnoordhuisjoined
14:11:23  <stagas>indutny: lets make a bot that brings up random topics when everyone is silent
14:12:13  <indutny>what do you think about gun control?
14:13:40  <stagas>where I live every villager owns a couple of kalashnikovs, a dozen of rifles, handguns are like gums
14:14:27  <stagas>you hear them on every feast shooting the air
14:15:09  <indutny>where are you living?
14:15:23  <stagas>crete
14:15:29  <indutny>greece?
14:15:40  <stagas>yup
14:15:44  <stagas>from wikipedia: Nearly every rural household on Crete has at least one unregistered gun.[16] Guns are subject to strict regulation from the Greek government, yet the authorities turn a blind eye...
14:15:58  <indutny>nice
14:16:05  <indutny>is there a lot of criminal risks here?
14:16:32  * c4milojoined
14:17:25  <stagas>no not really things are peaceful. it's a reflex because of the german attack, so let's see anyone just "trying" to occupy crete now
14:18:19  <indutny>ah
14:18:21  <indutny>nice
14:18:25  <indutny>creete has a reach history
14:18:34  <indutny>and it's pretty warm here
14:18:35  <indutny>:P
14:18:42  <indutny>s/ee/e
14:20:03  <stagas>yeah probably too warm in the summer, you can't get anything done, only escape is the beaches
14:20:28  * piscisaureus_joined
14:20:44  * jmar777joined
14:30:37  * indexzerojoined
14:43:45  * Raltquit (Read error: Connection reset by peer)
14:45:51  * Raltjoined
14:54:03  * loladiroquit (Quit: loladiro)
14:55:19  * c4miloquit (Read error: Connection reset by peer)
14:55:49  * c4milojoined
14:58:57  * indexzeroquit (Quit: indexzero)
15:11:25  * piscisaureus_quit (Ping timeout: 256 seconds)
15:28:29  <bnoordhuis>300`tty` failed: exit code 6
15:28:29  <bnoordhuis>301Output from process `tty`:
15:28:30  <bnoordhuis>302Assertion failed in test/test-tty.c on line 68: ttyin_fd >= 0
15:28:35  <bnoordhuis>^ seriously, travis :/
15:30:16  * loladirojoined
15:37:31  * c4miloquit (Remote host closed the connection)
15:38:27  * hzquit
15:38:50  * c4milojoined
15:44:15  * bradleymeckjoined
15:47:54  * piscisaureus_joined
15:48:00  * indexzerojoined
15:48:17  * loladiroquit (Read error: Connection reset by peer)
15:48:19  * loladiro_joined
15:49:42  * TheJHjoined
15:54:09  <MI6>joyent/node: Mathias Bynens master * bc764f3 : punycode: update to v1.2.0 This update adds support for RFC 3490 separat - http://git.io/ouolWA
15:55:23  * indexzeroquit (Quit: indexzero)
16:00:00  <indutny>bnoordhuis: hoya
16:00:52  * tomshredsjoined
16:02:12  * qmxchanged nick to qmx|lunch
16:03:08  <bnoordhuis>indutny: heya
16:03:18  <indutny>so...hm...
16:03:20  <indutny>tls shutdown
16:03:46  <bnoordhuis>yes. great joke eh?
16:04:05  <indutny>about stocks?
16:04:40  <indutny>so, let me explain why do we need this patch
16:05:13  <indutny>it's graceful only by incedent
16:05:27  <indutny>we're not waiting for client to send it's CLOSE_NOTIFY
16:05:32  <indutny>s/it's/its
16:05:47  <indutny>surely, it works fine if client sends it first
16:05:53  <indutny>like with HTTP requests
16:06:28  <bnoordhuis>indutny: can you reproduce it with a test?
16:06:44  <indutny>I think so
16:06:45  <bnoordhuis>e.g. one that spawns a child that connects and calls process.exit somewhere halfway?
16:07:06  <bnoordhuis>not sure if that will actually work
16:07:09  <indutny>the problem is that we ain't providing any debug information
16:07:12  <bnoordhuis>but you'll figure it out, i don't doubt :)
16:07:18  <indutny>like have we received CLOSE_NOTIFY or not
16:08:15  <bnoordhuis>indutny: openssl has logging functions builtin, right?
16:08:36  <indutny>this feels shitty too me :)
16:08:47  <indutny>we already have some tests that depends on global `openssl` cli tool
16:08:55  <indutny>s/depends/are depending/
16:10:21  <indutny>bnoordhuis: can you describe your concerns about this patch?
16:10:32  <indutny>except that it works properly now
16:11:09  <MI6>joyent/node: Alexandr Emelin master * eef0ccb : http: fix duplicate var initialization IncomingMessage function containe - http://git.io/kKAbgQ
16:11:50  <bnoordhuis>indutny: well, the behavior it aims to fix should be reproducible
16:11:57  <bnoordhuis>but it isn't right now
16:12:08  <indutny>because it's recommendation
16:12:10  <indutny>not requirement
16:12:15  * tomshredsquit (Quit: Linkinus - http://linkinus.com)
16:12:23  <indutny>I mean waiting for CLOSE_NOTIFY
16:12:54  * `3rdEdenquit (Quit: omnomonomnomnomnomnomnomnom)
16:13:26  <bnoordhuis>indutny: sorry, gotta go. we'll discuss it later tonight
16:13:31  <indutny>sure
16:13:32  <indutny>ping me
16:16:54  * piscisaureus_quit (Ping timeout: 276 seconds)
16:24:30  * TheJHquit (Ping timeout: 260 seconds)
16:26:16  * TheJHjoined
16:38:08  * bradleymeckquit (Quit: bradleymeck)
16:39:16  * philips_quit (Excess Flood)
16:42:16  * trevnorrisjoined
16:44:19  * EhevuTovjoined
16:48:19  * philips_joined
17:00:15  * dapjoined
17:10:24  * qmx|lunchchanged nick to qmx
17:11:07  * AvianFlujoined
17:11:50  * rumpjoined
17:27:21  * TooTallNatejoined
17:40:50  * dapquit (Quit: Leaving.)
17:43:11  * trevnorrisquit (Quit: Leaving)
17:48:40  * `3rdEdenjoined
17:50:34  * stagas_joined
17:52:20  * stagasquit (Ping timeout: 248 seconds)
17:52:29  * stagas_changed nick to stagas
17:56:23  * trevnorrisjoined
17:57:39  * c4miloquit (Remote host closed the connection)
18:00:04  * EhevuTovquit (Quit: This computer has gone to sleep)
18:00:48  * EhevuTovjoined
18:01:07  * paddybyersquit (Ping timeout: 248 seconds)
18:05:54  <isaacs>TooTallNate, indutny, bnoordhuis: review? https://github.com/isaacs/node/commit/7d97d92cef9b9c7d90dac0da2a2315d0aa50c715
18:07:23  <TooTallNate>isaacs: the guy said it fixed his issue right?
18:07:30  <isaacs>TooTallNate: yeah
18:08:43  * pooyajoined
18:10:17  <isaacs>Raynos: can you rebase https://github.com/joyent/node/pull/4581 onto master?
18:10:22  <isaacs>Raynos: i think we fixed some of the same bugs
18:10:45  <isaacs>Raynos: or, actually, wait until i merge GH-4585
18:18:02  * loladiro_quit (Quit: loladiro_)
18:21:28  <trevnorris>isaacs: i'm writing a bunch of new benchmarks. Does the disclaimer need to go at the head of all those?
18:21:42  <isaacs>which disclaimer?
18:22:41  <tjfontaine>I think he means the copyright block?
18:22:46  <trevnorris>isaacs: sorry, yeah that
18:22:47  <tjfontaine>copyright/license
18:23:08  <isaacs>oh. i don't know. i hate that thing. yeah, probably.
18:24:44  * Raltquit (Read error: Connection reset by peer)
18:24:53  * dapjoined
18:25:37  <trevnorris>fun. ok will do.
18:26:52  * brsonjoined
18:28:37  <trevnorris>heh. i've written up a how-to-use-this-bench for each one. now the first 40 lines are comments.
18:40:37  <isaacs>trevnorris: alright, it looks like you and deanm are both ok with this patc, and it doesn't break any tests, so i'm landing it
18:41:07  <MI6>joyent/node: Trevor Norris master * 7393740 : buffer: improve read/write speed with assert Improved assert check order (+1 more commits) - http://git.io/qEl-FQ
18:41:14  <trevnorris>isaacs: thank you so so much.
18:41:33  * trevnorrisfeels a huge sense of relief
18:42:46  <TooTallNate>trevnorris++
18:42:47  <kohai>trevnorris has 1 beer
18:43:21  <trevnorris>heh, thanks guys.
18:44:28  <isaacs>TooTallNate: thoughts on https://github.com/isaacs/node/commit/7d97d92cef9b9c7d90dac0da2a2315d0aa50c715?
18:44:52  <TooTallNate>isaacs: seems fine to me as long as it doesn't break any tests :)
18:45:01  <isaacs>TooTallNate: yeah, it's test-clean
18:45:13  <TooTallNate>kewl
18:45:16  <TooTallNate>LGTM then
18:45:20  <isaacs>landed
18:45:42  * hzjoined
18:45:54  <MI6>joyent/node: isaacs master * 14e8f80 : stream: Properly handle large reads from push-streams Problem 1: If stre - http://git.io/yuxnaw
18:46:17  <isaacs>trevnorris: thoughts on https://github.com/joyent/node/pull/4598?
18:47:45  <TooTallNate>isaacs: seems fine to me
18:48:30  <trevnorris>isaacs: just adding comment about why that has to happen.
18:49:30  <trevnorris>isaacs: applicable fix right now. In the bug I listed this will change by 3.17
18:49:33  <MI6>joyent/node: James Campos master * c93c99c : assert that require() has a truthy path - http://git.io/6bbbFA
18:51:43  <isaacs>trevnorris: so, are you saying that we should land https://github.com/joyent/node/pull/4598 and then revert it when V8 updates?
18:51:49  <trevnorris>isaacs: yeah.
18:52:20  <isaacs>trevnorris: and will this start crashing or something then, so that we'll know to change it?
18:52:58  <trevnorris>isaacs: a lot more will crash than that. They say the Isolate argument will become explicit and will become the 1st argument.
18:53:39  <TooTallNate>isaacs: incidentally, i think your stream patch fixed a strange bug i was encountering in node-icecast, but couldn't really reproduce standalone
18:53:41  <TooTallNate>so thanks :)
18:53:51  <isaacs>yw :)
18:54:00  <isaacs>right
18:54:05  <isaacs>trevnorris: ok, that's good, then
18:56:25  <TooTallNate>trevnorris: i think the new signature will be opt-in though
18:56:33  <MI6>joyent/node: Dean McNamee master * 9fe3734 : TypedArrays: Improve dataview perf without endian param V8 seems to be p - http://git.io/F9N7iQ
18:56:36  <TooTallNate>just guessing
18:57:01  <trevnorris>TooTallNate: what's your interpretation of: http://code.google.com/p/v8/issues/detail?id=2487
18:57:47  <TooTallNate>trevnorris: looks like they're gonna deprecate the current sig
18:57:52  <TooTallNate>trevnorris: phase it out eventually
18:58:39  <trevnorris>TooTallNate: yeah. from the wording I'd think it would be deprecated in 3.16 and removed in 3.17.
18:59:50  <MI6>joyent/node: Ryunosuke SATO master * 61741f9 : repl: fix how to module requiring in code comment This module requiring - http://git.io/-XLKSw
18:59:51  * brsonquit (Ping timeout: 260 seconds)
19:00:24  <trevnorris>heh. just noticed it's priority-high. didn't think it was that important.
19:03:46  * brsonjoined
19:04:40  <Raynos>isaacs: ping me again later
19:06:11  * piscisaureus_joined
19:08:28  <isaacs>Raynos: ok
19:16:12  <trevnorris>um... the same code is duplicated for AsciiSlice and Utf8Slice. should they differ in functionality?
19:21:16  <TooTallNate>trevnorris: i think that's a known bug, but i don't know what the status on it is
19:21:37  <TooTallNate>trevnorris: https://github.com/joyent/node/issues/4371
19:21:55  <TooTallNate>trevnorris: ben's fix: https://github.com/joyent/node/pull/4379
19:21:58  <trevnorris>ah, duh.
19:22:23  <trevnorris>thank.
19:25:10  * hzquit
19:33:01  * paddybyersjoined
19:35:02  * rumpquit (Quit: rump)
19:36:15  <indutny>ohai
19:36:17  <indutny>laboodai
19:36:23  * indutnyducks
19:36:36  <indutny>bnoordhuis: I wanted to ask you about sometihng
19:36:41  <indutny>but forgot about what
19:41:08  * rje`sickdaychanged nick to rje
19:42:20  <mmalecki>bnoordhuis: so yo, wanna hang out tomorrow?
19:42:37  <mmalecki>piscisaureus_: ^
19:42:56  <piscisaureus_>mmalecki: ah wait you are in amsterdam
19:43:09  <piscisaureus_>mmalecki: I'm fine. although I have meetings until 19.30 or so
19:43:26  <piscisaureus_>mmalecki: where are you staying?
19:43:27  <mmalecki>that should be fine, you guys up for some dinner?
19:43:59  <mmalecki>piscisaureus_: https://www.airbnb.com/rooms/428693
19:44:01  <piscisaureus_>bnoordhuis should answer for himeself. I don't know if he can come to 020 these days
19:44:14  <mmalecki>but I'll be in city centre already
19:44:21  <piscisaureus_>mmalecki: pretty crappy time this is. Do you manage to get out of the door at all?
19:44:37  <trevnorris>isaacs: planning on removing any deprecated features for v0.10 release? (e.g. binary data for buffers)
19:45:03  <piscisaureus_>mmalecki: oh my indische buurt. How d'ya end up there?
19:45:20  <isaacs>trevnorris: i think binary is here to stay
19:45:27  <mmalecki>piscisaureus_: sure I do. I ended up there by a careful airbnb search :)
19:45:36  <piscisaureus_>haha
19:45:37  <mmalecki>is it bad?
19:45:42  <mmalecki>I never actually checked
19:45:45  <piscisaureus_>no, just far :-)
19:45:55  <piscisaureus_>not really that far actually, but I'm lazy
19:46:03  <mmalecki>yeah, I like walking :)
19:47:53  <piscisaureus_>mmalecki: I'm here -> https://maps.google.com/maps?q=52.374155,4.881274&hl=en&num=1&t=m&z=19
19:48:23  <piscisaureus_>mmalecki: I think we should meet in either my neighbourhood or near Nieuwmarkt.
19:48:32  <trevnorris>TooTallNate: other can converting the null character, how is toString('binary') from what toString('ascii') is supposed to be?
19:48:34  <piscisaureus_>Unless you like Rembrandtplein a lot, I don't
19:49:23  <mmalecki>piscisaureus_: it's totally up to you :)
19:49:36  <mmalecki>or I can drop by c9 office if you'll be there
19:49:45  <piscisaureus_>mmalecki: do you have a phone number? I'll call you when I am done with the meetings tomorrow.
19:49:54  <piscisaureus_>I'll PM you mine
19:52:28  <trevnorris>TooTallNate: *different from
19:52:28  <CoverSlide>Buffers in crypto ... is that in v0.9+ ?
19:56:15  <TooTallNate>trevnorris: ascii is 0-127, binary is 0-255
19:56:37  * c4milojoined
19:58:39  <TooTallNate>isaacs: after a reverse git bisect, it looks like this is the one that fixed it for me https://github.com/joyent/node/commit/b43e544140ccf68580c02e71c56d19b82e1e1d32
20:03:18  * rumpjoined
20:04:15  * stagasquit (Ping timeout: 260 seconds)
20:07:26  <MI6>joyent/node: isaacs master * b9ffc53 : lint: Prefer double-quotes over single - http://git.io/al2siQ
20:09:16  <TooTallNate>isaacs: ^ i think that commit message is backwards
20:09:26  <isaacs>oops, you're right
20:09:31  <TooTallNate>isaacs: moar coffee for you
20:09:40  <isaacs>yeah.
20:09:48  <isaacs>and less cold.
20:10:10  <isaacs>most years i hardly ever get sick, but with all the traveling around the holidays, i picked up something awful that is still with me.
20:10:25  <isaacs>can't seem to shake it
20:10:37  * loladirojoined
20:21:41  <TooTallNate>isaacs: i like that ev stuff
20:22:29  <isaacs>TooTallNate: cool.
20:22:37  <isaacs>i want to throw some more benchmarking at it, make sure it's not a problem.
20:22:45  <isaacs>i've learned painful lessons about touching the code in lib/event.js
20:22:45  <TooTallNate>ya for sure
20:22:55  <TooTallNate>haha
20:22:57  <TooTallNate>ya me too
20:25:28  <MI6>joyent/node: Felix Böhm master * 7465cf9 : module: assert that require() is called with a string as requested in #4 - http://git.io/b6fpHg
20:28:25  <MI6>joyent/node: isaacs master * 47f3fc9 : test: add module-loading test with empty string - http://git.io/WF1uJQ
20:34:58  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
20:35:18  * piscisaureus_joined
20:35:26  * piscisaureus_changed nick to pisci_away
20:47:34  * rumpquit (Quit: rump)
21:12:42  <indutny>ttyl
21:12:43  <indutny>everyone
21:15:23  * mikealjoined
21:17:23  * rumpjoined
21:20:41  <trevnorris>TooTallNate: ah, thanks.
21:23:52  <trevnorris>isaacs: working on benchmarks now. I'll do events after buffers are complete: https://github.com/trevnorris/node/compare/micro-perf
21:32:08  <trevnorris>strange. checked my process list and found 16 instance of `out/Release/node --debug-brk=13683 test/fixtures/breakpoints.js`
21:32:10  <bnoordhuis>back
21:32:22  <bnoordhuis>just missed fedor, i see
21:32:50  <bnoordhuis>trevnorris: some of the debugger tests sometimes leave stray child processes behind, it's very annoying
21:33:13  <bnoordhuis>it's one of those 'look into sometime' things
21:33:34  * jmar777quit (Remote host closed the connection)
21:33:46  <bnoordhuis>mmalecki: not 100% sure but i might come to 020 tomorrow
21:35:07  <mmalecki>bnoordhuis: okay, when can you let me know?
21:35:21  <bnoordhuis>mmalecki: probably tomorrow afternoon
21:35:28  <mmalecki>bnoordhuis: also would you be up to grab a dinner with us?
21:35:33  <bnoordhuis>what time?
21:35:44  <mmalecki>around 8, 8:30?
21:36:58  <trevnorris>bnoordhuis: ah. ok.
21:37:05  <bnoordhuis>mmalecki: oh, sure
21:37:38  <mmalecki>bnoordhuis: so ping me tomorrow and we'll figure it out with pisci_away
21:38:12  <bnoordhuis>yup, will do
21:41:46  * qmxchanged nick to qmx|brb
21:45:06  <trevnorris>bnoordhuis: i'm creating a more benchmarks for buffers, and placed them in a buffer folder. think the file names should still be prepended with "buffer_"?
21:46:27  * qmx|brbchanged nick to qmx
21:56:41  * rendarquit
22:01:12  <trevnorris>isaacs: fyi: buffer.slice allows for negative number on fast buffers, which allows you to reach backward in the stack.
22:01:39  <trevnorris>i'll get that one patched up too.
22:07:14  * wolfeidauquit (Remote host closed the connection)
22:14:59  <bnoordhuis>trevnorris: re: prepend with buffer_, yes
22:15:14  <trevnorris>anyone think .fill() should throw if a user passes a non ascii character?
22:15:18  <trevnorris>bnoordhuis: thx
22:15:48  <bnoordhuis>trevnorris: i guess not, it'll just get truncated
22:15:59  <trevnorris>cool.
22:17:01  <bnoordhuis>isaacs: if you have a sec, can you add travis hook for joyent/http-parser? not very important, just a nice-to-have
22:17:07  <bnoordhuis>yes, i said 'nice-to-have'
22:22:22  * wolfeidaujoined
22:32:14  <trevnorris>in the wild chance you have a spare moment, mind letting me know if you think i'm headed in the right direction with these bench tests? https://github.com/trevnorris/node/compare/micro-perf
22:36:34  <MI6>joyent/libuv: Ben Noordhuis master * 4ba03dd : unix, windows: rename uv_run2 to uv_run This changes the prototype of uv - http://git.io/6eWlGg
22:38:22  <MI6>joyent/node: Ben Noordhuis master * 952e42d : deps: upgrade libuv to 4ba03dd - http://git.io/b2N85Q
22:39:22  <bnoordhuis>trevnorris: big changeset
22:39:49  * AvianFluquit (Remote host closed the connection)
22:39:58  <trevnorris>bnoordhuis: will be. working on events now. think I should break these up?
22:40:48  <trevnorris>(to different PR's)
22:41:02  <bnoordhuis>trevnorris: oh, it's probably fine. it's just that big commits are a lot more work to review
22:41:16  <bnoordhuis>maybe i should outsource reviewing patches to china
22:42:00  <trevnorris>heh, and pay them 1/6 your salary? good idea.
22:42:59  <trevnorris>since it is large, was hoping the change set would be simpler to review since it's only going to touch benchmarks.
22:43:23  * sgallaghquit (Remote host closed the connection)
22:51:56  <bnoordhuis>trevnorris: lgtm. my only complaint would be that it's not possible to run individual benchmarks
22:52:21  <bnoordhuis>but that's no biggy; if i want to bench it with perf or callgrind, i'll just remove the benchmarks around it
22:52:22  <trevnorris>bnoordhuis: i'll build that in.
22:52:58  <bnoordhuis>trevnorris: no need, not until it starts to get annoying
22:53:39  <trevnorris>bnoordhuis: to be honest, already was with the buffer tests. was constantly commenting out sections of them.
22:55:17  * brsonquit (Ping timeout: 256 seconds)
22:55:24  <trevnorris>will be easy enough to add a `node some_bench.js --run 'test1' 'test2' 'test3' --len 1e4` type thing.
22:55:39  <bnoordhuis>trevnorris: okay, if you're up for it
22:55:50  * brsonjoined
22:55:59  <trevnorris>i've done it before. won't take me long.
22:56:24  <trevnorris>hardest part is to not start working on bugs I find while doing this.
22:56:49  <trevnorris>(e.g. buffer.slice accepts negative start values, which allows it to go backwards in a fast buffer stack)
22:57:00  * EhevuTovquit (Ping timeout: 256 seconds)
22:59:05  * EhevuTovjoined
23:01:15  * qmxchanged nick to qmx|away
23:01:23  <MI6>joyent/libuv: Ben Noordhuis master * e7f384f : test: make threadpool tests valgrind-compliant Delete the event loop aft - http://git.io/bXIYkg
23:01:43  <bnoordhuis>trevnorris: you mean it slices from the buffer before it?
23:02:06  <CoverSlide>that's awesome!!
23:02:12  * CoverSlidehaxxor
23:02:23  <trevnorris>bnoordhuis: yeah. do this: Buffer(10).slice(-5,5)
23:03:00  <trevnorris>if you make two subsequent buffers in the same pool then you can see them interact.
23:03:31  <CoverSlide>aswsome, i just segfaulted from node
23:03:38  <trevnorris>CoverSlide: using that?
23:03:42  <CoverSlide>yep
23:03:43  * EhevuTov_joined
23:03:45  <trevnorris>lol
23:04:03  <CoverSlide>new Buffer(6).slice(-60,6)
23:04:16  <tjfontaine>zoinks
23:04:23  <CoverSlide>i think v0.8.x
23:04:55  <trevnorris>CoverSlide: just fyi that's relative to the pool. so to ensure you reach beyond do: Buffer(1).slice(-Buffer.pool, 0);
23:04:59  <tjfontaine>http://paste.debian.net/hidden/27188a98/
23:05:20  <trevnorris>heh
23:05:31  <CoverSlide>segfaults on v0.9.6 too
23:05:43  <trevnorris>yeah. i'm testing on master
23:06:12  * EhevuTovquit (Ping timeout: 264 seconds)
23:06:24  <CoverSlide>oo, 2 bytes of padding?
23:07:04  <trevnorris>strange `Buffer(1).slice(-1e308,0) -> "Cannot call method 'toString' of undefined"
23:07:43  <bnoordhuis>$ out/Release/node -pe 'Buffer(1).slice(-0xffff, 1)'
23:07:43  <bnoordhuis>Segmentation fault (core dumped)
23:07:59  <bnoordhuis>i wonder if i can make it write to arbitrary memory
23:08:17  <trevnorris>oooh: Buffer(1).slice(-0xffffffff,0) -> "FATAL ERROR: v8::Object::SetIndexedPropertiesToExternalArrayData() length exceeds max acceptable value"
23:08:44  * Gue______joined
23:08:45  * Gue______quit (Max SendQ exceeded)
23:09:09  <bnoordhuis>i guess yes
23:09:50  <bnoordhuis>trevnorris: yeah, a buffer can't be > 1 GB
23:09:54  <bnoordhuis>hardcoded v8 limit
23:10:16  * c4miloquit (Remote host closed the connection)
23:10:21  <bnoordhuis>==15147== Invalid write of size 1
23:10:22  <trevnorris>bnoordhuis: wtf: Buffer(1).slice(-0xffffffff,-0xfffffffe);
23:10:22  <bnoordhuis>==15147== at 0x7073C2: v8::internal::ExternalUnsignedByteArray::SetValue(unsigned int, v8::internal::Object*) (in /home/bnoordhuis/src/nodejs/master/out/Release/node)
23:10:24  <bnoordhuis>==15147== by 0x71DC52: v8::internal::JSObject::SetElement(unsigned int, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag, bool, v8::internal::SetPropertyMode) (in /home/bnoordhuis/src/nodejs/master/out/Release/node)
23:10:25  <trevnorris>that returned something
23:10:40  <bnoordhuis>it seems we have an exploit
23:10:56  <tjfontaine>indeed
23:11:16  <CoverSlide>so fixes going in v0.8.x then?
23:11:21  <bnoordhuis>yep
23:11:34  <tjfontaine>maybe even .6 if a vendor desires it?
23:11:42  <bnoordhuis>i guess so
23:12:59  <bnoordhuis>i wonder if toString() and friends have the same issue
23:13:06  <bnoordhuis>though they won't write, of course
23:14:03  * felixgequit (Quit: felixge)
23:14:21  <trevnorris>bnoordhuis: what about SlowBuffer.(hex|utf8|ascii|...)Write?
23:15:09  <trevnorris>ah. nope.
23:21:33  <trevnorris>bnoordhuis: what tool you using to get the above output?
23:21:39  <bnoordhuis>trevnorris: valgrind
23:26:45  <trevnorris>whoa, intense.
23:34:57  * `3rdEdenquit (Quit: BRB, sleeping :))
23:49:07  * TheJHquit (Read error: Operation timed out)
23:54:47  <pisci_away>ouch
23:54:58  <pisci_away>bnoordhuis: I thought you fixed this issue recently? Or atleast something similar?
23:55:11  <bnoordhuis>pisci_away: no, that was something else
23:55:11  * pisci_awaychanged nick to piscisaureus
23:55:27  * jmar777joined
23:56:07  <piscisaureus>btw - this isn't really an exploit unless you can trick the http module or express or something into doing this
23:57:38  <piscisaureus>> Buffer(1).slice(-0xffffffff,-0xfffff000).toString()
23:57:38  <piscisaureus>TypeError: Bad argument.
23:59:11  <trevnorris>piscisaureus: try Buffer(1).slice(-0xffffffff, -0xfffffff0).toString('hex');
23:59:28  <trevnorris>no idea what that means.
23:59:33  <trevnorris>but something comes out.