00:00:28  <mitsuhiko>a bunch of middleware i looked at for comparison move their networking logic into a separate thread. but one that does not yield on kernel level
00:00:39  <mitsuhiko>well, it does in a way, it sleeps 0.1sec on inactivity
00:01:04  <mitsuhiko>and then you have three different network modules and three threads and fancy polling on async network code
00:01:21  <piscisaureus_>doing networking logic on a separate thread sounds like a good idea by itself
00:01:34  <piscisaureus_>although you probably pay for better throughput by incurring more latency
00:02:05  <piscisaureus_>yielding every 0.1 seconds does not sound that great to me
00:04:09  <mitsuhiko>well, it does make sense in a way
00:04:55  <mitsuhiko>it's because originally that stuff was running in the only thread of the game, then everything started to multithread and the async api was no longer a perfect match for a thread that is otherwise completely idle
00:05:15  <mitsuhiko>at least that's my rationale for that
00:05:22  * mralephjoined
00:06:06  <piscisaureus_>well, it depends on the exact implementation of course
00:06:42  <piscisaureus_>you should be aware that if you are targeting windows (what many games do) yielding for 0.1 second is not very efficient
00:07:30  <piscisaureus_>because the system had to make scheduler run at 10000 quantums per seconds instead of ~64
00:07:47  <mitsuhiko>not my code :)
00:07:51  <mitsuhiko>not going to touch it either
00:08:17  <piscisaureus_>haha, sure
00:12:24  <mitsuhiko>unrelated: i have a ton of places where i do if (--shutdown_ticks == 0) do_the_real_shutdown
00:12:31  <mitsuhiko>because a single thing has more than one uv_handle_t
00:12:37  <mitsuhiko>would it make sense to provide an api for that?
00:12:47  <mitsuhiko>eg: chain shutdown a bunch of things
00:13:51  <piscisaureus_>well, I'm not really keen on adding this type of APIs?
00:13:55  <piscisaureus_>s/?/!
00:14:08  <piscisaureus_>is it really that bad?
00:14:23  <mitsuhiko>piscisaureus_: probably not… however the lack of it makes people lazy
00:14:33  <mitsuhiko>for instance i did not shut down timers properly with uv_close for a while and it still worked :)
00:14:52  <piscisaureus_>mitsuhiko: well, if it works for you then I don't complain :-)
00:15:20  * mralephquit (Quit: Leaving.)
00:15:37  <piscisaureus_>mitsuhiko: I suppose you have a memory block with multiple handles inside them and you need to reference count to know when you can release it?
00:15:46  <mitsuhiko>yep
00:16:04  <piscisaureus_>mitsuhiko: right, yeah we're not going to add an api for that
00:16:19  <piscisaureus_>mitsuhiko: if you are really lazy you can malloc the handles individually
00:16:41  <piscisaureus_>mitsuhiko: and close them with uv_close((uv_handle_t) handle, (uv_close_cb) free)
00:17:13  <piscisaureus_>although performance wise that's probably not ideal
00:17:17  <mitsuhiko>that would actually not help much in that case because of how this is structured. though that might be a misuse on my part anyways.
00:17:28  <mitsuhiko>my close callback does more than just free
00:17:35  <mitsuhiko>it also unregisters the object from a roster
00:18:04  <mitsuhiko>and well, it then frees the wrapper object which also has the handles on
00:18:12  <piscisaureus_>mitsuhiko: I suppose you can (should, event) unregister it from the roster when you close the handles
00:18:17  <piscisaureus_>*even
00:18:29  <piscisaureus_>hmm, I see
00:18:38  <piscisaureus_>anyway, I don't think adding this to the api is really warranted
00:18:45  <mitsuhiko>yeah, fair enough
00:18:50  <piscisaureus_>mitsuhiko: you should be aware that if we start doing that you will pay the price too
00:19:08  <piscisaureus_>mitsuhiko: because then I will be compelled to also add an api for creationix' use case, and for everyone elses :-)
00:20:14  <mitsuhiko>to be honest, if that becomes a documented and established pattern i would not mind at all doing that myself
00:21:59  <mitsuhiko>anyways. i'm trying to contribute in some way or another back to libuv, might as well be documentation.
00:22:14  <piscisaureus_>mitsuhiko: that'd be cool :-)
00:22:51  <piscisaureus_>mitsuhiko: if you can contribute to nikhilm's uvbook that'd be great
00:22:57  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
00:23:29  <piscisaureus_>it's a good start but there's also a lot of stuff missing still
00:24:22  <mitsuhiko>yeah. sounds like a plan
00:28:35  * loladirojoined
00:42:31  * CIA-129quit (Ping timeout: 246 seconds)
00:46:40  * piscisaureusquit (Quit: Lost terminal)
00:55:49  * dapquit (Quit: Leaving.)
00:56:15  * dapjoined
00:57:59  * dshaw_quit (Quit: Leaving.)
01:20:52  * CIA-129joined
01:21:03  * bnoordhuisquit (Ping timeout: 252 seconds)
01:27:57  * abraxasjoined
01:32:33  * dapquit (Quit: Leaving.)
01:33:19  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:36:33  * ArmyOfBrucequit (Excess Flood)
01:37:00  * ArmyOfBrucejoined
02:44:34  * brsonquit (Quit: leaving)
02:48:18  * c4miloquit (Remote host closed the connection)
02:52:51  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
04:58:01  * avalanche123joined
05:11:55  * mikealquit (Quit: Leaving.)
05:12:45  * mikealjoined
05:18:35  * mjr_joined
05:24:14  * paddybyersjoined
05:57:39  * dshaw_joined
05:57:54  * avalanche123quit (Quit: Computer has gone to sleep.)
06:18:46  * paddybyersquit (Quit: paddybyers)
06:22:22  * paddybyersjoined
06:36:36  * FUUFREENODESTOPBjoined
06:37:08  * FUUFREENODESTOPBchanged nick to `3rdEden
06:39:22  * avalanche123joined
06:54:07  * CoverSlidejoined
07:01:31  * avalanche123quit (Quit: Computer has gone to sleep.)
07:11:44  * rendarjoined
07:16:22  <indutny>hoia
07:32:04  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
07:40:10  <mjr_>Hey indutny
07:47:28  <mmalecki>mjr_: hello. thanks much for merging the native parser pull request, it makes our life way easier at nodejitsu
07:47:44  <mjr_>Yeah, sorry it took so long.
07:48:07  <mjr_>JS parser now beats the native code one. Pretty great.
07:49:19  <mmalecki>yeah, great to see. out of curiosity, how did you guys manage to get hiredis working on smartos instances?
07:49:46  <mjr_>We haven't been able to move to 0.8 yet, so it still builds on 0.6
07:49:49  <mmalecki>we never got it to work, it'd produce ELFCLASS32 binary, no matter what we tried
07:49:59  <mjr_>I think we got it building on 0.8 though with some little change.
07:50:20  <mmalecki>no, I mean, it built just fine, it wouldn't load correctly
07:50:35  <mmalecki>ah, you probably were running 32 bit instances, correct?
07:51:07  <mjr_>Must be. I just built and ran it on 0.8 without a problem.
07:51:39  <mjr_>I think it matters what pkgsrc you are pointing to whether gcc will work or not
07:51:46  <mjr_>Pretty big mess, IMO
07:52:11  <mmalecki>yeah, building native extensions is a mess if you're running 64 bit, unfortunately
07:56:29  * hzjoined
08:43:06  * stagasjoined
09:20:58  * AvianFluquit (Quit: AvianFlu)
09:39:58  * mjr_quit (Quit: mjr_)
09:55:29  <indutny>ircretary: tell mjr_ sup?
09:55:30  <ircretary>indutny: I'll be sure to tell mjr_
10:11:03  * piscisaureus_joined
10:13:32  * stagas_joined
10:14:32  * stagasquit (Ping timeout: 260 seconds)
10:14:41  * stagas_changed nick to stagas
10:24:23  * Benviequit (Read error: Connection reset by peer)
10:24:42  * Benviejoined
10:39:10  * loladiroquit (Read error: Connection reset by peer)
10:39:15  * loladiro_joined
10:50:40  * mjr_joined
10:54:19  <indutny>piscisaureus_: pis pis
10:54:40  <indutny>piscisaureus_: have you seen this awesome project https://github.com/joyent/node ?
10:54:47  <indutny>people seems to be discussing it on twitter a lot
10:55:36  * piscisaureus_quit (Ping timeout: 245 seconds)
10:57:23  <indutny>oh bertje, why you've left
11:15:50  <abraxas>lunch time in holland ;)
11:16:17  <indutny>indeed
11:16:20  <indutny>same in russya
11:16:22  <indutny>num num num
11:16:37  <indutny>russia8
11:25:50  <mmalecki>ugh, can't eat until deploy is done
11:28:19  * piscisaureus_joined
11:30:11  <indutny>piscisaureus_: bertje!
11:30:16  <indutny>c'mon where you are?
11:30:22  <piscisaureus_>indutny: fjodor
11:30:29  <indutny>how are you today?
11:30:33  <piscisaureus_>good
11:30:39  <indutny>is today a no-ben-tuesday?
11:30:48  <piscisaureus_>haha
11:30:51  <piscisaureus_>dunno
11:30:57  <piscisaureus_>I am going to the office soon to find out
11:31:13  <indutny>heh
11:31:20  <indutny>say 'ho' to him
11:31:29  <piscisaureus_>I will
11:31:48  <indutny>thanks
11:31:53  <indutny>so about CFRunLoop
11:32:08  <indutny>do you think aynone will use this hack to embed RunLoop into libuv?
11:32:18  <indutny>i.e. do we need to expose APIs for it?
11:33:13  <piscisaureus_>indutny: I doubt it. what we've found so far is too hacky
11:33:40  <indutny>piscisaureus_: external module?
11:33:56  <indutny>it's not as hacky, actually
11:34:08  <indutny>I just need two offset in structures
11:34:19  <piscisaureus_>well, sure
11:34:32  <piscisaureus_>indutny: but the offset varies from one os x to another ....
11:34:38  <indutny>heh, yeah
11:34:40  <piscisaureus_>it needs to be somewhat robust
11:34:53  <piscisaureus_>also, what if apple changes the api so we can't access that member anymore?
11:35:08  <indutny>piscisaureus_: em... they can, but why...
11:35:22  <indutny>ok
11:35:32  <indutny>wanna land my patch w/o hacks then?
11:36:40  <piscisaureus_>indutny: I think, yes
11:36:53  <piscisaureus_>indutny: did you get this #defines problem sorted out?
11:37:16  <piscisaureus_>indutny: but I am happy that we poked this a little.
11:37:31  <piscisaureus_>indutny: it gives me confidence that we did the best we could
11:37:36  <piscisaureus_>er, you did
11:38:32  <indutny>piscisaureus_: yes, I sorted it out
11:38:37  <indutny>haha
11:39:02  * dshaw_quit (Quit: Leaving.)
11:39:37  <indutny>piscisaureus_: I would like to backport it to v0.8
11:39:48  <indutny>and test/release it in next 0.8.x
11:43:57  <piscisaureus_>indutny: do you think it's possible without breaking the abi
11:48:39  <indutny>piscisaureus_: ahh
11:48:40  <indutny>crap
11:48:42  <indutny>no
11:48:50  <indutny>I forgot about ABI
11:50:44  * mjr_quit (Quit: mjr_)
11:57:45  <piscisaureus_>where is bnoorhuis
11:57:48  <piscisaureus_>*bnoordhuis
12:00:32  * bnoordhuisjoined
12:01:44  <indutny>bnoordhuis: here are you
12:02:46  * abraxasquit (Remote host closed the connection)
12:03:15  * piscisaureus_quit (Ping timeout: 255 seconds)
12:03:42  <bnoordhuis>indutny: here i am indeed
12:15:31  <indutny>bnoordhuis: wanna review fsevents stuff?
12:19:31  <bnoordhuis>indutny: do i have to?
12:19:41  <indutny>bnoordhuis: you're very good at this
12:19:49  <indutny>reviewing
12:19:56  * piscisaureus_joined
12:20:02  <indutny>and it's complicated multithreaded shit
12:20:05  <indutny>https://github.com/joyent/libuv/pull/525
12:20:14  <bnoordhuis>indutny: i'll have a look
12:20:18  <indutny>bnoordhuis: thanks
12:20:36  <piscisaureus_>bnoordhuis: ben-free tuesday after all?
12:20:52  * piscisaureusjoined
12:21:03  <bnoordhuis>piscisaureus: yes. the wife asked me to babysit
12:21:21  <indutny>bnoordhuis: do you have a baby?
12:21:37  <bnoordhuis>indutny: yes. a toddler by now really
12:23:02  <indutny>great!
12:23:05  <indutny>:)
12:23:59  <bnoordhuis>yes, it's nice. i can recommend it :)
12:24:14  <indutny>haha
12:45:37  <piscisaureus_>painful upgrade is painful
12:45:45  <indutny>piscisaureus_: what are you doing?
12:45:55  <piscisaureus_>opgrading openssl to 1.0.1c
12:45:59  <indutny>oh
12:46:02  <indutny>it's really painful
12:46:06  <piscisaureus_>yes
12:46:09  <indutny>what's changed?
12:46:14  <piscisaureus_>these google patches don't make it easy
12:46:18  <piscisaureus_>lots of optimizations :-)
12:46:25  <piscisaureus_>npn became official
12:46:26  <indutny>oh, ok :)
12:46:36  <indutny>it's already there
12:46:40  <piscisaureus_>I know
12:46:40  <indutny>in node
12:46:47  <piscisaureus_>we're floating a patch from google
12:47:27  <piscisaureus_>indutny:
12:47:28  <piscisaureus_>*) Extensive assembler packs updates, most notably:
12:47:28  <piscisaureus_> - x86[_64]: AES-NI, PCLMULQDQ, RDRAND support;
12:47:28  <piscisaureus_> - x86[_64]: SSSE3 support (SHA1, vector-permutation AES);
12:47:28  <piscisaureus_> - x86_64: bit-sliced AES implementation;
12:47:28  <piscisaureus_> - ARM: NEON support, contemporary platforms optimizations;
12:47:29  <piscisaureus_> - s390x: z196 support;
12:47:29  <piscisaureus_> - *: GHASH and GF(2^m) multiplication implementations;
12:47:42  <indutny>piscisaureus_: oh, god
12:47:57  <indutny>that's really critical
12:48:45  <mmalecki>while we're here, we've been running these two patches from indutny in production and we've seen over 3x speedup on https traffic. they don't seem to break anything, it would be great to include them in the next v0.8 release:
12:48:58  <mmalecki>!gh joyent/node@d923269
12:49:05  <mmalecki>eh, well
12:49:05  <mmalecki>https://github.com/joyent/node/commit/d923269e13f903b02506d86f138369586862364e
12:49:12  <mmalecki>and https://github.com/joyent/node/commit/f210530f46e8ddbd9e7cc0d0c37778888c27f526
12:51:03  <mmalecki>piscisaureus_: bnoordhuis ^ opinion?
12:51:26  <piscisaureus_>d92326 seems pretty safe
12:51:53  <bnoordhuis>yes. not sure about the other one
12:51:57  <bnoordhuis>it looks harmless but...
12:52:17  <indutny>I think mjr was running both too
12:52:30  <piscisaureus_>I though mjr gave up on node?
12:52:33  <indutny>yeah
12:52:41  <indutny>but not because of those patches!
12:52:41  <indutny>:)
12:55:35  <mmalecki>here's the exact patch we're running in production, branched of v0.8.8: https://github.com/mmalecki/node/commit/cf80eb29acbf842f6874ea8f07e0eea6b9ebbdee
12:59:55  * TheJHjoined
13:05:11  * loladiro_quit (Quit: loladiro_)
13:05:45  * loladirojoined
13:06:33  * c4milojoined
13:07:11  * loladiroquit (Client Quit)
13:08:48  * c4miloquit (Remote host closed the connection)
13:11:46  <saghul>guys, would it be possible to have void uv_tcp_open(uv_tcp_t*, uv_os_sock_t socket); and same for UDP ?
13:14:25  * hzquit
13:15:03  <saghul>well, possible and desirable, that is :-)
13:15:56  <piscisaureus>I'd be okay with that
13:17:08  <saghul>It would come handy, to take the fd out of a Python socket and use it as a TCP / UDP handle, right now I'm using uv_poll_t all along
13:17:24  <piscisaureus>bnoordhuis: ^ opinion ?
13:18:30  <bnoordhuis>saghul, piscisaureus: i can live with that
13:18:39  <piscisaureus>saghul: ok. So, go for it :-)
13:19:13  <saghul>piscisaureus_ bnoordhuis ok, I'll see if I can get that done :-)
13:19:57  * loladirojoined
13:34:12  * loladiroquit (Quit: loladiro)
13:39:32  * loladirojoined
13:42:43  * loladiroquit (Client Quit)
13:53:20  <CIA-129>node: Ben Noordhuis master * r98d53ac / test/simple/test-crypto-padding-aes256.js : test: add AES-256 padding crypto test - http://git.io/7jNP6A
13:53:22  <CIA-129>node: Ben Noordhuis master * reaf1343 / src/node_crypto.cc : crypto: remove legacy openssl compatibility code - http://git.io/nJwu5g
13:54:11  * c4milojoined
13:57:00  <piscisaureus>I wonder why the NPN patch that google floated is much cleaner style-wise than the one that ended up in openssl 1.0.1
13:57:15  <indutny>piscisaureus_: they have obfuscated it
13:57:18  <piscisaureus>I wonder if they have a reviewers that say: "hey, this is way too readable"
13:57:20  <piscisaureus>yeah
13:57:24  <indutny>that what they do with all code
13:57:27  <indutny>mix tabs and spaces
13:57:35  <indutny>give non-readable names to variables
13:57:47  <piscisaureus>well the variable names didn't change indeed
13:57:56  <indutny>haha
13:58:06  <piscisaureus>but the "official" one has long lines and tabs/spaces mixed and all that crap
13:58:23  <indutny>yeah
13:58:37  <indutny>code style is a big problem there
13:59:15  <piscisaureus>although google did one very weird thing
14:00:43  <piscisaureus_>indutny: https://github.com/joyent/node/blob/master/deps/openssl/openssl/ssl/s3_both.c#L234-238
14:00:45  <piscisaureus_>ahuh
14:01:20  <piscisaureus>I thought condititional comments was an browser thing
14:01:23  <piscisaureus>*a
14:01:51  <indutny>haha
14:02:09  <piscisaureus>it looks very deliberate too
14:02:10  <indutny>this really fixed everything
14:02:22  <piscisaureus>the npn patch just added the #ifdef/#endif
14:02:26  <piscisaureus>the comment was already there
14:02:27  <bnoordhuis>well, it brings the intent across
14:02:34  <indutny>oh
14:02:47  <piscisaureus>bnoordhuis: I doubt it
14:02:56  * loladirojoined
14:02:59  <bnoordhuis>"this comment is only applicable if npn is disabled"?
14:03:03  <piscisaureus>bnoordhuis: I mean - that comment is only valid when NPN is disabled at compile time?
14:03:14  <piscisaureus>bnoordhuis: could be - but that seems very unlikely here
14:04:39  <bnoordhuis>piscisaureus: why?
14:05:48  <piscisaureus>bnoordhuis: well the comment basically says "we don't have to care about X because we do it somewhere else"
14:06:38  <piscisaureus>bnoordhuis: so if I interpret it like you suggest, we should care when NPN is on
14:06:43  <piscisaureus>but then, that code isn't there
14:07:00  <bnoordhuis>okay, you may have a point
14:07:20  <piscisaureus>infact, that code is there
14:07:25  <piscisaureus>but its in ssl3_get_message
14:10:19  <indutny>it's so interesting
14:10:24  <indutny>I can spend all day listening you guys
14:11:33  * loladiroquit (Quit: loladiro)
14:12:14  <piscisaureus>IRL I'm pretty boring indutny
14:12:58  <indutny>that's me IRL http://www.vpsinc.com/media/Studio%20Images/irl.jpg
14:13:06  <indutny>quite boring too
14:13:21  <indutny>oh, wait
14:13:23  <indutny>you've seen me
14:13:26  <piscisaureus>the left one or the right one
14:13:34  <indutny>piscisaureus: the one on wheels
14:13:51  <piscisaureus>s/w// ?
14:14:25  * c4miloquit (Remote host closed the connection)
14:14:53  <indutny>piscisaureus: http://sharetv.org/images/the_10th_kingdom/cast/large/relish_the_troll_king.jpg
14:15:07  * c4milojoined
14:15:13  <indutny>you look pretty hungry there
14:15:13  <piscisaureus>ohno
14:15:18  <piscisaureus>ya
14:53:56  * loladirojoined
14:54:16  <isaacs>g'morning
14:54:21  <isaacs>gonna start on 0.8.9
14:55:38  <indutny>goood morning
14:55:39  <indutny>great
14:56:01  <indutny>bnoordhuis: piscisaureus lets consider backporting tls improvements or not
14:56:07  <indutny>I'm +1 for both changes
15:01:34  * loladiroquit (Quit: loladiro)
15:03:04  * AvianFlujoined
15:03:36  <isaacs>indutny: can you apply them in a branch off v0.8?
15:03:57  <isaacs>indutny: i'd like to try out the changes on npmjs.org, have some others do the same.
15:03:57  <indutny>isaacs: sure
15:04:08  <indutny>nodejitsu has rolled it out in production
15:04:12  <isaacs>yeah
15:04:16  <isaacs>they seem ok with it, so that's a plus
15:04:21  <mmalecki>isaacs: we're seeing up to over 3x speed improvement on https traffic
15:04:28  <isaacs>mmalecki: great!
15:04:52  <mmalecki>yeah, I still have to figure out how to ship that crate of beer to Russia
15:07:30  <indutny>isaacs: doing make -j4
15:07:39  <indutny>isaacs: going to run tests before pushing to v0.8-tls branch
15:07:51  <isaacs>kewl, thanks!
15:08:32  <indutny>you're welcome
15:10:10  <piscisaureus>indutny: isaacs: bnoordhuis: would it not be better to land the openssl-asm patch instead of the one-liner that indutny did?
15:10:33  * rodolfo_joined
15:10:36  <rodolfo_>hi
15:10:57  <indutny>piscisaureus: probably!
15:11:03  <indutny>piscisaureus: yeah, it's much more better
15:11:08  <rodolfo_>anyone available for a quick question?
15:11:16  <indutny>rodolfo_: sure, we're there for it
15:11:54  <rodolfo_>i'm trying to use libuv to forward mysql traffic and i need to process packets but i can't see how could i do it within the read callback
15:12:17  <isaacs>help prune, please: https://gist.github.com/3699533
15:12:29  <isaacs>piscisaureus, bnoordhuis, indutny, tootallnate ^%
15:12:51  <bnoordhuis>piscisaureus: yes, probably. it's a pretty big change though, i'd rather land it in master
15:13:03  <indutny>isaacs: lgtm, if we won't land tls stuff ;)
15:13:06  <rodolfo_>is there any source of documentation i am currently missing?
15:13:19  <indutny>rodolfo_: there's libuv book
15:13:20  <rodolfo_>i've seen the header and the book
15:13:29  <isaacs>indutny: let's do that in 0.8.10 after a bit more testing
15:13:30  <indutny>rodolfo_: nothing more AFAIK
15:13:36  <indutny>isaacs: sure, np
15:13:46  <isaacs>indutny: but we need to shorten this changelog some
15:13:49  <bnoordhuis>piscisaureus: nice benefit is that it'll give us something to boast about it in the next major release :)
15:13:57  <indutny>hahaha
15:14:03  <indutny>bnoordhuis++
15:14:03  <rodolfo_>do you know what i mean with the need to process "bigger" packets?
15:14:12  <indutny>rodolfo_: no, I don't
15:14:20  <indutny>rodolfo_: do you want to ask how to write packet parser?
15:14:32  <indutny>rodolfo_: I don't think that I can be helpful in this question
15:14:41  <isaacs>piscisaureus: we can do that in 0.8.10 as well
15:14:45  <indutny>though I can be
15:14:47  <piscisaureus>ok
15:14:48  <indutny>but I won't be
15:14:50  <isaacs>that'll be the "tls got faster" release :)
15:14:52  <indutny>:)
15:15:06  <rodolfo_>k, htanks indutny, anyone else?
15:15:14  <isaacs>then if that breaks everyone, we'll know what the culprit is
15:16:15  <indutny>haha
15:16:32  <bnoordhuis>rodolfo_: what exactly do you mean by 'process packets'?
15:16:32  * R_apassiajoined
15:17:00  <rodolfo_>uhm, bnoordhuis let's say i could receive a packet that's 1MB "long"
15:17:15  <indutny>rodolfo_: you need to allocate buffer
15:17:22  <indutny>rodolfo_: and put it there
15:17:23  <indutny>obviously
15:17:33  <rodolfo_>yes but that won't come in the same callback
15:17:41  <rodolfo_>because it will be sent by various send calls
15:17:46  <rodolfo_>by the other machine
15:17:46  <indutny>sure
15:17:51  <indutny>you need to preserve state
15:17:55  <rodolfo_>it will be kind of streamed
15:17:59  <rodolfo_>how can i preserve state ?
15:18:09  <bnoordhuis>rodolfo_: either buffer the chunks or write some kind of state machine parser
15:18:11  <rodolfo_>that's a better question thanks
15:18:20  <indutny>em... embed your handle in object
15:18:30  <indutny>struct Parser { uv_handle_t handle }
15:18:34  <bnoordhuis>*buffer the chunks -> buffer the chunks until you have a full packet
15:18:49  <indutny>and then get pointer to Parser
15:18:52  <indutny>using pointer to handle
15:18:57  <indutny>see `container_of` in libuv's source
15:20:22  <isaacs>srsly. github.
15:20:59  <CIA-129>node: isaacs v0.8.9-release * r0ccd875 / (ChangeLog src/node_version.h): wip - http://git.io/QOiFmA
15:21:33  <isaacs>the gist is dying, but if anyone wants to tweak the changelog some more, it's on the release branch
15:21:40  <piscisaureus>find . -iname '*.orig' | xargs rm
15:21:54  <isaacs>https://gist.github.com/3691129
15:22:00  <bnoordhuis>piscisaureus: dangerous
15:22:13  <tjfontaine>piscisaureus: you know there's -delete as well no piping necessary
15:22:21  <bnoordhuis>piscisaureus: use -delete or -print0 + xargs -0 rm
15:22:39  <piscisaureus>bnoordhuis: dangerous ?
15:22:43  <tjfontaine>or -exec rm '{}' \+
15:22:48  <bnoordhuis>piscisaureus: what if the file name contains spaces?
15:22:50  <tjfontaine>piscisaureus: spaces can screw with your rm
15:22:51  <isaacs>piscisaureus: touch 'foo bar.orig'
15:23:06  <isaacs>allowing spaces in filenames was a big mistake, imo
15:23:12  <indutny>isaacs: just FYI
15:23:15  <indutny>isaacs: tests are passing
15:23:19  <isaacs>sweet :)
15:23:24  <piscisaureus>you know what was a big mistake
15:23:29  <piscisaureus>allowing backslashes in filenames
15:23:32  <tjfontaine>heh
15:23:33  <isaacs>piscisaureus: YES
15:23:36  <indutny>hahaha
15:23:36  <isaacs>holy crap.
15:23:47  <isaacs>piscisaureus: this is why npm is so strict.
15:23:53  <isaacs>about package names and such
15:24:04  <isaacs>no non-url-safe chars, no slashes, must start with a alphanum, etc.
15:24:07  <indutny>piscisaureus: yeah, that's why npm is much better than kqueue
15:24:12  <isaacs>yep :)
15:24:16  <indutny>you see, kqueue support backslashes
15:24:27  <isaacs>in a related analogy, bananas are better than solar power.
15:24:28  <indutny>piscisaureus: windows is much better there
15:24:37  <piscisaureus>indutny: you say that now
15:24:48  <piscisaureus>indutny: but remember you can create files with spaces in them
15:24:50  <isaacs>though, really, using backslashes as path separators is just stupid.
15:24:51  <indutny>piscisaureus: though it's worse everywhere else
15:24:57  <indutny>piscisaureus: that's a fail of every os
15:25:05  <isaacs>it's like the jerk who wears sandals in the snow just to be different and insists that he's not cold.
15:25:09  <piscisaureus>indutny: infact node will let you use any character except slash and backslash
15:25:14  <indutny>piscisaureus: I think filenames should only contain 0 and 1
15:25:36  <indutny>piscisaureus: or hex
15:25:44  <indutny>piscisaureus: that's how are they representing in fs, anyway
15:25:48  <CIA-129>libuv: Shigeki Ohtsu master * r57e6113 / (config-unix.mk src/unix/netbsd.c uv.gyp): unix: support missing api on NetBSD - http://git.io/4Lr9Zw
15:25:50  <indutny>s/ing/ed
15:25:51  * R_apassiaquit (Quit: Leaving)
15:25:58  <piscisaureus>I think filenames should always be 8 characters with a 3-char extension
15:26:00  <indutny>oh, someone is pushing while we're talking!
15:26:10  <indutny>piscisaureus: DOSREVENGE!
15:26:30  <bnoordhuis>is github broken again?
15:26:41  <indutny>bnoordhuis: yes
15:26:47  <indutny>it was using backslahes
15:26:47  <bnoordhuis>ah, there's the unicorn again
15:26:50  <bnoordhuis>hah
15:26:51  <indutny>and now it's broken
15:27:00  <indutny>all thanks to kqueue
15:27:03  <indutny>and bertje
15:27:34  <bnoordhuis>it's a company secret
15:27:36  * indutnytopic: Kqueue. DOS. Bertje. http://static.izs.me/irclogs/libuv/
15:27:43  <bnoordhuis>but these days we pay bertje to *not* touch any production code
15:27:58  <indutny>bnoordhuis: that's very important
15:27:58  <bnoordhuis>productivity and uptime are through the roof
15:28:20  <isaacs>bnoordhuis: can you summarize your build changes? or reduce the changelog any? it's too big. people zone out halfway through it.
15:28:30  <indutny>also, people like that can incept into other companies
15:28:33  <bnoordhuis>isaacs: what build changes?
15:28:49  <indutny>piscisaureus: I love ya, that was just a joke
15:28:49  <isaacs>https://gist.github.com/3691129
15:28:54  <piscisaureus>-fno-tree-vrp etc
15:28:56  <indutny>and DOS is really cool, no offense
15:29:10  <bnoordhuis>isaacs: yeah, i can't open the gist what with github being down :)
15:29:16  <isaacs>right
15:29:19  <bnoordhuis>but just remove it, no one cares
15:29:23  <isaacs>hahah
15:29:24  <isaacs>ok
15:30:32  * `3rdEdenchanged nick to `3E|DINNER
15:32:25  <isaacs>github being down sucks.
15:32:53  <isaacs>i find it very interesting that the people who complain about npm being a single point of failure so often are the same people who suggest we use github as a registry.
15:36:38  * loladirojoined
15:42:12  * `3E|DINNERquit (Quit: Leaving...)
15:58:27  <ryah>we should have a link to libuv on nodejs.org
15:59:50  <isaacs>ryah: agreed
16:00:02  <isaacs>and to the book
16:00:20  <isaacs>or maybe a link to the book from the api doc
16:01:20  <isaacs>rar. github down for emergency db maintenance.
16:01:29  * isaacsoff to have a swordfight in the hallway
16:01:32  * hzjoined
16:05:41  * brsonjoined
16:06:49  * bentkusjoined
16:06:54  <bentkus>who changed the uv_fs_t struct layout?
16:07:10  <piscisaureus_>eh?
16:07:13  <piscisaureus_>git log ? :-)
16:07:22  <piscisaureus_>bentkus: is that a problem?
16:07:31  <piscisaureus_>it probably won't be the last change
16:07:59  <bentkus>the offsets to fields which are important are now different on different platforms
16:08:08  <CIA-129>node: isaacs v0.8.9-release * r005ae23 / doc/community/index.html : doc: Add Node Dublin to community page - http://git.io/9JWZUQ
16:08:09  <CIA-129>node: isaacs v0.8.9-release * re35cec5 / doc/index.html : doc: Put current version on homepage - http://git.io/GkI0xg
16:08:10  <CIA-129>node: isaacs v0.8.9-release * r6e0b8b1 / doc/index.html : doc: Fork me image should be full url - http://git.io/kaXR6g
16:08:12  <CIA-129>node: isaacs v0.8.9-release * r2b32e06 / (ChangeLog src/node_version.h): wip - http://git.io/n2_S5w
16:08:24  <piscisaureus_>bentkus: hmm, that'd be odd.
16:08:38  <piscisaureus_>bentkus: the common (public) fields are at the top
16:08:52  <bentkus>take a look at uv_Fs_s
16:08:59  <piscisaureus_>bentkus: are you sure it's not related to lp64 vs llp64 platforms?
16:09:24  <bentkus>UV_REQ_FIELDS as UV_PRIVATE_REQ_FIELDS which has different sizes
16:09:34  <bentkus>and then after that comes all the important stuff in uv_fs_s
16:09:45  <piscisaureus_>hmm
16:09:54  <piscisaureus_>PRIVATE_REQ_FIELDS needs to be at the bottom
16:09:59  <piscisaureus_>you're right
16:10:04  <piscisaureus_>I take patches :-)
16:14:21  <bentkus>on windows the REQ_PRIVATE_FIELDS is sizeof > 0, on linux = 0
16:14:43  <bentkus>yeah i'll make the patch
16:16:14  * dapjoined
16:19:08  <bentkus>piscisaureus_: it will look something like this http://paste.ubuntu.com/1198958/
16:19:13  <bentkus>for every struct
16:22:34  <bentkus>because the private fields are private and have a dynamic size, they have to be at the end so people can expect a fixed layout of the important fields
16:22:46  <bentkus>not everyone is writing bindings using the C headers
16:31:26  * bentkusquit (Ping timeout: 276 seconds)
16:35:13  * bentkusjoined
16:35:22  <bentkus>disconnected, did you say something piscisaureus ?
16:35:36  <tjfontaine>nope
16:36:42  <bnoordhuis>bentkus: master or v0.8?
16:37:06  <bentkus>master
16:37:10  <bnoordhuis>this is about UV_PRIVATE_REQ_FIELDS?
16:39:03  <bnoordhuis>bentkus: ^
16:39:14  <bnoordhuis>because if it is, it's not a bug
16:39:30  <bnoordhuis>libuv only guarantees source level compatibility, not abi compatibility
16:40:57  * mjr_joined
16:42:07  <bnoordhuis>on a completely unrelated note, i have a strong suspicion that "your song" is the most covered song ever
16:42:19  <bnoordhuis>maybe a shared first spot with "a message to you rudy"
16:42:38  <tjfontaine>you mean professional covers?
16:43:33  <bnoordhuis>depends on your definition of professional
16:43:52  <tjfontaine>heh
16:43:59  <tjfontaine>at least people who have signed with major labels
16:44:03  <bnoordhuis>yes, that
16:44:06  <bnoordhuis>recorded in a studio
16:44:43  <piscisaureus>bnoordhuis: bentkus: platform-specific fields should be at the bottom
16:44:57  <piscisaureus>bentkus: so yeah that's good
16:45:44  <bnoordhuis>piscisaureus: i have a better idea: purge UV_PRIVATE_REQ_FIELDS
16:45:51  <tjfontaine>bnoordhuis: you've successfully got the song stuck in my head
16:46:16  <bnoordhuis>tjfontaine: i have a knack for that
16:46:35  <bnoordhuis>just be glad i didn't mention tainted love
16:47:00  * rodolfo_quit (Quit: Page closed)
16:47:17  <CIA-129>node: Ben Noordhuis master * rc8c638a / src/node_buffer.h : buffer: change prototype of Data() and Length() - http://git.io/xKBjww
17:00:36  * loladiroquit (Quit: loladiro)
17:02:15  * mikealquit (Quit: Leaving.)
17:02:46  * mikealjoined
17:13:53  * brsonquit (Ping timeout: 244 seconds)
17:15:42  * brsonjoined
17:22:02  * avalanche123joined
17:25:14  <piscisaureus>why do we have topics named ... on the ml?
17:26:40  <bentkus>bnoordhuis: how are you going to purge it?
17:28:18  <bentkus>piscisaureus: can you explain what that cares repo at your github is?
17:28:32  <piscisaureus>bentkus: it's gypified c-ares
17:28:38  <piscisaureus>bentkus: we removed it from libuv
17:29:15  <piscisaureus_>bentkus: https://github.com/joyent/libuv/issues/518
17:31:35  * joshthecoderjoined
17:34:44  * loladirojoined
17:35:04  * loladiroquit (Client Quit)
17:35:30  * hzquit (Disconnected by services)
17:35:35  * hzjoined
17:36:58  * avalanche123quit (Quit: Computer has gone to sleep.)
17:37:11  <bentkus>now I have to write some cares bindings
17:37:14  * dshaw_joined
17:37:32  <bentkus>piscisaureus_: technically it is possible to recreate cares functionality with libuv?
17:37:51  <piscisaureus>bentkus: that's *also* possible but it sounds like a lot of work ...
17:38:18  <piscisaureus>bentkus: you can still use c-ares, it just isn't included with libuv anymore, so you'll have to write some glue code
17:38:26  <piscisaureus>bentkus: although I promise its not difficult
17:38:31  * dshaw_quit (Client Quit)
17:38:41  * TooTallNatejoined
17:40:51  <bentkus>node uses libuv, cares, http-parser
17:40:58  <bentkus>are there any other libs that are being used by node?
17:41:05  <bentkus>I guess openssl?
17:42:56  <piscisaureus>bentkus: openssl, zlib, v8, http_parser
17:43:09  <piscisaureus>yeah
17:44:16  * dshaw_joined
17:44:40  <bentkus>v8 is the javascript runtime
17:45:17  <piscisaureus>yes
17:45:51  * loladirojoined
17:47:28  <isaacs>[02:11|% 100|+ 452|- 0]: Done
17:47:30  <isaacs>osx ^
17:48:21  * V1joined
17:48:48  * V1changed nick to `3rdEden
17:48:48  <bentkus>what about linux?
17:56:33  <bentkus>[% 100|+ 158|- 0]: Done.
17:56:40  <bentkus>why do I have only 158 tests on libuv master?
17:58:36  <CIA-129>node: isaacs v0.8.9-release * r1c2982b / (doc/api/process.markdown test/simple/test-fs-watch.js): Update doc and test for sunos/solaris switch - http://git.io/QTXjKA
17:58:36  <CIA-129>node: isaacs v0.8.9-release * r84a0eac / (ChangeLog src/node_version.h): wip - http://git.io/Ex4TrQ
17:59:12  <piscisaureus>bentkus: make test-all
17:59:17  <isaacs>bentkus: linux is testing now
17:59:31  <isaacs>it failed one test with a timeout, but that test passed 10 times in a row just now
17:59:35  <isaacs>so i'm calling it a fluke
17:59:49  <isaacs>smartos failed because it lacked 1c2982b
17:59:53  <piscisaureus>other people would call it a race condition
17:59:56  <isaacs>retesting now
17:59:57  * txdvquit (Read error: Connection reset by peer)
18:00:06  * txdvjoined
18:00:12  <isaacs>piscisaureus: well, i'm not sure if it's that the test was locked, or that it just took a while
18:00:24  <isaacs>running again in hte test harness to see if i can reproduce it
18:00:40  <isaacs>this is new, though:
18:00:45  <piscisaureus>I see pummel/test-fs-large-file time out often
18:00:46  <isaacs>=== release test-net-connect-timeout ===
18:00:47  <isaacs>Path: simple/test-net-connect-timeout
18:00:47  <isaacs>events.js:66
18:00:47  <isaacs> throw arguments[1]; // Unhandled 'error' event
18:00:47  <isaacs> ^
18:00:49  <isaacs>Error: connect ENETUNREACH
18:00:51  <isaacs> at errnoException (net.js:769:11)
18:00:52  <piscisaureus>on VMs
18:00:54  <isaacs> at Object.afterConnect [as oncomplete] (net.js:760:19)
18:00:56  <isaacs>Command: out/Release/node /home/isaacs/node/test/simple/test-net-connect-timeout.js
18:01:02  <piscisaureus>isaacs: this is smartos
18:01:04  <piscisaureus>?
18:01:10  <bentkus>jezus, pastebinit | xclip it next time
18:01:11  <isaacs>piscisaureus: that's linux
18:01:21  <isaacs>bentkus: floods are allowed in here.
18:01:37  <isaacs>bentkus: if it's for valid business and not shenanigans
18:01:59  <piscisaureus>isaacs: ENETUNREACH is not completely unexpected for this test
18:02:04  <isaacs>k
18:02:05  <bentkus>people with @ are always allowed to do what they want
18:02:12  <isaacs>bentkus: :D
18:02:15  <piscisaureus>indeed
18:02:21  <piscisaureus><3 the powerr
18:02:23  <isaacs>piscisaureus: if that's the case we should probably have the test catch that and be ok with it
18:02:32  <piscisaureus>yeah
18:02:44  <piscisaureus>isaacs: which means that we no longer have a test for connect timeout
18:02:51  <piscisaureus>isaacs: we should probably test a couple of IPs
18:03:09  <isaacs>the domain http timeout thing is a bit concerning, because the test finishes very quickly when it finishes
18:03:19  <isaacs>so the fact that it timed out makes me think it probably is a race somewhere
18:03:27  <piscisaureus>isaacs: you probably should take a loot
18:03:30  <piscisaureus>isaacs: *look
18:03:32  <isaacs>yeah
18:03:40  <piscisaureus>isaacs: since you're the only one that understands domains :-)
18:04:12  <isaacs>oh, actually it does pause a few seconds for the server to finish closing all its stuff sometimes
18:09:56  <piscisaureus>isaacs: does internet/test-dns pass for you
18:09:59  <CIA-129>node: isaacs v0.8.9-release * rb88c390 / (ChangeLog src/node_version.h): 2012.09.11, Version 0.8.9 (Stable) - http://git.io/UnTUGg
18:10:14  <piscisaureus>isaacs: apparently my office just got ipv6 support, but now queryCname fails
18:10:20  <tjfontaine>piscisaureus: google no longer has a cname for www.google.com
18:10:38  <piscisaureus>isaacs: : tjfontaine right, so we should probably update that test
18:10:48  <tjfontaine>piscisaureus: I disabled that test in my adaptation of the test until I decide a better name to test against
18:13:44  <piscisaureus>isaacs: windows looking good
18:14:26  <piscisaureus>isaacs: 2 failures: listen-fd-ebadf and internet/test-dns fail (both known)
18:17:51  <isaacs>sweet
18:17:56  <isaacs>anyone ever worked withthe bing api?
18:18:04  <isaacs>i can't find the docs for it
18:18:10  <isaacs>and the docs i can find are .docx files.
18:18:29  <isaacs>claudio sent me an api key, but it says that i need to use oauth...
18:18:32  * mikealquit (Quit: Leaving.)
18:18:34  * isaacsso confused
18:18:34  <TooTallNate>isaacs: good docs opens those right?
18:18:43  <isaacs>TooTallNate: they open fine in textedit
18:18:51  <isaacs>but... still.
18:19:02  <isaacs>seems like i must be missing something
18:19:05  <TooTallNate>how did google get autocorrected into "good"?
18:19:16  <isaacs>*surely* there's documentation in html somewhere, right??
18:19:41  <isaacs>like, with step by step "how to use this thing" instructions, rather than just a faq that assumes i already use the old api?
18:29:59  <piscisaureus_>isaacs: http://msdn.microsoft.com/en-us/library/dd251056.aspx
18:31:42  <isaacs>piscisaureus_: yeah... so that's for version 2. but the api is not version 2 any more.
18:31:48  <isaacs>even though the url has /v1/ on it
18:32:02  <isaacs>"The authorization type you provided is not supported. Only Basic and OAuth are supported"
18:32:06  <piscisaureus_>isaacs: so what's the verson now? 3?
18:32:20  <isaacs>yeah
18:32:51  <isaacs>"The Bing Search API 2.0 used an application ID to authenticate a Bing Search API request. With Windows Azure Marketplace, you must obtain an account key instead. The account key replaces the application ID as the mode of authentication."
18:33:10  * loladiroquit (Quit: loladiro)
18:36:07  * `3rdEdenquit (Remote host closed the connection)
18:36:38  * `3rdEdenjoined
18:46:48  * `3rdEdenquit (Ping timeout: 260 seconds)
18:48:55  <bentkus>shouldn't uv_walk return a null, null after the last element, signaling that it reached the end?
18:49:08  <bentkus>it would make it possible to expose it as an iterator
18:49:35  <bentkus>nevermind
18:51:12  * AutowiredConstrujoined
18:51:18  * dshaw_quit (Quit: Leaving.)
18:54:51  * dshaw_joined
18:58:33  * CoverSlidequit (*.net *.split)
18:58:33  * ryahquit (*.net *.split)
18:58:51  <AutowiredConstru>shut up this netsplit
18:59:44  * CoverSlidejoined
18:59:44  * ryahjoined
19:00:56  <CIA-129>node: isaacs v0.8 * r362189a / src/node_version.h : Now working on 0.8.10 (+7 more commits...) - http://git.io/DjAx_Q
19:01:06  <mmalecki>...
19:01:22  <mmalecki>I was just rolling 0.8.8 out XD
19:01:34  <piscisaureus_>nodejitsu
19:01:38  <piscisaureus_>always 1 week behind
19:01:38  * ryahquit (Remote host closed the connection)
19:01:46  * ryahjoined
19:02:36  <mmalecki>you wish!
19:02:46  * mmaleckistarts a parallel rollout
19:06:32  * dshaw_quit (Quit: Leaving.)
19:07:34  * mikealjoined
19:11:28  <indutny>parallel rollout
19:11:35  <indutny>parallel rickroll
19:12:03  * `3rdEdenjoined
19:18:53  <mjr_>mmalecki: do you guys hit the 450MB V8 memory limit thing in node 0.8?
19:19:03  <indutny>450MB limit?
19:19:21  <indutny>this is odd to hear
19:19:27  <indutny>it should be much more
19:19:30  <mjr_>huh, yeah. There's some bad thing that happens in newer V8 where they clamp down the max size of the process heap sometimes.
19:19:40  <piscisaureus>maybe it's just the default
19:19:42  <indutny>oh
19:19:45  <piscisaureus>try node --v8-options
19:19:48  <indutny>piscisaureus: anyway, it's not too much
19:19:49  <mmalecki>oh, hm... this sounds likely when I relate it to the LB
19:19:50  <mjr_>It's what was causing those bad_alloc errors we were seeing before.
19:20:04  <indutny>oh crap
19:20:04  <mmalecki>mjr_: the ones with 'what()'?
19:20:10  <mjr_>When we were doing HTTPS in node, we hit it all the time. It's why we had to back away from 0.8.
19:20:23  <piscisaureus>mjr_: hmm, that's odd
19:20:35  <mmalecki>now that I think about it, it sounds likely
19:20:38  <piscisaureus>mjr_: if the v8 heap limit kicks in it shouldn't throw
19:20:42  <piscisaureus>mjr_: v8 never throws
19:20:54  <mjr_>Yeah, it is very odd. Those stacks where operator new was failing from bad alloc, it really was the allocator saying you can't have any more memory.
19:21:05  <mjr_>Joyent figured out that sometimes V8 is limiting the overall process heap or something.
19:21:08  <indutny>piscisaureus: fragmentation
19:21:13  <indutny>huh
19:21:14  <indutny>overall heap
19:21:17  <indutny>how is that possible
19:21:25  <mjr_>V8 didn't throw, it was operator new. from node trying to get more memory for a Buffer.
19:21:39  <piscisaureus>mjr_: yes, but v8 doesn't implement or alter that operator
19:21:43  <mmalecki>mjr_: was that causing a core dump for you?
19:22:25  <mjr_>piscisaureus: V8 didn't throw, but Joyent engineers told me that V8 sometimes limits the process heap, so node runs out of memory prematurely.
19:22:39  * `3rdEdenquit (Remote host closed the connection)
19:22:42  <piscisaureus>mjr_: it would be nice if those engineers could tell me how v8 did that
19:22:52  <piscisaureus>mjr_: like, what syscalls they made
19:23:07  <mjr_>Well, I'll bug them again. I had forgotten about it because the problem went away when we stopped doing https in node.
19:23:19  <piscisaureus>yeah, too bad
19:23:21  <piscisaureus>:-)
19:24:14  <indutny>piscisaureus: I wonder how is that possible
19:24:22  <indutny>piscisaureus: may be v8 is allocating too much memory with mmap
19:24:32  * brsonquit (Ping timeout: 248 seconds)
19:24:37  <indutny>piscisaureus: and RSS stays low because it's not yet used
19:24:43  <indutny>piscisaureus: but there're no way to get more
19:24:51  <piscisaureus>indutny: that could be it - but then we would see it on linux too
19:25:03  <piscisaureus>indutny: also, you'd see a massive vmem usage
19:25:11  <piscisaureus>er, vmem size :-)
19:25:21  <mjr_>Could be. I never look at VSZ.
19:25:51  <mjr_>I sent a reminder email. Hopefully it'll stir up a response.
19:27:01  <indutny>I've an idea
19:27:08  <indutny>what if it gets incorrect page size
19:27:18  <indutny>and rounds up mmap'ed regions size to it
19:27:28  <indutny>incorrect == too big
19:28:57  <indutny>but this can't be true
19:32:19  <mjr_>I know that sometimes we have processes with very large heaps, much larger than 450MB.
19:32:38  <mjr_>But there is some case where 450 is a hard limit, and I'm not sure what that is.
19:37:13  <indutny>odd
19:37:22  <mjr_>Anyway mmalecki, be on the lookout for that bad_alloc thing.
19:38:09  <mjr_>Here are the stacks we took, in case they help: https://gist.github.com/3539304
19:39:10  <mjr_>I will now stop agitating about problems which I am not currently battling.
19:41:39  <indutny>mjr_: don't stop
19:41:40  <indutny>it's good
19:42:03  <mmalecki>mjr_: these are useful, thanks
19:42:19  <mmalecki>mjr_: also, looks like what's happening to our load balancers sometimes
19:42:33  <mjr_>mmalecki: I figured it would happen to your lbs.
19:42:50  <mjr_>Especially if you are terminating HTTPS there.
19:42:54  <mmalecki>yeah, we are
19:43:22  <mmalecki>I haven't seen any crash after applying indutny's patches
19:43:38  <mmalecki>we're running https://github.com/mmalecki/node/commit/cf80eb29acbf842f6874ea8f07e0eea6b9ebbdee on them
19:44:18  <mjr_>We found that those patches did reduce the rate of crashes, but that gist has a stack from one that crashed with it.
19:48:54  * mikealquit (Quit: Leaving.)
19:59:52  <indutny>mmalecki: can you reproduce those failures?
20:00:14  <mjr_>Got email from Bryan: "Yeah, top priority for me to get this fixed in 0.8. Should be able to get that pushed today…"
20:00:17  <mjr_>So that sounds nice
20:00:23  <indutny>oh cool
20:00:27  <mmalecki>indutny: not really, no
20:00:31  <indutny>ok
20:00:38  <indutny>I wonder if changing this line to zero https://github.com/v8/v8/blob/master/src/platform-solaris.cc#L335
20:00:39  <indutny>would help
20:00:48  <indutny>it shouldn't, but I just wonder
20:04:26  <piscisaureus>indutny: well, it wouldn't surprise me
20:04:30  <piscisaureus>indutny: heh
20:06:39  <indutny>bnoordhuis: https://chromiumcodereview.appspot.com/9233002
20:06:40  <indutny>piscisaureus: ^
20:07:07  <indutny>bnoordhuis: was it working fine?
20:07:58  <indutny>I don't think that v8 team is often testing VM on solaris
20:08:14  <piscisaureus>I think they do that exactly never :-)
20:08:27  <indutny>haha
20:08:43  <piscisaureus>ok, so openssl 1.0.1c doesn't pass all tests out of the box
20:08:49  <piscisaureus>it's not my fault
20:09:10  <tjfontaine>ya, TooTallNate mentioned that before
20:10:32  <piscisaureus>that empty_OPENSSL_cpuid_setup.patch from the chromium guys is rather questionable
20:10:40  <piscisaureus>I think they just couldn't get the thing to build
20:12:17  * loladirojoined
20:22:01  * mikealjoined
20:22:41  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:32:42  * TooTallNatejoined
20:36:04  * dshaw_joined
20:52:58  * mmaleckiquit (Quit: Lost terminal)
20:53:37  * mmaleckijoined
20:54:54  <piscisaureus>bnoordhuis: I removed your comment about ML from the issue tracker - it's too public for this stuff
20:55:39  <piscisaureus>and \o openssl passes all tests again
20:55:50  * AutowiredConstruquit (Quit: staticif)
21:01:47  <bentkus>ML?
21:02:45  <TooTallNate>piscisaureus: what needed changing for openssl?
21:02:57  <piscisaureus>TooTallNate: just some wrong defines
21:03:09  <TooTallNate>nice
21:03:16  <piscisaureus>TooTallNate: google landed a patch that unconditionally disables "openssl ts"
21:03:29  <piscisaureus>which makes the tests fail
21:03:51  <piscisaureus>TooTallNate: I am almost done with upgrading to 1.0.1c, you should take a look after that
21:04:03  <TooTallNate>piscisaureus: ya definitely
21:04:20  <piscisaureus>TooTallNate: btw - these timestamp commands are still disabled on android
21:04:27  <piscisaureus>so maybe well have to fix the tests to skip them
21:10:46  * loladiroquit (Quit: loladiro)
21:15:42  * brsonjoined
21:22:04  * brsonquit (Ping timeout: 246 seconds)
22:00:43  * rendarquit
22:01:45  * paddybyersquit (Quit: paddybyers)
22:02:27  * hzquit
22:02:44  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
22:05:06  * TooTallNatequit (Ping timeout: 240 seconds)
22:05:36  * c4miloquit (Remote host closed the connection)
22:06:11  * TooTallNatejoined
22:06:50  * c4milojoined
22:11:20  * c4miloquit (Ping timeout: 260 seconds)
22:12:13  * brsonjoined
22:17:17  * mmaleckiquit (Ping timeout: 264 seconds)
22:19:00  * pooyajoined
22:22:02  * paddybyersjoined
22:27:44  <bnoordhuis>back
22:44:28  * TheJHquit (Ping timeout: 260 seconds)
22:55:27  <CIA-129>node: Bert Belder openssl-1.0.1c-wip * r09a5bae / (11 files in 2 dirs): openssl: remove obsolete patch files (+13 more commits...) - http://git.io/nCfRAA
22:55:54  * c4milojoined
22:56:34  <piscisaureus_>bnoordhuis: you'll probably want to take a close look -> https://github.com/joyent/node/compare/openssl-1.0.1c-wip
22:57:16  <bnoordhuis>piscisaureus: will do
22:58:10  <piscisaureus_>bnoordhuis: there are some patches that we used to float (because chromium/android did), but that make not much sense
22:58:13  <piscisaureus_>I mean, JSSE ?
22:59:14  <bnoordhuis>as in, the java secure socket extension? that was in there?
22:59:20  <piscisaureus_>yes
22:59:34  <bnoordhuis>i think we can do without that :)
22:59:35  <piscisaureus_>it's has been ever since where statically linking openssl
23:09:12  <bnoordhuis>isaacs: did something go wrong publishing the blog? it seems to be missing a lot of the 0.8.x blog posts
23:09:27  <isaacs>bnoordhuis: that's by design
23:09:51  <bnoordhuis>isaacs: um, okay. what's the design?
23:09:56  <isaacs>bnoordhuis: in the codes :)
23:10:03  <isaacs>bnoordhuis: and in the irc logs of discussing it wiht piscisaureus_
23:10:07  <isaacs>bnoordhuis: http://blog.nodejs.org/release-0.8/ has them all
23:10:32  <isaacs>bnoordhuis: or you can go to http://nodejs.org/changelog.html to see everything
23:10:44  <bnoordhuis>i know that last one :)
23:10:53  <bnoordhuis>but this page -> http://blog.nodejs.org/release-0.8/
23:11:04  <bnoordhuis>only has 0.8.9, 0.9.1 and 0.6.21
23:11:06  <bnoordhuis>and 0.8.0 for some reason
23:11:20  <isaacs>http://blog.nodejs.org/release-0.8/ has 0.8.8 and 0.8.7
23:11:39  <isaacs>and all the others
23:11:51  <isaacs>http://blog.nodejs.org/release is only the tips
23:12:01  <bnoordhuis>ah
23:12:04  <bnoordhuis>confusing
23:12:49  <piscisaureus_>hmm
23:12:51  <piscisaureus_>openssl\crypto\ec\ecp_nistp521.c(46): fatal error C1189: #error : "Need GCC 3.1 or later to define type uint128_t" [D:\node4\deps\openssl\openssl.vcxproj]
23:18:39  <isaacs>bnoordhuis: people care about the "New stable version" post, and the most recent post for a branch.
23:18:49  <isaacs>bnoordhuis: and otherwise, the blog is nothing but release announcements
23:18:56  <isaacs>since we very rarely write anything else
23:21:26  <piscisaureus_>bnoordhuis: are gcc versions below 3.1 something I should care about?
23:21:50  <bnoordhuis>piscisaureus: no. 3.1 is very, very ancient
23:21:57  <piscisaureus_>ok
23:22:10  <piscisaureus_>so they added some elliptic curve stuff that requires uint128_t
23:22:19  <piscisaureus_>so it's probably fine if I just disable that on windows?
23:22:24  <bnoordhuis>i guess so
23:22:27  <piscisaureus_>and assume unix can do it
23:22:29  <piscisaureus_>ok
23:22:36  <bnoordhuis>i didn't even know gcc had a 128 bits type
23:23:36  <piscisaureus_>I could probably port it to msvc, but I don't care enough
23:28:06  <CIA-129>node: Bert Belder openssl-1.0.1c-wip * r9ac078c / (11 files in 2 dirs): openssl: remove obsolete patch files - http://git.io/p3JLXQ
23:28:08  <CIA-129>node: Bert Belder openssl-1.0.1c-wip * r74468dc / (5 files in 3 dirs): openssl: update the GYP build to work with openssl 1.0.1c - http://git.io/cmM-zw
23:35:21  * paddybyersquit (Quit: paddybyers)
23:50:06  <CIA-129>libuv: Ben Noordhuis v0.8 * rb5028c5 / src/unix/process.c : unix: code cleanup, rename variable - http://git.io/556L0Q
23:50:07  <CIA-129>libuv: Ben Noordhuis v0.8 * r1988f5e / src/unix/process.c : unix: put child process stdio fds in blocking mode - http://git.io/h877dQ