00:00:13  <piscisaureus_>how super annoying
00:03:43  * mikealjoined
00:06:28  <piscisaureus_>there is also no way to interrupt select() with an apc :-(
00:28:31  <bnoordhuis>piscisaureus_: write to a pipe or socketpair from another thread? or is that simplistic thinking of me?
00:29:04  <piscisaureus_>bnoordhuis: well, creating a coupling could work if we controlled the read() / write() paths
00:29:44  <piscisaureus_>bnoordhuis: but the the idea is that libuv services only readyness notifications, and the poll user (e.g. c-ares) calls send/read/whatever itself
00:30:03  <piscisaureus_>bnoordhuis: and since the windows api has no dup2 we cannot pretend :-)
00:30:57  <piscisaureus_>bnoordhuis: the extra complication is also that I cannot just put all the sockets in one big bucket and call select -
00:31:04  <bnoordhuis>piscisaureus_: why not?
00:31:13  <piscisaureus_>you have to sort them by type or otherwise select() will throw up ...
00:31:59  <piscisaureus_>or, to quote big M
00:32:01  <piscisaureus_>The sockets contained within the fd_set structures must be associated with a single service provider. For the purpose of this restriction, sockets are considered to be from the same service provider if the WSAPROTOCOL_INFO structures describing their protocols have the same providerId value.
00:32:50  <bnoordhuis>sounds complicated
00:32:56  <piscisaureus_>umm yes
00:33:07  <bnoordhuis>programming is hard
00:33:10  <bnoordhuis>let's go shopping
00:33:21  <piscisaureus_>let's do garbage collection
00:34:05  <bnoordhuis>i've been thinking lately how i would go about writing a self-hosted lisp jit vm
00:34:19  <bnoordhuis>gc is part of that, of course
00:34:49  <piscisaureus_>I was thinking about writing an OS in cobol
00:35:04  <bnoordhuis>it's certainly a challenge
00:35:30  <bnoordhuis>have you heard about the hip new web framework? cobol on cogs?
00:35:45  <bnoordhuis>all the cool kids are using it
00:36:40  <piscisaureus_>I like the HOME.HTM
00:37:37  <bnoordhuis>it's awesome, isn't it?
00:37:40  <piscisaureus_>and they picked the right hercules monitor green
00:38:25  <piscisaureus_>I'm about to *(_far 0xb800) = 'h'
00:38:49  <piscisaureus_>er, *((_far *) 0xb800) = 'h'
00:38:52  <bnoordhuis>fancy
00:39:05  <bnoordhuis>i only had 0xb000 to play with :/
00:39:05  <piscisaureus_>those where times, man
00:39:12  <piscisaureus_>writing straight to the framebuffer
00:39:17  <piscisaureus_>well, you had a cga probably
00:39:46  <bnoordhuis>yeah, probably - that's a long time ago
00:39:47  <piscisaureus_>0xb000 never worked for me
00:40:04  <bnoordhuis>0xb000 was when you had a b/w monitor
00:40:18  <piscisaureus_>ah, right
00:40:22  <piscisaureus_>it was the other way around
00:40:31  <piscisaureus_>I had to use 0xb000 too
00:43:17  <piscisaureus_>dat waren nog eens tijden
00:43:28  <piscisaureus_>toen de lucht nog schoon en seks nog vies was
00:46:57  <piscisaureus_>bnoordhuis: do you think it is bad if I just create one thread per uv_poll_t?
00:47:27  * ericktquit (Quit: erickt)
00:47:34  * orlandovftwquit (Ping timeout: 250 seconds)
00:47:38  <piscisaureus_>bnoordhuis: because I am too lazy now to do something intricate
00:47:43  <bnoordhuis>piscisaureus_: i don't know. how many will there generally be?
00:47:59  <piscisaureus_>bnoordhuis: I don't know. Not too many hopefully.
00:48:18  * isaacsquit (Remote host closed the connection)
00:48:42  <bnoordhuis>talking about gc... http://en.wikipedia.org/wiki/Intel_iAPX_432 <- hardware-assisted gc
00:48:49  <bnoordhuis>those were the days
00:50:53  <piscisaureus_>bnoordhuis: that would be fun
00:51:19  <piscisaureus_>we should use a 65-bit architecture
00:51:25  <piscisaureus_>where every pointer is always tagged
00:51:36  <piscisaureus_>then you can pull off this stuff
00:51:49  <bnoordhuis>i think that's what the 432 did
00:52:06  <piscisaureus_>You can still leak memory though
00:52:12  <piscisaureus_>oh wait
00:52:13  <piscisaureus_>not really
00:52:14  <piscisaureus_>heh
00:52:22  <piscisaureus_>but you have to keep a table with roots somewhere
00:52:47  <piscisaureus_>I also wonder how that works with virtual memory
00:55:16  * ericktjoined
00:59:48  * ericktquit (Client Quit)
01:10:43  * abraxasjoined
01:11:41  * abraxasquit (Read error: No route to host)
01:12:06  * abraxasjoined
01:12:21  <piscisaureus_>alright
01:12:23  <piscisaureus_>uv_poll sucks
01:12:29  <piscisaureus_>I hate windows
01:12:33  <piscisaureus_>can I do unix now?
01:13:19  * abraxasquit (Read error: No route to host)
01:15:04  * abraxasjoined
01:19:50  * abraxasquit (Ping timeout: 248 seconds)
01:22:50  * abraxasjoined
01:24:17  <piscisaureus_>I am goingk
01:24:18  <piscisaureus_>later
01:24:26  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:26:37  <benvie>wow
01:26:42  <benvie>the nodewebkit dude
01:26:49  <benvie>forked libuv and node
01:26:55  <benvie>I wonder what shenanigans are afoot
01:27:12  <benvie>he's providing soem kind of binraries
01:28:42  <benvie>ha he integrated them into the chromium build process
01:29:16  <benvie>https://github.com/rogerwang/libuv/commit/60a610b86c72a0be9d0704cb069ca597cef0fe60
01:29:17  * dapquit (Quit: Leaving.)
01:30:14  * dshaw_1joined
01:31:26  * dshaw_quit (Ping timeout: 244 seconds)
01:38:37  * brsonquit (Ping timeout: 245 seconds)
02:08:04  * bnoordhuisquit (Ping timeout: 276 seconds)
02:19:42  * mikealquit (Quit: Leaving.)
02:20:05  * mikealjoined
02:29:22  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
02:36:43  * mikealquit (Quit: Leaving.)
02:41:56  * dylukesquit (Quit: Pipes are broken. Sending packets via Fedex.)
02:47:07  <benvie>https://github.com/rogerwang/chromium/commit/f76430020da1d621fe8b02463a490d5b78af5037 chromium's message pump running on libuv
02:50:18  * mikealjoined
03:00:39  * mikealquit (Quit: Leaving.)
03:23:27  * mikealjoined
03:25:11  * dylukesjoined
03:56:39  * mikealquit (Quit: Leaving.)
04:04:08  * mikealjoined
04:09:19  * perezdjoined
04:15:11  * ericktjoined
04:24:54  * dylukesquit (Quit: Pipes are broken. Sending packets via Fedex.)
04:27:41  * mikealquit (Quit: Leaving.)
04:28:31  * seebeespart
04:30:06  * avalanche123joined
04:30:43  * mikealjoined
04:30:47  * travis-cijoined
04:30:47  <travis-ci>[travis-ci] shama/node#2 (patch-typo - f290120 : Kyle Robinson Young): The build failed.
04:30:47  <travis-ci>[travis-ci] Change view : https://github.com/shama/node/compare/24b92ce...f290120
04:30:47  <travis-ci>[travis-ci] Build details : http://travis-ci.org/shama/node/builds/1134576
04:30:47  * travis-cipart
04:34:43  * avalanche123quit (Ping timeout: 260 seconds)
04:53:19  * mikealquit (Quit: Leaving.)
05:09:18  * isaacsjoined
05:18:56  * mikealjoined
05:23:09  * ljacksonquit (Ping timeout: 272 seconds)
05:23:45  * isaacsquit (Remote host closed the connection)
05:27:21  * dshaw_1quit (Quit: Leaving.)
05:34:42  * mmalecki[away]changed nick to mmalecki
05:35:25  * ljacksonjoined
05:41:43  * paddybyersjoined
06:03:10  * orlandovftwjoined
06:07:14  * perezdquit (Quit: perezd)
06:45:07  * stephankquit (Quit: *Poof!*)
06:48:50  * travis-cijoined
06:48:50  <travis-ci>[travis-ci] shama/node#3 (doc-string-decoder - 1b0afce : Kyle Robinson Young): The build failed.
06:48:50  <travis-ci>[travis-ci] Change view : https://github.com/shama/node/commit/1b0afce
06:48:50  <travis-ci>[travis-ci] Build details : http://travis-ci.org/shama/node/builds/1134920
06:48:50  * travis-cipart
06:53:43  * travis-cijoined
06:53:43  <travis-ci>[travis-ci] shama/node#4 (doc-string-decoder - f2bb116 : Kyle Robinson Young): The build is still failing.
06:53:43  <travis-ci>[travis-ci] Change view : https://github.com/shama/node/compare/1b0afce...f2bb116
06:53:43  <travis-ci>[travis-ci] Build details : http://travis-ci.org/shama/node/builds/1134927
06:53:43  * travis-cipart
06:53:47  * rendarjoined
07:32:42  * ericktquit (Quit: erickt)
07:38:11  * mmaleckichanged nick to mmalecki[beer]
07:42:00  * hij1nxjoined
08:09:44  * orlandovftwquit (Ping timeout: 260 seconds)
08:10:46  * hij1nxquit (Quit: hij1nx)
08:33:21  * theCole_joined
08:34:04  * AvianFluquit (Ping timeout: 244 seconds)
08:35:23  * AvianFlujoined
09:50:22  * theCole_quit (Quit: theCole_)
11:12:10  * abraxasquit (Remote host closed the connection)
11:12:41  * abraxasjoined
11:17:11  * abraxasquit (Ping timeout: 252 seconds)
13:03:56  * bnoordhuisjoined
13:09:44  * avalanche123joined
13:10:34  * mmalecki[beer]changed nick to mmalecki
14:10:45  * isaacsjoined
14:17:33  <CIA-155>node: Brian White v0.6 * r642945c / doc/api/net.markdown : docs: Remove duplicate socket.write() description - http://git.io/exUADA
14:19:21  <CIA-155>node: Kyle Robinson Young master * rd91ef15 / doc/api/string_decoder.markdown : doc: add string_decoder doc - http://git.io/KSfsmw
14:19:37  <isaacs>good morning
14:44:02  <CIA-155>node: isaacs master * r77c1cc0 / doc/api/cluster.markdown : doc: typo in cluster documentation - http://git.io/T6Wc4w
14:47:24  <CIA-155>node: isaacs v0.6 * r27dfb1d / doc/api/child_process.markdown : doc: typo in child_process documentation - http://git.io/LKFXGA
15:11:58  * ericktjoined
15:17:44  <CIA-155>libuv: isaacs reviewme * rf9fcaf5 / src/unix/error.c : Map ENOMEM to UV_ENOMEM - http://git.io/mts2lg
15:18:39  <isaacs>bnoordhuis: review? ^
15:19:27  * travis-cijoined
15:19:27  <travis-ci>[travis-ci] joyent/libuv#212 (reviewme - f9fcaf5 : isaacs): The build is still failing.
15:19:27  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/commit/f9fcaf5
15:19:27  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1137888
15:19:27  * travis-cipart
15:24:10  * dapjoined
15:35:14  * pfox___joined
15:41:47  * hij1nxjoined
15:47:08  * perezdjoined
15:51:49  * TooTallNatejoined
15:52:40  * AndreasMadsenjoined
15:53:25  <bnoordhuis>isaacs: lgtm. where did you get ENOMEM?
15:53:36  <bnoordhuis>where/when
15:55:09  <isaacs>bnoordhuis: a joyent dude was getting this spawning lots of child procs for a thing
15:55:13  * avalanche123quit (Quit: Computer has gone to sleep.)
15:55:15  <isaacs>ran out of swap
15:55:39  <isaacs>looks like we already map it for Windows, but not unix
15:57:03  <CIA-155>libuv: isaacs v0.6 * rf9fcaf5 / src/unix/error.c : Map ENOMEM to UV_ENOMEM - http://git.io/mts2lg
16:02:42  * travis-cijoined
16:02:42  <travis-ci>[travis-ci] joyent/libuv#213 (v0.6 - f9fcaf5 : isaacs): The build is still failing.
16:02:42  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/d68b3d9...f9fcaf5
16:02:42  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1138213
16:02:42  * travis-cipart
16:24:06  * orlandovftwjoined
16:24:17  * orlandovftwquit (Client Quit)
16:24:40  * orlandovftwjoined
16:26:37  * pfox___quit (Ping timeout: 260 seconds)
16:40:27  * pfox___joined
16:41:26  * travis-cijoined
16:41:26  <travis-ci>[travis-ci] shama/node#5 (patch-typo - bee0646 : Kyle Robinson Young): The build is still failing.
16:41:26  <travis-ci>[travis-ci] Change view : https://github.com/shama/node/compare/f290120...bee0646
16:41:26  <travis-ci>[travis-ci] Build details : http://travis-ci.org/shama/node/builds/1138392
16:41:26  * travis-cipart
16:44:02  <perezd>im finding that exceptions aren't acting properly in my c++ extension, if I throw an exception in my callback..
16:44:08  <perezd>is there special handling I need to do?
16:51:06  <perezd>basically it appears to halt the loop, but the loop is not aware of why it halted: ie the exception is never caught by anything
17:01:38  * stephankjoined
17:09:42  <perezd>any ideas? :)
17:15:41  * travis-cijoined
17:15:41  <travis-ci>[travis-ci] shama/node#6 (readline-unused - 4aedef9 : Kyle Robinson Young): The build failed.
17:15:41  <travis-ci>[travis-ci] Change view : https://github.com/shama/node/commit/4aedef9
17:15:41  <travis-ci>[travis-ci] Build details : http://travis-ci.org/shama/node/builds/1138599
17:15:41  * travis-cipart
17:21:44  <isaacs>github really ought to require an email address.
17:28:22  <perezd>isaacs: any uv advice?
17:29:50  <isaacs>perezd: sorry, no idea there
17:30:01  <perezd>lol okay thanks :)
17:32:01  * mikealquit (Quit: Leaving.)
17:32:25  <TooTallNate>perezd: are you using TryCatch?
17:32:30  <perezd>what is that
17:32:35  <perezd>(probably no)
17:33:11  <TooTallNate>perezd: https://github.com/rbranson/node-ffi/blob/master/src/callback_info.cc#L28-34
17:33:53  <perezd>ah ha
17:33:53  <TooTallNate>perezd: FatalException will invoke "uncaughtException" when there's listeners or crash the process
17:34:11  <perezd>where do I learn this?
17:34:16  <perezd>I feel like there are serious gaps
17:34:17  * mikealjoined
17:34:17  <perezd>in my knowledge
17:34:50  <TooTallNate>perezd: i only know that one because I've forgotten TryCatch before so I recognize the symptom
17:36:30  <perezd>so theres not really a way to learn
17:36:36  <perezd>is this a uv thing? a v8 thing?
17:39:07  <creationix>perezd, no, it's quite independent to v8
17:39:39  <creationix>(sorry, I misread the question)
17:40:19  <creationix>FatalException routing to uncaughtException is a v9 to node thing
17:40:24  <creationix>*v8
17:40:43  <creationix>libuv knows nothing at all about js exceptions
17:40:46  <perezd>k
17:40:59  * igorziquit (Ping timeout: 245 seconds)
17:44:19  * orlandovftwquit (Ping timeout: 260 seconds)
17:46:33  * TooTallNatequit (Quit: Leaving...)
17:47:04  * TooTallNatejoined
17:49:27  <perezd>this is perfect, thank you!
17:52:06  <TooTallNate>perezd: np :)
17:55:42  * brsonjoined
17:56:01  * mmaleckichanged nick to mmalecki[away]
18:04:34  * ericktquit (Quit: erickt)
18:12:56  <isaacs>perezd: oh, i'm sorry, i totally misread your question the first time!
18:13:10  <perezd>lol its okay
18:13:11  <perezd>I fixed it
18:13:18  <perezd>works now
18:13:20  <isaacs>perezd: you can use the node::MakeCallback if you want.
18:13:32  <isaacs>perezd: then you'll be exceptionally future-proof and auto-domainified
18:16:59  * `3rdEdenjoined
18:35:29  * orlandovftwjoined
18:36:31  * mikealpart
18:36:50  * mikealjoined
19:04:45  * avalanche123joined
19:19:46  * avalanche123quit (Quit: Computer has gone to sleep.)
19:27:20  * avalanche123joined
19:37:06  <mjr_>bnoordhuis: fun pack of core files for you: http://prod-2190.voxer.com:3000/
19:37:30  <mjr_>new ones will just show up there as they happen
19:38:18  <bnoordhuis>mjr_: awesome. is that url permanent?
19:38:28  <mjr_>it'll be there for a few days anyway
19:39:16  <bnoordhuis>cool. i can probably look at it tomorrow
19:39:23  <mjr_>Looks like even one of our dev systems hit the TLS bug, that's the "omega-nr1" thing in there.
19:39:31  <mjr_>So it doesn't need production load necessarily.
19:41:16  * theCole_joined
19:41:34  <mjr_>Also, this https://gist.github.com/2431246 seems to have fixed https://github.com/joyent/node/issues/2997 for us.
19:41:49  <mjr_>At least it's made it a full day without crashing, so that's encouraging.
19:42:11  <bnoordhuis>good
19:43:04  <bnoordhuis>okay, signing off for tonight. sleep tight all
19:43:27  * theCole_quit (Client Quit)
19:47:38  * bnoordhuisquit (Ping timeout: 260 seconds)
19:48:08  * mikealquit (Quit: Leaving.)
20:00:19  * `3rdEdenquit (Quit: Leaving...)
20:03:14  * shamajoined
20:17:02  * ericktjoined
20:38:01  <mjr_>Here is another exciting TLS crasher: https://gist.github.com/2431737
20:51:30  * hij1nxquit (Quit: hij1nx)
20:51:36  * AndreasMadsenquit (Remote host closed the connection)
20:54:47  * orlandovftwquit (Ping timeout: 272 seconds)
20:56:49  * orlandovftwjoined
21:05:27  * orlandovftwquit (Ping timeout: 265 seconds)
21:06:09  <perezd>new interesting question
21:06:14  <perezd>so throw Error works in my callback
21:06:19  <perezd>but throw "some string" doesn't properly print
21:07:06  * orlandovftwjoined
21:10:14  * paddybyersquit (Quit: paddybyers)
21:11:19  * paddybyersjoined
21:28:35  * shamaquit (Quit: shama)
21:39:23  * Sh4rKjoined
21:39:37  <Sh4rK>hi
21:41:45  <Sh4rK>is there a way, with libuv, to only ask for the available events, and implementing the callback handling mechanism myself?
21:44:26  * dap1joined
21:45:05  * dapquit (Ping timeout: 244 seconds)
21:51:24  <TooTallNate>perezd: http://www.devthought.com/2011/12/22/a-string-is-not-an-error/
21:52:20  <perezd>yeah, i use it more as an assert
21:52:21  <perezd>:)
21:52:24  <perezd>not for dev
21:52:46  <TooTallNate>i don't get it
21:57:25  <dap1>Assertion failed: 0 && "EAGAIN on uv__accept(pipefd)", file src/unix/pipe.c, line 258
21:57:39  <dap1>this is on 0.6.12, but looks like the same code is present in master:
21:57:40  <dap1>https://github.com/joyent/node/blob/master/deps/uv/src/unix/pipe.c#L258
21:58:06  <dap1>again can certainly return EWOULDBLOCK (which == EAGAIN), according to the SmartOS man page, and the other main caller handles it:
21:58:28  <dap1>https://github.com/joyent/node/blob/master/deps/uv/src/unix/stream.c#L179
22:00:26  <dap1>bnoordhuis: ^ any thoughts?
22:00:38  * mikealjoined
22:00:39  <dap1>oops, he's not here.
22:00:46  <dap1>I'll just file a libuv issue.
22:03:59  <perezd>TooTallNate: I mean, I basically only use that for debugging, not APIs.
22:04:35  <TooTallNate>perezd: even still, you're not going to get any stack trace info, etc. so just use Errors
22:04:49  <perezd>usually thats okay
22:04:52  <perezd>for when I use it
22:05:11  * avalanche123quit (Quit: Computer has gone to sleep.)
22:06:42  <TooTallNate>perezd: well *shrug*, maybe TryCatch doesn't work with strings
22:06:53  <perezd>seems to not work, but node itself does
22:06:57  <perezd>that is whats weird to me
22:09:04  <TooTallNate>what does "doesn't print properly" mean anyway?
22:21:49  * coderaritychanged nick to coderarity-phone
22:21:57  * Sh4rKquit (Quit: Leaving)
22:22:03  * coderarity-phonechanged nick to CodeRarity
22:34:44  * rendarquit
22:40:32  * mikealquit (Quit: Leaving.)
22:44:35  * mikealjoined
22:48:53  * hij1nxjoined
22:51:07  * hij1nxquit (Client Quit)
23:00:37  * TooTallNatequit (Quit: Leaving...)
23:02:55  * txdvquit (*.net *.split)
23:02:59  * txdvjoined
23:06:27  * orlandovftwquit (*.net *.split)
23:06:28  * tjfontainequit (*.net *.split)
23:06:28  * demarchiquit (*.net *.split)
23:06:28  * Raynosquit (*.net *.split)
23:08:31  * tjfontainejoined
23:08:31  * igorzijoined
23:08:31  * TooTallNatejoined
23:08:31  * tjfontainechanged nick to Guest57630
23:10:38  * mrb_bkquit (Ping timeout: 260 seconds)
23:11:48  * orlandovftwjoined
23:11:49  * demarchijoined
23:11:49  * Raynosjoined
23:12:12  * igorziquit (Changing host)
23:12:12  * igorzijoined
23:12:40  * mrb_bkjoined
23:18:55  * paddybyersquit (Quit: paddybyers)
23:19:46  * mikealquit (Quit: Leaving.)
23:52:15  * dap1quit (Quit: Leaving.)
23:59:19  <perezd>TooTallNate: It just blank
23:59:22  <perezd>instead of the value of the string