00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:00:25  * AvianFlujoined
00:00:52  <kellabyte>bnoordhuis: so since I declared that function totally wrong, whats right? lol
00:01:40  * sblomquit (Ping timeout: 264 seconds)
00:02:11  <bnoordhuis>kellabyte: void initialize_http_request_cache(void)
00:02:19  <kellabyte>ahh
00:02:36  <bnoordhuis>btw, you're calling malloc() inside your critical section (twice, actually)
00:03:10  <bnoordhuis>malloc() can easily take hundreds of microseconds so you probably want to avoid that
00:03:38  <kellabyte>yeah I've been good at reducing mallocs in some areas but others I need to get better at
00:04:03  <kellabyte>bnoordhuis: which ones are you talking about?
00:04:49  <bnoordhuis>kellabyte: the ones in create_cached_http_request()
00:05:00  <bnoordhuis>one's a call to calloc()
00:05:06  * Benviequit
00:05:16  <kellabyte>bnoordhuis: ah yeah
00:05:28  <kellabyte>bnoordhuis: those will only happen twice a second
00:06:24  <kellabyte>bnoordhuis: I should try to improve them though, thanks!
00:06:56  <bnoordhuis>kellabyte: another thing, if you don't mind me nagging - calling strcat() repeatedly is something of an anti-pattern
00:07:33  * Benviejoined
00:07:34  <bnoordhuis>it has to scan the string each time so it's essentially O(n*m) behavior
00:07:37  <kellabyte>bnoordhuis: yeah I've mostly avoided strlen or strcat in all of the code base except a couple
00:07:52  <bnoordhuis>okay, good :)
00:08:13  <kellabyte>bnoordhuis: this part is one of the newer pieces, it gets called only every 500ms, so far it hasn't hurt performance
00:08:23  <bnoordhuis>no, okay
00:08:34  <kellabyte>bnoordhuis: but ya i should make it better, this cache replaced doing strlen/strcat 4.5 million times a second before :P
00:08:34  <bnoordhuis>it's just that i can't let well enough be
00:08:56  <bnoordhuis>yet another thing, you could combine the two alloc calls into one
00:09:16  <kellabyte>bnoordhuis: lol its totally cool, I want to learn how to write better perf code! that's the whole point of that project
00:09:19  <bnoordhuis>i.e. cache_entry = malloc(sizeof(*cache_entry) + buf_size);
00:09:29  <kellabyte>bnoordhuis: oh neat
00:10:06  <bnoordhuis>then you set char* buf = (char *) (cache_entry + 1) and there's your buffer
00:10:30  <kellabyte>sweet! I like that
00:10:36  <kellabyte>I keep forgetting you can do tricks like that in C
00:11:20  <kellabyte>bnoordhuis: I'd like to maybe do a memory pool and just do one alloc per request
00:11:22  <trevnorris>bnoordhuis: just fyi, going to merge 6063, simple cleanup and a but fix where we bubbled a variable to global in cluster.
00:12:13  <bnoordhuis>kellabyte: yeah, that should work. that's basically how every web server does it, i think
00:12:34  * EhevuTovquit (Quit: This computer has gone to sleep)
00:12:50  <MI6>joyent/node: mscdex master * fe0c0a7 : cluster: variable is not global (+2 more commits) - http://git.io/yZ8GEg
00:13:00  <bnoordhuis>^ name
00:13:27  <trevnorris>bnoordhuis: hm?
00:13:40  <bnoordhuis>s/mscdex/Brian White/
00:13:50  <bnoordhuis>i always land patches under people's real name
00:14:05  * felixgequit (Quit: felixge)
00:14:14  <trevnorris>bnoordhuis: ah, do you change it if they don't include it?
00:14:17  <bnoordhuis>yes
00:14:40  <trevnorris>bnoordhuis: good to know. didn't think we worried about it since isaacs lands them under his tag
00:14:58  <trevnorris>probably too late to force push that fix, sorry :/
00:15:25  <bnoordhuis>why?
00:15:47  <trevnorris>ok, I'll fix it.
00:15:58  <trevnorris>just thought we had like a 10 sec rule or something.
00:15:59  <bnoordhuis>yeah, isaac does that - he really shouldn't but in his case it goes back to nearly the beginning
00:16:08  <bnoordhuis>nah, it's more like 10 minutes
00:16:15  <trevnorris>ok cool.
00:16:31  * defunctzombiechanged nick to defunctzombie_zz
00:17:35  <trevnorris>bnoordhuis: damn. never had to do this. what's the command.
00:18:00  <bnoordhuis>git rebase --author
00:18:04  <trevnorris>ah cool. thanks
00:18:32  <bnoordhuis>err
00:18:37  <bnoordhuis>wait no, not rebase
00:19:20  <bnoordhuis>i guess you can git reset, run sed over the patches, then re-apply them
00:19:25  <bnoordhuis>kind of ghetto but it works
00:19:51  <MI6>joyent/node: Brian White master * d70e649 : cluster: variable is not global (+2 more commits) - http://git.io/Dk-z3w
00:19:54  <trevnorris> :)
00:20:11  <bnoordhuis>nice
00:20:36  <trevnorris>thanks. and i'll keep that in mind from now on.
00:22:06  <MI6>nodejs-master: #430 UNSTABLE osx-ia32 (2/627) smartos-ia32 (4/627) linux-ia32 (3/627) smartos-x64 (11/627) linux-x64 (4/627) osx-x64 (3/627) http://jenkins.nodejs.org/job/nodejs-master/430/
00:22:51  <trevnorris>there's still that http test failure I should have caught in review from isaacs last change.
00:23:20  <bnoordhuis>isaac broke something?
00:23:34  * dap1quit (Quit: Leaving.)
00:24:14  <bnoordhuis>hrm, 2.30 am. guess i should be off to bed. sleep tight everyone
00:24:22  <trevnorris>night
00:24:29  <trevnorris>bnoordhuis: yeah. test-http-client-agent
00:24:45  <trevnorris>but can't tell if the test is no longer valid because of the change.
00:24:57  <trevnorris>oh well, till tomorrow
00:25:38  <bnoordhuis>never do today what you can postpone until tomorrow, is what i always say
00:25:54  <bnoordhuis>like renewing my membership of the procrastinator's guild
00:26:30  <trevnorris>hah, then off to bed with you!
00:29:50  <kellabyte>bnoordhuis: night! thanks!
00:31:15  * bnoordhuisquit (Ping timeout: 245 seconds)
00:31:22  <MI6>nodejs-master: #431 UNSTABLE osx-ia32 (3/627) smartos-ia32 (3/627) linux-ia32 (3/627) smartos-x64 (10/627) linux-x64 (2/627) osx-x64 (2/627) http://jenkins.nodejs.org/job/nodejs-master/431/
00:34:01  <MI6>nodejs-master-windows: #227 UNSTABLE windows-x64 (23/627) windows-ia32 (19/627) http://jenkins.nodejs.org/job/nodejs-master-windows/227/
00:34:23  <isaacs>trevnorris: i broke a test?
00:34:35  <trevnorris>isaacs: yeah.
00:34:55  <isaacs>which one?
00:35:03  <trevnorris>test-http-client-agent
00:35:25  <isaacs>weird. i definitely ran it before pushing...
00:35:48  <trevnorris>yeah, that's what I don't get. don't remember it failing on my side either.
00:36:14  <trevnorris>isaacs: line 102 of _http_agent.js is what's causing the failure
00:36:48  <trevnorris>isaacs: oh, also I assumed that socketRemove() has to be performed at specific times?
00:37:04  <isaacs>trevnorris: where'sthe failure?
00:37:21  <trevnorris>line 56
00:37:21  <trevnorris>assert.equal(http.globalAgent.sockets[name].length, max - count);
00:37:28  <trevnorris>1 == 2
00:37:50  <isaacs>oh, and i'm dumb. test-http-raw-headers.js has 12346 hard-coded in the expected output.
00:38:06  <isaacs>trevnorris: it works for me.
00:38:20  <trevnorris>....
00:39:24  <trevnorris>isaacs: just to assert i'm not loosing it: https://gist.github.com/trevnorris/6246270
00:39:37  <MI6>joyent/node: isaacs master * f73ee94 : test: Remove hard-coded port - http://git.io/Er4iSg
00:40:19  <isaacs>trevnorris: jenkins seems fine with it, also: http://jenkins.nodejs.org/job/nodejs-master/431/DESTCPU=x64,label=osx/tapTestReport/?
00:40:56  <isaacs>trevnorris: [gh:node/master]isaacs@adomuka:~/dev/js/node-master v0.10.16-pre
00:40:56  <isaacs>$ ./node test/simple/test-http-client-agent.js
00:40:56  <isaacs>[gh:node/master]isaacs@adomuka:~/dev/js/node-master v0.10.16-pre
00:40:56  <isaacs>$ echo $?
00:40:57  <isaacs>0
00:42:01  <trevnorris>hm. doing clean build with gcc
00:43:37  <trevnorris>still failed. trying a debug build
00:45:31  <trevnorris>isaacs: oh well, if nothing else is failing then i'll just investigate my end. enjoy your scotch
00:45:47  <isaacs>o, right, i came back home, and got distracted. forgot about the scotch!
00:45:52  <isaacs>thanks for the reminder :)
00:46:06  * amartensquit (Quit: Leaving.)
00:46:21  <trevnorris>hah, no problem
00:47:10  * defunctzombie_zzchanged nick to defunctzombie
00:48:55  <MI6>nodejs-master: #432 UNSTABLE osx-ia32 (2/627) smartos-ia32 (3/627) linux-ia32 (2/627) smartos-x64 (9/627) linux-x64 (2/627) osx-x64 (1/627) http://jenkins.nodejs.org/job/nodejs-master/432/
00:49:26  <trevnorris>isaacs: strange. ran the test on battery power (which slows down my laptop considerably) and got a different error: https://gist.github.com/trevnorris/6246270
00:49:28  <trevnorris>(bottom one)
00:49:38  <trevnorris>isaacs: ^ for tomorrow :)
00:50:06  <isaacs>trevnorris: weeird.
00:50:35  <isaacs>trevnorris: yeah, that's definitely some timing-dependent stuff.
00:50:49  * c4miloquit (Remote host closed the connection)
00:51:00  <trevnorris>isaacs: thought the same
00:54:40  * kazuponquit (Remote host closed the connection)
00:55:14  * stagasquit (Read error: Connection reset by peer)
00:55:24  <MI6>nodejs-master-windows: #228 UNSTABLE windows-x64 (22/627) windows-ia32 (20/627) http://jenkins.nodejs.org/job/nodejs-master-windows/228/
01:20:05  * brsonquit (Quit: leaving)
01:20:53  * brsonjoined
01:21:00  * brsonquit (Client Quit)
01:21:29  * brsonjoined
01:22:09  <MI6>nodejs-master-windows: #229 UNSTABLE windows-x64 (53/627) windows-ia32 (55/627) http://jenkins.nodejs.org/job/nodejs-master-windows/229/
01:25:03  * brsonquit (Client Quit)
01:30:04  * EhevuTovjoined
01:37:18  * bnoordhuisjoined
01:41:48  * bnoordhuisquit (Ping timeout: 256 seconds)
01:42:57  <TooTallNate>isaacs: what would you recommend to do for a "deprecated, renamed" package?
01:43:20  <TooTallNate>isaacs: specifically, there's still the old `node-ffi`, which is v0.x, but the preferred one is `ffi` which is v1.x
01:43:37  <TooTallNate>would you recommend to add a "preinstall" echo message or something?
01:44:14  * julianduquequit (Quit: leaving)
01:54:21  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
01:57:14  * st_lukequit (Remote host closed the connection)
01:59:03  * julianduquejoined
02:06:18  * amartensjoined
02:06:58  * mikealjoined
02:17:35  * mikealquit (Quit: Leaving.)
02:20:01  * mikealjoined
02:24:11  * mikealquit (Client Quit)
02:28:17  * defunctzombiechanged nick to defunctzombie_zz
02:30:53  * defunctzombie_zzchanged nick to defunctzombie
02:31:59  * st_lukejoined
02:38:50  * mcavage_joined
02:38:50  * mcavagequit (Read error: Connection reset by peer)
02:44:44  * mikealjoined
02:52:09  * mikealquit (Quit: Leaving.)
02:57:42  * mcavage_quit (Read error: Connection reset by peer)
02:57:56  * mcavagejoined
02:58:49  * sblomjoined
03:02:58  * sblomquit (Ping timeout: 246 seconds)
03:05:55  * st_lukequit (Remote host closed the connection)
03:23:49  * kenperkinsjoined
03:24:27  * c4milojoined
03:24:51  * kenperkinsquit (Client Quit)
03:33:15  * mikealjoined
03:33:40  * mikealquit (Client Quit)
03:33:58  * mikealjoined
03:36:57  * defunctzombiechanged nick to defunctzombie_zz
03:39:44  * defunctzombie_zzchanged nick to defunctzombie
03:46:04  * AvianFluquit (Ping timeout: 264 seconds)
03:46:27  * AvianFlujoined
03:58:13  * AvianFluquit (Remote host closed the connection)
03:58:41  * AvianFlujoined
04:06:38  * mikealquit (Quit: Leaving.)
04:10:48  * kazuponjoined
04:14:21  * mikealjoined
04:16:32  * st_lukejoined
04:17:35  * mikealquit (Client Quit)
04:21:39  * st_lukequit (Ping timeout: 276 seconds)
04:29:54  * c4miloquit (Remote host closed the connection)
04:31:03  * felixgejoined
04:37:27  * felixgequit (Quit: felixge)
04:51:48  * mikealjoined
04:52:11  * mikealquit (Client Quit)
04:52:26  * inolenjoined
04:53:13  * mikealjoined
04:58:54  * AvianFluquit (Remote host closed the connection)
05:23:45  * mikealquit (Quit: Leaving.)
05:30:20  * mikealjoined
05:31:34  * brsonjoined
05:38:55  * st_lukejoined
05:59:53  * st_lukequit (Remote host closed the connection)
06:00:53  * defunctzombiechanged nick to defunctzombie_zz
06:05:11  * mikealquit (Quit: Leaving.)
06:08:02  * mikealjoined
06:08:25  * mikealquit (Client Quit)
06:11:32  <pfox___>are there situations where a callback provided to a uv_fs_* function is just ignored?
06:11:55  <pfox___>from what i observe, the calls are succeeding (files are open, fds are written to, etc), but the callbacks are never ran
06:23:31  * brsonquit (Quit: leaving)
06:29:18  * julianduquequit (Quit: leaving)
06:29:26  * julianduquejoined
06:30:21  * amartensquit (Quit: Leaving.)
06:38:37  * mikealjoined
06:44:09  * mcavage_joined
06:44:10  * mcavagequit (Read error: Connection reset by peer)
06:47:28  <MI6>nodejs-v0.10-windows: #146 UNSTABLE windows-ia32 (7/595) windows-x64 (7/595) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/146/
06:48:08  * st_lukejoined
06:52:36  * amartensjoined
06:52:42  * st_lukequit (Ping timeout: 268 seconds)
07:16:00  * bajtosjoined
07:19:04  * spolujoined
07:22:28  * defunctzombie_zzchanged nick to defunctzombie
07:52:11  * mcavagejoined
07:52:11  * mcavage_quit (Read error: Connection reset by peer)
08:07:36  * dominictarrjoined
08:10:40  * stagasjoined
08:14:55  * julianduquequit (Quit: leaving)
08:31:08  * mraleph1part
08:39:23  * kazuponquit (Ping timeout: 268 seconds)
08:42:20  * amartensquit (Quit: Leaving.)
08:44:00  * rendarjoined
08:51:21  * kazuponjoined
09:14:10  * bnoordhuisjoined
09:32:25  * mcavage_joined
09:32:26  * mcavagequit (Read error: Connection reset by peer)
09:39:52  * dominictarrquit (Quit: dominictarr)
09:54:18  * dominictarrjoined
10:07:26  * mralephjoined
10:19:10  * spoluquit (Ping timeout: 245 seconds)
10:24:08  * mcavagejoined
10:24:08  * mcavage_quit (Read error: Connection reset by peer)
10:30:40  * defunctzombiechanged nick to defunctzombie_zz
10:34:25  * perezdquit (Read error: No route to host)
10:34:38  * perezdjoined
10:36:33  * kazuponquit (Remote host closed the connection)
10:44:53  <MI6>nodejs-v0.10: #1416 UNSTABLE smartos-x64 (1/595) linux-x64 (1/595) http://jenkins.nodejs.org/job/nodejs-v0.10/1416/
10:46:07  * mcavage_joined
10:46:09  * mcavagequit (Read error: Connection reset by peer)
10:48:16  <indutny>hoya
10:51:33  <bnoordhuis>heya fedor
10:51:43  * EhevuTovquit (Quit: This computer has gone to sleep)
10:52:43  * perezd_joined
10:53:50  * perezdquit (Ping timeout: 240 seconds)
10:53:51  * perezd_changed nick to perezd
11:10:49  <bajtos>bnoordhuis: add pr #6063 and global var key no catched by the test
11:11:31  <bajtos>bnoordhuis: am I supposed to send a fix? or was it meant as FYI?
11:24:58  <bnoordhuis>bajtos: a FYI, it's already fixed
11:25:08  <bnoordhuis>i was kind of suprised that the test runner didn't catch it
11:25:29  <bnoordhuis>but it turns out that's becase the test calls process.exit() so the globals leak checker doesn't run
11:25:30  <bajtos>bnoordhuis: cool. have you fixed the test too, so that the error would be cached by the test runner?
11:25:53  <bnoordhuis>well, yes - but i think i'm going to take a more fundamental approach here
11:26:00  <bajtos>bnoordhuis: what's the correct way of ending the test then? (to let the leak checker run)
11:26:28  <bnoordhuis>so, i added a SIGTERM listeners to the master and workers
11:26:42  <bnoordhuis>but that may or may not work on windows
11:27:09  <bnoordhuis>i'm thinking of making node handle SIGTERM by shutting down rather than bluntly exiting
11:34:14  <bajtos>is my assumption correct, that the leak checker was listening on 'process.exit' event, which is not emitted after a test called process.exit()?
11:37:41  * kazuponjoined
11:38:37  <bnoordhuis>bajtos: yes, that's correct
11:42:14  <bajtos>bnoordhuis: hmm, that's rather unexpected, isn't it?
11:47:10  <bnoordhuis>yes, no, maybe
11:47:32  <bnoordhuis>several people have reported being confused by why worker.kill() just exists with no shutdown
11:47:37  <bnoordhuis>sam is one of them :)
11:48:43  <bnoordhuis>okay, afk. biab
11:51:20  * mmaleckichanged nick to mmalecki[zzz]
11:53:16  * bnoordhuisquit (Ping timeout: 264 seconds)
12:00:40  * bajtosquit (Quit: bajtos)
12:02:38  * spolujoined
12:15:31  * rvaggquit (Quit: ta ta)
12:23:55  * rvaggjoined
12:26:56  * perezdquit (Quit: perezd)
12:31:19  * bajtosjoined
12:38:13  * pachetjoined
12:42:45  * kazuponquit (Remote host closed the connection)
12:43:55  * AvianFlujoined
12:50:09  * bnoordhuisjoined
12:53:10  * AvianFluquit (Remote host closed the connection)
12:54:33  * AvianFlujoined
12:58:40  * AvianFluquit (Ping timeout: 246 seconds)
13:00:37  * mikealquit (Quit: Leaving.)
13:04:46  * indexzerojoined
13:10:33  * hzjoined
13:13:44  <indutny>bnoordhuis: hey man
13:13:55  <indutny>bnoordhuis: there're at least two pull requests from me for you
13:14:03  <indutny>mind finding some time for them today?
13:14:22  * hzquit (Disconnected by services)
13:14:27  * hzjoined
13:19:26  <bnoordhuis>indutny: maybe. i'm not lacking for work atm
13:19:31  <indutny>heh
13:19:32  <indutny>understood
13:23:02  * spoluquit (Ping timeout: 240 seconds)
13:33:15  <indutny>bnoordhuis: a question
13:33:27  <indutny>what do we do with unused result warnings?
13:34:20  <bnoordhuis>indutny: squelch them
13:34:29  <indutny>huh?
13:34:34  <indutny>ignore?
13:34:40  <bnoordhuis>at the moment, i do it with (void) &var;
13:34:51  <bnoordhuis>but i was thinking we could switch to USE(var)
13:34:52  <indutny>that's what I did
13:35:03  <indutny>(void) BIO_reset
13:35:07  <indutny>but you don't seem to like it
13:35:12  <bnoordhuis>oh
13:35:19  <bnoordhuis>that's something else
13:35:30  <bnoordhuis>sorry, result - not variable
13:35:37  <indutny>yeah
13:35:53  <bnoordhuis>i take it BIO_reset() is annotated with __attribute((must_use_result))?
13:36:34  <indutny>I doubt it
13:36:38  <bnoordhuis>hrm, no. doesn't seem like it
13:36:52  <bnoordhuis>then the prudent thing to do is check why the compiler is complaining
13:37:15  <indutny>probably because it unrolls to
13:37:18  <indutny>(int) BIO_ctrl()
13:37:25  <indutny>and it sees conversion to int
13:37:28  <indutny>and then like
13:37:29  <indutny>whoa
13:37:35  <indutny>noone is using that converted valu
13:37:37  <indutny>value*
13:38:10  <indutny>bnoordhuis: may be we should keep it as it is for now?
13:38:14  <bnoordhuis>what's the exact warning?
13:38:21  <bnoordhuis>'unused cast'?
13:38:36  * `3Echanged nick to `3E|GONE
13:38:47  <indutny>../src/node_crypto.cc:908:5: warning: expression result unused [-Wunused-value]
13:39:18  <indutny>To suppress this warning cast the expression to void.
13:39:21  <indutny>that's from gcc's man page
13:41:05  <bnoordhuis>right
13:41:19  <bnoordhuis>okay, keep it as-is
13:54:07  * hzquit
14:04:34  * `3E|GONEchanged nick to `3rdEden
14:22:20  <pfox___>dumb, obvious question time: what is the offset param to us_fs_write/read? i mean.. it seems like there's the obvious answer (at least for write..) .. also: why does it allow -1 as an input (seen this in a few examples) ?
14:41:29  * julianduquejoined
14:48:42  <MI6>joyent/node: Ben Noordhuis master * ec54873 : crypto: fix memory leak in randomBytes() error path (+1 more commits) - http://git.io/WeSBHg
14:50:37  <bnoordhuis>pfox___: -1 means 'use write()', >= 0 means 'use pwrite()'
14:50:44  * c4milojoined
14:50:52  * paulfryzeljoined
14:51:12  <bnoordhuis>pfox___: the pread() / pwrite() method is strongly preferred if you can have concurrent readers and/or writes
14:51:16  <bnoordhuis>*writers
14:53:52  <MI6>joyent/node: Ben Noordhuis v0.10 * f55aca6 : crypto: fix memory leak in randomBytes() error path - http://git.io/xxTMhQ
14:54:32  <pfox___>bnoordhuis: thanks!
14:57:12  * paulfryzelquit (Remote host closed the connection)
14:57:47  * paulfryzeljoined
15:01:44  * austojoined
15:02:05  * paulfryzelquit (Ping timeout: 245 seconds)
15:03:07  <MI6>nodejs-v0.10: #1417 UNSTABLE smartos-x64 (3/595) linux-x64 (1/595) osx-ia32 (1/595) linux-ia32 (2/595) http://jenkins.nodejs.org/job/nodejs-v0.10/1417/
15:03:39  <indutny>shit
15:03:42  <indutny>I refactored that much
15:03:47  <indutny>that I broke old tls implementation
15:04:34  <MI6>nodejs-master: #433 UNSTABLE osx-ia32 (1/627) smartos-ia32 (4/627) linux-ia32 (2/627) smartos-x64 (9/627) linux-x64 (2/627) osx-x64 (1/627) http://jenkins.nodejs.org/job/nodejs-master/433/
15:09:11  * AvianFlujoined
15:10:42  <MI6>nodejs-v0.10-windows: #147 UNSTABLE windows-ia32 (6/595) windows-x64 (6/595) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/147/
15:12:00  <isaacs>i'm gonna do a v0.10 release today, i think
15:12:06  <isaacs>tjfontaine is away on family business.
15:12:25  <isaacs>bnoordhuis: but with your fix just now, and mine, i think ti's a good time to do one
15:13:36  <MI6>nodejs-master-windows: #230 UNSTABLE windows-x64 (22/627) windows-ia32 (23/627) http://jenkins.nodejs.org/job/nodejs-master-windows/230/
15:14:51  * paulfryzeljoined
15:15:03  <bnoordhuis>isaacs: oh, mine is unlikely to affect anyone. it only happens in the error path
15:15:18  <bnoordhuis>i mean, you don't have to put out a new release just for that
15:15:42  <isaacs>bnoordhuis: there's also a few other little things
15:15:46  <isaacs>it's an easy low-risk release
15:15:51  <isaacs>kinda sucks to do it on a friday, but meh
15:16:02  <isaacs>then on Monday we can do the 0.11
15:16:07  <isaacs>that's more pressing
15:16:34  * kazuponjoined
15:17:11  <MI6>nodejs-master: #434 UNSTABLE osx-ia32 (1/627) smartos-ia32 (4/627) linux-ia32 (2/627) smartos-x64 (10/627) linux-x64 (2/627) osx-x64 (2/627) http://jenkins.nodejs.org/job/nodejs-master/434/
15:18:57  <isaacs>bnoordhuis: for v0.10 there's also some http performance improvements and bug fixes
15:19:40  * mikealjoined
15:19:54  <MI6>joyent/node: isaacs v0.10 * 5abdef7 : npm: Upgrade to 1.3.8 - http://git.io/DJgeTw
15:21:16  <bnoordhuis>oh, okay
15:21:26  <bnoordhuis>always a good thing
15:23:21  <isaacs>ok. let's see if i still remember how to do this...
15:23:22  <isaacs>:)
15:26:43  * bajtosquit (Quit: bajtos)
15:27:14  * mikealquit (Quit: Leaving.)
15:27:42  <MI6>nodejs-v0.10: #1418 UNSTABLE smartos-x64 (2/595) linux-x64 (1/595) http://jenkins.nodejs.org/job/nodejs-v0.10/1418/
15:31:19  <MI6>joyent/node: isaacs created branch v0.10.16-release - http://git.io/IDQ1HA
15:31:28  <isaacs>bnoordhuis: care to review the changelog? ^
15:31:33  <isaacs>pretty straightforard.
15:32:56  <MI6>joyent/node: isaacs v0.10.16-release * 50b4c90 : 2013.08.16, Version 0.10.16 (Stable) - http://git.io/QxYR5w
15:33:26  * AvianFluquit (Ping timeout: 240 seconds)
15:33:45  * kazuponquit (Remote host closed the connection)
15:35:20  <MI6>nodejs-v0.10-windows: #148 UNSTABLE windows-ia32 (7/595) windows-x64 (7/595) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/148/
15:35:33  * bnoordhuisquit (Ping timeout: 264 seconds)
15:35:42  <MI6>node-review: #63 FAILURE http://jenkins.nodejs.org/job/node-review/63/
15:37:08  * AvianFlujoined
15:42:30  * mmalecki[zzz]changed nick to mmalecki
15:50:21  * dapjoined
15:53:42  <MI6>node-review: #64 UNSTABLE centos-x64 (1/595) centos-ia32 (2/595) windows-ia32 (8/595) windows-x64 (7/595) smartos-x64 (6/595) smartos-ia32 (4/595) http://jenkins.nodejs.org/job/node-review/64/
15:57:42  * sblomjoined
15:58:41  * AvianFlu_joined
15:59:39  * AvianFluquit (Read error: Connection reset by peer)
16:08:53  * hzjoined
16:09:52  * TooTallNatejoined
16:13:19  * qardjoined
16:13:22  * qardpart
16:13:25  * amartensjoined
16:14:36  <isaacs>alrighty. binaries uploaded and shasumed
16:14:40  * indexzeroquit (Quit: indexzero)
16:14:47  <isaacs>TooTallNate: feel like doing a arm build?
16:15:07  <TooTallNate>isaacs: yup!
16:15:53  <isaacs>TooTallNate: v0.10.16 just pushed up. i still need to do the pkgsrc build. if you do arm, i'll add it to the shasums and re-sign
16:16:08  <TooTallNate>isaacs: ok, pulling now
16:16:34  <TooTallNate>isaacs: i think you need to push the tag?
16:16:42  <TooTallNate>oh, no
16:16:44  <TooTallNate>i need to add
16:16:45  <TooTallNate>-release
16:16:47  <TooTallNate>:p
16:17:18  <TooTallNate>ok building now
16:18:07  <MI6>joyent/node: isaacs created tag v0.10.16 - http://git.io/Y_of4Q
16:18:10  <isaacs>TooTallNate: tag ^
16:18:18  <TooTallNate>cool
16:18:47  <isaacs>ok, yoga practice time, heading out. be back in a few hours.
16:18:51  <isaacs>then blog etc.
16:24:58  * pachetquit (Quit: leaving)
16:27:39  <TooTallNate>isaacs: ok, uploaded!
16:28:11  * kazuponjoined
16:30:56  * paulfryz_joined
16:34:12  * paulfryzelquit (Ping timeout: 260 seconds)
16:35:28  <MI6>node-review: #65 UNSTABLE centos-x64 (2/595) centos-ia32 (3/595) windows-ia32 (7/595) osx-x64 (1/595) windows-x64 (7/595) smartos-x64 (2/595) http://jenkins.nodejs.org/job/node-review/65/
16:37:21  * AvianFlu_quit (Remote host closed the connection)
16:42:53  * paulfryz_quit (Remote host closed the connection)
16:43:29  * paulfryzeljoined
16:45:34  <tjfontaine>isaacs: do you wanna use jenkins for the binaries?
16:46:13  <TooTallNate>tjfontaine: i think isaacs would be down for anything that reduces work :p
16:46:28  <tjfontaine>TooTallNate: heh, I know :P
16:46:35  * bradleymeckjoined
16:46:43  <tjfontaine>TooTallNate: also, you had some questions about the addon layer stuff?
16:47:32  <TooTallNate>tjfontaine: i just wanna start fixing up my addons soonish
16:47:43  <TooTallNate>there's 3 "addon layer thingy's" that I know about
16:47:44  <TooTallNate>https://twitter.com/tootallnate/status/368160057986269187
16:47:52  <TooTallNate>brb, biking to office
16:47:54  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:48:30  * paulfryzelquit (Ping timeout: 276 seconds)
16:54:09  * AvianFlujoined
16:56:58  * paulfryzeljoined
17:00:26  <trevnorris>morning
17:02:44  <trevnorris>isaacs: for the life of me I can't figure out why that test is failing on my box.
17:02:45  * perezdjoined
17:03:33  * TooTallNatejoined
17:03:58  <trevnorris>TooTallNate: sup dude?
17:04:15  <TooTallNate>idk
17:04:17  <TooTallNate>just logged on
17:04:19  <TooTallNate>you tell me :p
17:04:27  <tjfontaine>clearly the sky is falling
17:06:02  <trevnorris>just cooking some eggs
17:06:19  <tjfontaine>TooTallNate: so, adapting to my interface will cause more short term pain than what trevnorris or rvagg have at the moment, however the plan is for the api to work for 90~95% of all modules that need to be built, so the heavy rewrite would be sufficient
17:07:01  <trevnorris>please don't think of njsutil as a backwards compatibility shim. it could be, but not sure how I feel about doing that
17:07:13  <trevnorris>and i appreciate nan, but hate how they put everything into just the header
17:07:42  <tjfontaine>for the use case, that's not that uncommon
17:08:11  * kazupon_joined
17:08:33  * kazuponquit (Read error: Connection reset by peer)
17:08:45  <trevnorris>still doesn' tmean I have to like it :)
17:09:18  * AvianFlu_joined
17:09:28  <tjfontaine>indeed
17:10:11  * AvianFluquit (Read error: Connection reset by peer)
17:11:47  <trevnorris>tjfontaine: want your thoughts, one of isaacs recent commits is causing a race condition test failure that no one else can reproduce: https://gist.github.com/trevnorris/6246270
17:12:12  <trevnorris>tjfontaine: i've done a clean build and all, but seriously can't figure out how to debug this thing
17:13:49  <tjfontaine>I'll look quickly
17:13:59  * AvianFlu_quit (Read error: Connection reset by peer)
17:14:16  * AvianFlujoined
17:14:42  <trevnorris>if you're busy don't worry about it. more of an annoyance than anything
17:15:35  <tjfontaine>is it https://github.com/joyent/node/blob/master/test/simple/test-http-agent.js ?
17:15:46  <tjfontaine>I don't agent-client in master?
17:15:53  <tjfontaine>oh client-agent
17:16:03  <trevnorris>yeah
17:17:32  <tjfontaine>interesting so in both cases you're an emitted close behind
17:17:45  <trevnorris>yeah
17:18:20  * c4miloquit (Remote host closed the connection)
17:19:07  <tjfontaine>I would probably start by adding debug and counting the closes vs the caught closes and try and find out where we're dropping one on the floor
17:19:45  <trevnorris>good idea. thanks
17:22:01  * mikealjoined
17:22:04  * jmar777joined
17:22:10  * bnoordhuisjoined
17:22:21  <bnoordhuis>isaacs: re: changelog, lgtm fwiw :)
17:22:27  <bnoordhuis>sorry, i had to run home for dinner
17:22:33  * mikealquit (Client Quit)
17:22:41  <trevnorris>tjfontaine: the code that is causing this issue is L102 from _http_agent.js
17:22:49  <trevnorris>tjfontaine: recent addition by isaacs
17:22:54  * AvianFlu_joined
17:23:38  * AvianFluquit (Read error: Connection reset by peer)
17:24:22  * mikealjoined
17:24:54  * bradleymeckquit (Quit: bradleymeck)
17:25:30  * julianduquequit (Quit: leaving)
17:26:26  * jmar777quit (Remote host closed the connection)
17:27:18  * jmar777joined
17:28:10  * jmar777quit (Remote host closed the connection)
17:32:14  <tjfontaine>trevnorris: sure, but you need to figure out why now :)
17:32:53  * AvianFlujoined
17:33:10  * AvianFlu_quit (Read error: Connection reset by peer)
17:40:09  <trevnorris>tjfontaine: you say dropping one, but it seems like it's being cleaned up too quickly. it's expecting two sockets, but there's only one available.
17:40:47  <trevnorris>tjfontaine: it creates two http.get requests, and before the third one has finished the second has already been free'd
17:41:13  <tjfontaine>that's equivalent to "dropping one" in my definition
17:41:24  <tjfontaine>as in "it's been cleaned up, and we weren't notified"
17:41:34  <trevnorris>ok
17:41:56  <tjfontaine>the test appears to expect 3 sockets being created, are you seeing all 3 being created?
17:42:59  <trevnorris>tjfontaine: logged order of execution, think the names are self explanitory: https://gist.github.com/trevnorris/6246270
17:44:05  <trevnorris>all the notifications eventually go out, just not in the order the test expects.
17:44:27  <tjfontaine>so either the test itself is racey and needs better semantics, or there is a legit bug
17:44:42  <trevnorris>imo it's a racey test.
17:45:01  <trevnorris>all the notifications always go out.
17:45:04  <tjfontaine>I would tend to agree, so find a better way to express the test :)
17:45:08  <trevnorris>oy
17:46:11  <trevnorris>tjfontaine: imo the assertion that's failing just shouldn't be there. it is checking that each socket is closed an notified in order. that doesn't seem reasonable.
17:47:17  <tjfontaine>well, presuming we can rely on the order the test does make sense
17:47:18  <tjfontaine>:)
17:47:41  <tjfontaine>it would be curious to know why the order is differentiated on your system
17:47:47  <tjfontaine>how reliable is the test failure?
17:48:10  <trevnorris>every time, ordering is the same
17:48:30  <tjfontaine>ok so that could actually be indicative of a larger issue
17:48:36  <tjfontaine>I thought it was harder for you to reproduce
17:48:45  <trevnorris>no. it's every run
17:49:28  <tjfontaine>if it happens for you on every run on a relatively straight forward test case, then it's something that deserves even closer inspection
17:50:06  <tjfontaine>actually
17:50:27  <trevnorris>tjfontaine: really strange one, if I unplug my machine (makes my machine much slower) and run debug build it fails that the socket object w/ name is undefined.
17:50:35  <trevnorris>also happens every run.
17:50:44  <tjfontaine>it fails for jenkins as well, 1 osx, and both 32/64 linux
17:51:05  <trevnorris>oh good. so it's not just my machine.
17:51:18  <tjfontaine>trevnorris: that just makes me think the array has been cleaned up entirely by that point
17:51:25  <trevnorris>yeah. that's basically it
17:52:06  <trevnorris>it's cleaning up sockets faster than the notifications are going out. seems to be the issue.
17:52:34  <tjfontaine>yes, so that's either a real bug, or just somethign the test needs to accomodate for
17:53:12  <MI6>libuv-master: #166 UNSTABLE windows (3/193) smartos (9/192) http://jenkins.nodejs.org/job/libuv-master/166/
17:53:13  <trevnorris>seems like an issue w/ the test to me, but i'm definitely not the authority on how http should operate.
17:54:57  <trevnorris>TooTallNate: re: smalloc DataView, how do you mean invoke Buffer.prototype functions?
17:55:21  <TooTallNate>trevnorris: well cause the smalloc buffer doesn't have any instance methods right?
17:55:42  <TooTallNate>trevnorris: so i'm gonna have to change them all to Buffer.prototype.readXXX.call(this.buffer, ...)
17:55:58  <TooTallNate>rather than the curren this.buffer.readXXX(...)
17:56:05  <TooTallNate>but i mean that's not a big deal at all
17:56:30  <TooTallNate>trevnorris: also, is there a generalized DataView test that you know of?
17:56:38  <TooTallNate>I would like to plug a pre-written one in :D
17:56:40  <trevnorris>well, you can allocate via require('smalloc').alloc, which doesn't have anything on it, you could easily extend that prototype, and since Buffers are built on those it'd be easy to accept buffers.
17:57:12  <trevnorris>hm. let me think. might be one around.
17:58:44  * rendarquit (Ping timeout: 256 seconds)
17:58:47  <trevnorris>TooTallNate: v8 has a good one in test/mjsunit/harmony/dataview-accessors.js
17:59:16  <TooTallNate>ya i saw that one... wasn't sure if it was standalone or part of a bigger suite
17:59:16  * AvianFluquit (Read error: Connection reset by peer)
17:59:23  <TooTallNate>trevnorris: thanks, i'll look into it!
17:59:30  <trevnorris>it's stand alone. would need to change a couple lines, but should work
17:59:42  * AvianFlujoined
18:00:15  <TooTallNate>sweet
18:00:27  * indexzerojoined
18:01:10  <trevnorris>also just add these two lines at the top:
18:01:11  <trevnorris>var assertThrows = require('assert').throws;
18:01:16  <trevnorris>var assertSame = require('assert').equal;
18:01:20  <trevnorris>it passes just fine
18:01:57  <TooTallNate>trevnorris: heh, there's a note in the header
18:01:58  <TooTallNate>"These tests are adapted from Khronos DataView tests"
18:02:11  <trevnorris>hah, didn't notice that
18:02:12  <TooTallNate>these should do fine though
18:03:51  * defunctzombie_zzchanged nick to defunctzombie
18:07:14  <MI6>libuv-node-integration: #148 UNSTABLE osx-x64 (1/627) smartos-ia32 (4/627) linux-ia32 (2/627) linux-x64 (2/627) smartos-x64 (10/627) osx-ia32 (1/627) http://jenkins.nodejs.org/job/libuv-node-integration/148/
18:10:32  <indutny>bnoordhuis: hey man
18:10:40  <indutny>bnoordhuis: I think I'm done with deduplicating tls
18:12:46  <bnoordhuis>indutny: yeah, i saw
18:13:06  <bnoordhuis>just when i was finished multicontext-ifying tls_wrap.cc and node_crypto.cc
18:14:32  <trevnorris>multi-context first!
18:15:00  <trevnorris>isaacs: the http-client-agent test is failing on jenkins: http://jenkins.nodejs.org/job/nodejs-master/434/testReport/
18:15:35  <indutny>bnoordhuis: hahaha
18:15:43  <indutny>bnoordhuis: don't tell me that I need to rebase all the stuff
18:16:42  <trevnorris>indutny: i've already rebased two branches on top of his :P
18:16:48  <indutny>oh god
18:16:58  <indutny>bnoordhuis: that's a rebase-curse
18:17:03  <indutny>and I won't forget it
18:18:51  <bnoordhuis>indutny: well, it's probably easier that i do it
18:19:26  * hij1nxquit (Ping timeout: 240 seconds)
18:19:39  * brsonjoined
18:19:54  * indexzeroquit (Quit: indexzero)
18:30:25  * c4milojoined
18:30:50  <trevnorris>isaacs: ping
18:32:52  * indexzerojoined
18:34:33  * kazupon_quit (Remote host closed the connection)
18:36:12  <trevnorris>for anyone, do we want to continue exposing the Buffer#{hex,utf8,ascii,...}Slice methods?
18:37:30  * indexzeroquit (Ping timeout: 245 seconds)
18:38:05  <bnoordhuis>trevnorris: is there a compelling reason to remove them?
18:38:40  <trevnorris>bnoordhuis: um. they're not documented? i dunno. just remember a comment before my refactor they're legacy and should be removed in the future.
18:41:08  <bnoordhuis>trevnorris: just wondering
18:41:15  * isaacsfg
18:41:18  <isaacs>trevnorris: pong
18:41:27  <bnoordhuis>i don't think anyone or anything uses them so i guess they can go
18:41:35  <trevnorris>isaacs: ^
18:42:13  <isaacs>trevnorris: it'd be better to just leave them there in an undocumented state, or document them as deprecated.
18:42:19  <isaacs>trevnorris: unless they're actually in the way
18:42:55  <trevnorris>isaacs: no. just in the change I'm making for byteLength it made it easy to remove those as well.
18:43:36  <isaacs>trevnorris: i'd leave em
18:43:40  <isaacs>because meh.
18:43:40  <trevnorris>ok
18:43:46  <isaacs>if you remove them, i'll bet someone's gonna be pissed.
18:43:51  * Benvie_joined
18:43:56  <trevnorris>heh, probably.
18:43:57  <isaacs>and then we'll probably feel bad and put them back anyway
18:44:18  * hij1nxjoined
18:45:24  <MI6>nodejs-master-windows: #231 UNSTABLE windows-x64 (22/627) windows-ia32 (22/627) http://jenkins.nodejs.org/job/nodejs-master-windows/231/
18:46:04  <trevnorris>isaacs: oh, and jenkins is also failing those http-client-agent tests
18:46:34  <tjfontaine>isaacs: did you want to use jenkins to make the binaries?
18:47:19  <isaacs>tjfontaine: you're here!
18:47:28  <isaacs>tjfontaine: too late already built them the old school way
18:47:39  <isaacs>tjfontaine: i'm figuring out the pkgsrc stuff
18:47:44  <tjfontaine>isaacs: well the linux nerds may get cranky, unless you did it on the centos image
18:47:50  <isaacs>ohh... right
18:47:52  <isaacs>ugh. ok
18:47:58  <tjfontaine>lemme show you a quick hack :)
18:48:05  <isaacs>i'll rebuild that on centos
18:48:09  <tjfontaine>well the linux ones are harder
18:48:22  <isaacs>oh, because we don't have centos 5 or some shit?
18:48:32  <isaacs>need it built with abacus-compatibility or something?
18:48:36  <tjfontaine>no because I build the btar's all together
18:48:45  <isaacs>ok
18:48:48  <tjfontaine>so I can't just let you build the btar for linux on jenkins
18:48:56  <tjfontaine>but you can use jenkins to do the pkgsrc stuff
18:48:58  <isaacs>tjfontaine: where's the button to make jenkins build thos?
18:49:06  <isaacs>tjfontaine: yes, sure, let's have the robots do it :)
18:49:27  <tjfontaine>http://jenkins.nodejs.org/job/nodejs-release/ but let me text you your password
18:52:03  <tjfontaine>isaacs: so you click "build with parameters" and put the release branch in there, "Developer ID Installer: Joyent, Inc (X4ETB2T5LK)", "Developer ID Application: Joyent, Inc (X4ETB2T5LK)"
18:53:24  <tjfontaine>isaacs: when all is said and done, they'll be in nodejs.org:/home/tj/archive/node/tmp/<version>
18:54:17  <tjfontaine>all that's left is for you to sign the shasums and move them into place
18:56:06  <isaacs>nice!
18:56:09  <isaacs>ok, trying this now
18:56:45  <tjfontaine>you can always look at the previous' build parameters for guidance
18:57:04  <tjfontaine>http://jenkins.nodejs.org/job/nodejs-release/19/parameters/?
18:58:19  <isaacs>ok, off it goes
19:04:25  * hij1nxquit (Ping timeout: 246 seconds)
19:07:38  <trevnorris>damn you github!
19:07:39  <trevnorris>error: RPC failed; result=35, HTTP code = 0
19:08:00  <bnoordhuis>AssertionError: timeElasped was not between 190 and 1000 ms at process.<anonymous> (/home/bnoordhuis/src/master/test/simple/test-child-process-fork-net2.js:171:12)
19:08:07  <bnoordhuis>^ eh?
19:08:19  <tjfontaine>that test is annoying
19:08:27  <tjfontaine>you are probably too *fast*
19:08:42  <bnoordhuis>yeah, because it certainly wasn't taking a second too fail :-/
19:09:21  <bnoordhuis>trevnorris: btw, i have simple/test-http-client-agent occasionally failing. it's not just you anymore :)
19:09:32  <trevnorris>whoot!
19:09:58  <tjfontaine>it seemst o happen reliably on linux, and ocassionally on osx
19:10:43  <bnoordhuis>yeah. fails reliably for me
19:11:37  <bnoordhuis>i'll finish reviewing fedor's monster patch first but then i'll look at the test
19:12:33  <tjfontaine>according to trevnorris when I was talking with him about it, all the close's are being delivered but the state of the socket list for the agent is mutating ahead of the emitted close
19:13:24  <bnoordhuis>that sounds complicated. it's friday night
19:13:31  <tjfontaine>hehe
19:14:20  <tjfontaine>it's expecting to see 3 close events, which it eventually will, but it's asserting on the list matching the state of the objects, but at least one close event is delivered out of order of the list being truncated
19:16:15  * EhevuTovjoined
19:16:55  <bnoordhuis>ah, okay. it's a bug in the test?
19:17:17  <tjfontaine>that is the gut reaction I have
19:18:24  * hij1nxjoined
19:19:29  <bnoordhuis>indutny: btw, for the love of $DEITY, don't force-push changes to #6057
19:19:45  <indutny>actually, I didn't plan to
19:19:52  <indutny>but I did it once because I rebased stuff
19:20:00  <bnoordhuis>okay
19:20:00  <indutny>feel sorry for it now
19:20:14  <indutny>so
19:20:18  <bnoordhuis>if you make changes, please just add commits on top
19:20:21  <indutny>basically, except nits and that hex things
19:20:25  <bnoordhuis>i don't want to have to review the whole thing again
19:20:31  <indutny>does it solution looks good to you?
19:20:34  <bnoordhuis>i wasn't done yet btw :)
19:20:38  <indutny>oook
19:20:52  <bnoordhuis>close though
19:21:29  * EhevuTovquit (Quit: This computer has gone to sleep)
19:22:26  * EhevuTovjoined
19:23:42  <trevnorris>quick review anyone: https://github.com/trevnorris/node/compare/oust-bytelength-from-native
19:23:44  <tjfontaine>isaacs: well it finished but uncleanly because of something in the ia32 osx btar post-build step, but otherwise things look sane, the shasums will need to actually be generated so they include the btar
19:23:54  <trevnorris>isaacs: ^ string bytes stuff
19:25:10  <isaacs>tjfontaine: how do i figure out what borked the osx btar?
19:25:13  <isaacs>tjfontaine: it worked fine over here
19:25:38  <tjfontaine>isaacs: it wasn't the buidl but the post-build job for jenkins
19:25:53  <tjfontaine>SSH: mkdir [v0.10.16]
19:25:53  <tjfontaine>SSH: FAILED: Message [Failure]
19:25:53  <tjfontaine>SSH: Disconnecting configuration [www.nodejs.org] ...
19:25:53  <tjfontaine>ERROR: Exception when publishing, exception message [Could not create or change to directory. Directory [v0.10.16]]
19:26:09  <isaacs>ohhh
19:26:11  * EhevuTov_joined
19:26:15  <isaacs>because i'd already created the folder in dist?
19:26:44  <tjfontaine>well, it's generally not a problem, this plugin for whatever reason borked on it, it's supposed to be resilient to the fact that it needs to create or ignore if it was created
19:26:53  <isaacs>i see
19:26:54  <tjfontaine>so it seems like it honestly couldn't chdir
19:27:38  <isaacs>weird
19:27:49  <isaacs>so, it has everything except that, and i have that already from my mac.
19:27:50  <isaacs>probably fine?
19:27:53  <tjfontaine>yup
19:28:25  <tjfontaine>should probably double check things
19:28:38  <tjfontaine>sizes all look good
19:28:46  <isaacs>ok
19:28:55  * EhevuTovquit (Ping timeout: 246 seconds)
19:30:01  <isaacs>hm. shasums are empty
19:30:03  <isaacs>is that normal?
19:30:39  <tjfontaine>no, I don't think the step completed because it saw the status was unstable
19:31:12  <tjfontaine>https://gist.github.com/tjfontaine/6252812
19:31:18  <tjfontaine>is how I generated the shasums in the job
19:33:26  <indutny>god
19:33:30  <indutny>my dns provider just died
19:33:35  <indutny>freaking zerigo
19:33:41  <indutny>I wonder how many emails I'll lost
19:35:09  <isaacs>kk
19:36:37  <isaacs>okie dokie, looks done
19:36:55  <bnoordhuis>indutny: you don't have a secondary dns?
19:37:02  <indutny>I've
19:37:11  <indutny>they all are zerigo secondaries
19:37:11  <indutny>:D
19:37:18  <indutny>bnoordhuis: btw, are you running your own dns?
19:37:34  <bnoordhuis>not these days. i have a good provider
19:37:42  <bnoordhuis>i can set up a few records for you if you want
19:38:10  <trevnorris>quick review anyone :) https://github.com/trevnorris/node/compare/oust-bytelength-from-native
19:38:16  <bnoordhuis>trevnorris: already commented
19:38:28  <indutny>bnoordhuis: which provider's services are you using?
19:38:35  <bnoordhuis>indutny: transip.nl
19:38:42  <indutny>oh, netherlands
19:38:52  <bnoordhuis>god's own country, yes indeed
19:39:00  <indutny>I mean
19:39:05  <indutny>whole site is in dutch
19:39:16  <bnoordhuis>oh, they probably have an english version
19:39:36  <bnoordhuis>they must have - a friend of mine hosts with them and he doesn't speak a single word of dutch
19:39:40  <bnoordhuis>besides 'bier'
19:39:44  <tjfontaine>if we want msvc tested we'll need to push to a feature branch, PRs don't go through windows
19:40:36  <bnoordhuis>indutny: ^
19:40:42  <indutny>:)
19:40:49  <indutny>bnoordhuis: see my comment
19:40:51  <indutny>it works with v8
19:40:54  <indutny>should work with us too
19:41:17  <tjfontaine>[we probably should anyway, just so we can avoid the potential build failure]
19:41:19  <isaacs>trevnorris: bnoordhuis's comments are sane. i have no other comments.
19:41:29  <trevnorris>bnoordhuis: thanks, took github a bit to tell me you did. can hex encoding have an odd value?
19:41:35  <isaacs>trevnorris: not validly, no
19:41:54  <isaacs>trevnorris: but it doesn't throw today
19:41:55  <isaacs>> Buffer.byteLength('aaa', 'hex')
19:41:55  <isaacs>1
19:42:09  <isaacs>of course, you can't actually use it
19:42:10  <isaacs>> new Buffer('aaa', 'hex')
19:42:10  <isaacs>TypeError: Invalid hex string
19:42:16  <trevnorris>ah, where it'd return 1.5 now. got it
19:42:20  <isaacs>yep
19:42:53  <trevnorris>great, those are ~10x's faster than before.
19:43:08  <trevnorris>can't believe I didn't think about that in the rewrite :/
19:43:18  <isaacs>tjfontaine: do you put a link to the pkgsrc in the email/blog?
19:44:01  <tjfontaine>isaacs: no, but they're listed in the shasums
19:44:12  <MI6>joyent/node: Trevor Norris master * 2dd4a74 : buffer: don't call ByteLength for simple encodings - http://git.io/pfGaTw
19:44:14  <tjfontaine>motivated people know where to find them atm
19:44:19  <isaacs>gotcha
19:47:07  <MI6>joyent/node: isaacs v0.10 * e679739 : Merge branch 'v0.10.16-release' into v0.10 (+1 more commits) - http://git.io/UppLAQ
19:47:13  * mikealquit (Quit: Leaving.)
19:47:35  <MI6>joyent/node: isaacs v0.10 * 0e04352 : Now working on v0.10.17 - http://git.io/BeXlaw
19:47:59  <MI6>joyent/node: isaacs v0.10 * a66d240 : blog: v0.10.16 - http://git.io/DHwUBg
19:48:17  <bnoordhuis>chrome thinks i'm a perv :(
19:48:33  <TooTallNate>trevnorris: so DataView wraps around when you pass in large values
19:48:44  <bnoordhuis>it tells me "psst! incognito mode may come in handy next time" after clearing the browser history a few times
19:48:46  <TooTallNate>trevnorris: like setInt8(128) writes a -127 value
19:49:07  <TooTallNate>which throws on node's Buffer APIs... what's the recommended way to calculate the wrap?
19:50:13  <trevnorris>TooTallNate: sec, I wrote a really craptastic way of having v8 handle that for me. let me get you a link
19:54:06  <bnoordhuis>isaacs: CVE-2013-2882 isn't very high impact for node apps
19:54:19  <isaacs>bnoordhuis: yeah, i know, but whatever.
19:54:20  <bnoordhuis>not that telling people to upgrade is a bad thing
19:54:32  <isaacs>people take those CVE numbers super seriously
19:54:55  <isaacs>the last time there was something like this and i forgot to mention it, i got chewed out twice by two different sysadmin types
19:55:06  <isaacs>neither of whom actually knew or cared about the actual issue.
19:55:39  <isaacs>just.. OMG CVE! UPGRADE! WHY DIDNT YoU TELL ME!!!!!!
19:56:10  <isaacs>i it was a big deal for node, we'd probably need a blog post explaining it
19:57:08  <MI6>nodejs-v0.10: #1419 UNSTABLE smartos-x64 (2/595) linux-ia32 (1/595) http://jenkins.nodejs.org/job/nodejs-v0.10/1419/
19:57:37  <trevnorris>TooTallNate: https://gist.github.com/trevnorris/6253044
19:58:14  <MI6>nodejs-master: #435 UNSTABLE smartos-x64 (10/627) smartos-ia32 (3/627) osx-x64 (7/627) osx-ia32 (6/627) linux-ia32 (2/627) linux-x64 (3/627) http://jenkins.nodejs.org/job/nodejs-master/435/
19:58:57  <TooTallNate>trevnorris: heh
19:59:04  <TooTallNate>trevnorris: unfortunately i need v0.8.x support :(
19:59:07  <trevnorris>TooTallNate: some, like Int32 and Uint32 you can do via bit shift operators
19:59:20  <TooTallNate>yah
19:59:28  <TooTallNate>it's the signed ones that are a PITA
19:59:29  <TooTallNate>haha
20:04:25  <MI6>nodejs-v0.10: #1420 UNSTABLE smartos-x64 (2/595) http://jenkins.nodejs.org/job/nodejs-v0.10/1420/
20:04:46  <MI6>nodejs-v0.10-windows: #149 UNSTABLE windows-ia32 (9/595) windows-x64 (9/595) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/149/
20:04:47  <bnoordhuis>TooTallNate: ((v + 128) & 255) - 128
20:05:25  <TooTallNate>bnoordhuis: thanks! that's what i was almost doing, i was using an if check though :p
20:06:06  * hzquit (Ping timeout: 276 seconds)
20:06:37  <MI6>nodejs-v0.10-windows: #150 FAILURE http://jenkins.nodejs.org/job/nodejs-v0.10-windows/150/
20:07:28  <MI6>nodejs-master-windows: #232 UNSTABLE windows-x64 (21/627) windows-ia32 (19/627) http://jenkins.nodejs.org/job/nodejs-master-windows/232/
20:10:22  * hzjoined
20:19:05  * mikealjoined
20:25:48  <indutny>hm...
20:25:55  <TooTallNate>well that was fun :p https://github.com/TooTallNate/node-buffer-dataview/commit/bbc4d5312451a709816fd0fd558dffad99f6c006
20:26:41  <TooTallNate>trevnorris: that test script doesn't do any range testing with float32() and float64() so i'm not totally sure what to do there
20:26:43  <TooTallNate>nothing for now :p
20:26:55  <indutny>why can't I have ip address as NS value?
20:29:33  * indexzerojoined
20:29:47  <trevnorris>TooTallNate: another ghetto test in test-smalloc.js:
20:29:54  <trevnorris>b[0] = 0.1111111111111111;
20:29:58  <trevnorris>assert.equal(b[0], 0.1111111119389534);
20:30:07  <TooTallNate>woah
20:30:08  <TooTallNate>haha
20:30:15  <trevnorris>not even sure if that's technically valid, but it passes everywhere :P
20:30:21  <TooTallNate>yay! test script works now!
20:30:27  <TooTallNate>s/works/passes
20:31:17  <trevnorris>awesome!
20:31:31  * EhevuTov_quit (Quit: Leaving)
20:41:21  * sblomquit (Quit: leaving)
20:46:36  * trevnorris&
20:46:36  <LOUDBOT>WHO THE HELL DESIGNED OPENGL?
20:53:46  <bnoordhuis>people that worked for cad/cam companies
20:53:46  * rendarjoined
20:57:44  <indutny>oh
20:57:53  <indutny>it seems that our binaries don't work on base smartos servers :)
20:58:00  <indutny>isaacs: failed to find libstdc++.so.6
20:58:24  <isaacs>indutny: you have to pkgin install gcc-runtime or something
20:58:30  <indutny>gcc-libs
20:58:33  <indutny>I've it
20:58:55  <isaacs>oh, that also
20:59:03  <indutny>gcc47-4.7.2nb3 The GNU Compiler Collection (GCC) - 4.7 Release Series
20:59:03  <indutny>gcc47-libs-4.7.2nb4 The GNU Compiler Collection (GCC) support shared libraries.
20:59:11  <isaacs>weird. on mine, it's gcc-runtime-4.6.1
20:59:15  <isaacs>must be newer smartos
20:59:27  <indutny>yeah, just created server
20:59:34  <indutny>and did pkgin update
20:59:42  <indutny>well, I can build node from source
20:59:46  <indutny>and that's what I'm doing now
20:59:52  <indutny>but it takes sooo long on micro instance
21:01:16  <isaacs>ugh
21:01:22  <isaacs>why not just install the gcc and use binary?
21:01:46  <indutny>doesn't work
21:01:51  <indutny>gcc and gcc-libs are installed
21:01:59  <indutny>that list was from `pkgin list | grep gcc`
21:02:54  <indutny> /opt/local/gcc47/lib/libstdc++.so.6
21:03:03  <indutny>apparently its here, but just not in the proper place
21:03:17  <bnoordhuis>LD_LIBRARY_PATH to the rescue!
21:03:20  <bnoordhuis>also, this
21:03:21  <bnoordhuis>$ ctags -R /usr/local/include/boost/
21:03:21  <bnoordhuis>$ ls -lh tags
21:03:21  <bnoordhuis>-rw-r--r-- 1 bnoordhuis staff 853M Aug 16 23:02 tags
21:03:34  <bnoordhuis>853 freaking megabytes
21:03:44  <indutny>hahaha
21:03:49  <indutny>bnoordhuis: LD_LIBRARY_PATH
21:03:55  <indutny>the curse of the damned
21:04:05  <indutny>I don't like it to be set
21:04:19  <indutny>especially to something pointing into package's dir
21:11:50  * perezdquit (Quit: perezd)
21:15:19  <bnoordhuis>$ /usr/bin/time g++-4.8 -Wall -Wextra -o tmp/parser tmp/parser.cc 10.44 real 9.71 user 0.65 sys
21:15:31  <bnoordhuis>that's what using boost::spirit does to your compilation times :-/
21:15:58  <bnoordhuis>it takes longer to compile parser.cc than everything else combined
21:19:28  <indutny>gosh
21:19:30  <indutny>why do you need boost?
21:19:45  <bnoordhuis>because i don't feel like hand-rolling a parser
21:20:01  <bnoordhuis>and i don't want to use lex and yacc
21:20:23  <bnoordhuis>but man, it takes ages
21:23:25  <isaacs>bnoordhuis: you're not suggestingwe use boost in node, are you?
21:24:04  <isaacs>bnoordhuis: hand-rolling a parser is a very rewarding experience.
21:24:07  <bnoordhuis>isaacs: what makes you think that?
21:24:47  <bnoordhuis>and re: hand-rolling parsers, sure, it's fun the first ten times
21:25:57  <bnoordhuis>i have to admit that gcc's template error reporting has gotten a lot better in 4.8
21:26:53  <indutny>bnoordhuis: :)
21:27:00  <indutny>bnoordhuis: yeah, parsers are boring
21:27:12  <indutny>bnoordhuis: just curious, what are you parsing?
21:27:52  <bnoordhuis>indutny: lisp
21:27:54  <bnoordhuis>or scheme, rather
21:27:56  <indutny>god
21:28:02  <indutny>get one from guile
21:28:10  <indutny>get one from anywhere
21:28:15  <indutny>there're like thousands of them :D
21:28:22  <bnoordhuis>and have filthy gnu-indented code in my project? no way
21:28:27  <indutny>ahahaha
21:28:27  <bnoordhuis>yeah, it's just for fun
21:28:33  <indutny>ok
21:28:36  <indutny>you do it your way
21:28:41  <bnoordhuis>actually, writing a recursive descent parser for lisp is pretty trivial
21:28:55  <bnoordhuis>only i didn't feel like it
21:29:35  <bnoordhuis>tmp/parser.cc:31:37: warning: format '%d' expects argument of type 'int', but argument 2 has type 'boost::spirit::lex::lexertl::token<const char*, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::omit>, 0l>, mpl_::bool_<false>, long unsigned int>::id_type {aka long unsigned int}' [-Wformat=]
21:29:43  <bnoordhuis>^ it's not perfect yet
21:30:09  * mikealquit (Quit: Leaving.)
21:30:21  * AvianFluquit (Remote host closed the connection)
21:34:36  <isaacs>hahahha
21:34:37  <isaacs>omg boost
21:34:46  <isaacs>it makes the fluid rise up in the back of one's throat
21:35:00  <isaacs>it's like a parody of C++
21:35:28  <rendar>lol
21:35:50  <rendar>thats just the madness of all-templated classes
21:35:51  <rendar>:)
21:36:13  <rendar>v8 uses boost?
21:36:53  <rendar>oh, its a bnoordhuis' project :)
21:42:17  * mikealjoined
21:45:22  * AvianFlujoined
21:48:51  * c4miloquit (Remote host closed the connection)
21:52:12  * hzquit
21:52:16  * rendarquit (Quit: Leaving)
21:56:10  * AvianFluquit (Remote host closed the connection)
22:08:20  <trevnorris>bnoordhuis: you heading to bed soon?
22:08:49  * AvianFlujoined
22:10:51  * indexzeroquit (Quit: indexzero)
22:17:55  * c4milojoined
22:19:44  <bnoordhuis>trevnorris: i planned to, yes
22:20:10  <trevnorris>bnoordhuis: alright, maybe i'll remember to get your feedback on node.c tomorrow. :P
22:20:13  <trevnorris>this is almost becoming a joke
22:20:20  <trevnorris>well, make that monday
22:21:12  * austoquit (Remote host closed the connection)
22:22:17  <trevnorris>bnoordhuis: enjoy your bowl of cereal :)
22:26:45  <bnoordhuis>thanks :)
22:26:47  * mikealquit (Quit: Leaving.)
22:27:45  * mikealjoined
22:30:12  * AvianFluquit (Remote host closed the connection)
22:31:04  * julianduquejoined
22:47:46  * `3rdEdenchanged nick to `3E|Zzz
22:55:26  * mcavage_quit (Remote host closed the connection)
23:03:39  * skebcio_joined
23:04:05  * skebcioquit (Ping timeout: 248 seconds)
23:08:15  * paulfryzelquit (Remote host closed the connection)
23:08:51  * paulfryzeljoined
23:13:11  * paulfryzelquit (Ping timeout: 260 seconds)
23:29:18  * wmiljoined
23:34:55  * wmilquit (Remote host closed the connection)
23:43:37  <trevnorris>TooTallNate: ping
23:44:06  <TooTallNate>trevnorris: pong
23:45:04  <trevnorris>TooTallNate: i'm getting an internal linkage runtime error from my njsutil package. i've compared it to several others and can't find anything wrong.
23:45:11  <trevnorris>TooTallNate: any hints what might be causing it?
23:45:38  <TooTallNate>trevnorris: is it being linked to in the "libraries" section?
23:45:44  <TooTallNate> or is it a "dependency"?
23:46:56  <trevnorris>TooTallNate: i assume you mean in the binding.gyp?
23:47:02  <TooTallNate>yes
23:47:16  <TooTallNate>trevnorris: of the addon... not of njsutil
23:47:46  <trevnorris>it's under "dependencies"
23:48:03  <TooTallNate>trevnorris: try adding, in njsutil, "type": "shared_library"
23:48:37  <TooTallNate>trevnorris: or even "static_library" should work
23:48:42  <TooTallNate>static might be better...
23:49:51  <trevnorris>TooTallNate: here's what it looks like: https://gist.github.com/trevnorris/6254484
23:50:22  <TooTallNate>trevnorris: and does that work or no?
23:50:27  <trevnorris>nope
23:50:32  <TooTallNate>hmm
23:50:34  <trevnorris>still symbol lookup error
23:50:41  <TooTallNate>trevnorris: can you show me the g++ command?
23:50:43  <TooTallNate>with V=1
23:52:09  <trevnorris>TooTallNate: updated: https://gist.github.com/trevnorris/6254484
23:52:50  * groundwaterquit (Quit: groundwater)
23:57:34  <trevnorris>TooTallNate: hm, strange. so some of the functions work. it's just one specifically that doesn't.
23:57:57  <TooTallNate>ya that is weird
23:57:57  <TooTallNate>it *seems* ok to me
23:57:59  <trevnorris>TooTallNate: well, before none of them worked, so that was at least a partial fix. thanks :)
23:58:04  <TooTallNate>from the output
23:58:04  <TooTallNate>:D
23:58:11  <TooTallNate>sweet
23:58:30  <TooTallNate>trevnorris: try `nm` on the Release/njsutil.a file