00:00:40  <isaacs>ugh.
00:00:51  <isaacs>um... i don't know if there is a 64-bit gdb in pkgin..
00:01:09  <bnoordhuis>i'm building one now
00:01:48  * mcavagequit (Remote host closed the connection)
00:02:45  * mikealjoined
00:03:36  <bnoordhuis>Starting program: /home/isaacs/node/out/Release/node test/simple/test-os.js
00:03:36  <bnoordhuis>procfs:4200 -- process not stopped.
00:03:36  <bnoordhuis>procfs: ...giving up...
00:03:37  <bnoordhuis>grr
00:03:59  <isaacs>dap: ping
00:04:06  <dap>Yo.
00:04:42  <isaacs>dap: do you have any insight into the test failure mentioned above?
00:04:50  <isaacs>https://gist.github.com/3364751
00:05:19  <dap>None offhand. I have no idea what part of the universe this is, but I'll take a look.
00:05:38  <isaacs>dap: i think you have access to 165.225.128.184
00:05:56  <isaacs>bnoordhuis: i'm testing on 0.8.6. if it's the same there, i say we go forward with the release.
00:06:02  <isaacs>and fix for 0.8.8
00:06:08  <bnoordhuis>good idea
00:06:08  <isaacs>bnoordhuis: yay/nay?
00:06:10  <isaacs>k.
00:06:13  <bnoordhuis>so that's a yay :)
00:06:21  <isaacs>if it's a regression, i'd rather wait on it
00:06:33  <isaacs>but no one's really complaining loudly now.
00:06:42  <isaacs>probably because smartos builds x86 by default :)
00:07:32  <dap>isaacs: can you point me to the version of deps/uv/src/unix/sunos.c under test?
00:08:16  <isaacs>dap: https://github.com/joyent/node/blob/v0.8.7-release/deps/uv/src/unix/sunos.c
00:09:16  * xaqquit (Ping timeout: 248 seconds)
00:10:09  <dap>There's nothing obvious. This interface doesn't look to have changed in our platform, and the relevant kstat is there...
00:10:39  <dap>How soon will you know if it's a regression?
00:12:01  <bnoordhuis>dap: it's not, it's because it's a 64 bits build now
00:12:20  <bnoordhuis>in the 32 bits version that field is a KSTAT_DATA_INT32
00:12:33  <dap>What do you mean? We've built 64-bit node before on SmartOS
00:12:45  <bnoordhuis>and run all the tests?
00:12:58  <dap>No, though I suspect you'd hit this by just calling os.cpus()
00:13:14  <dap>My point is, you're not adding 64-bit support for the first time in this release, are you?
00:13:50  <dap>My question is whether 64-bit node on the previous release segfaulted in this test.
00:14:26  <isaacs>dap: well, i don't typically run the tests against 64-bit build
00:14:32  <isaacs>dap: since it defaults to 32
00:14:35  <bnoordhuis>i've never built a 64 bits build of node before
00:14:45  <bnoordhuis>(on sunos that is)
00:14:53  <bnoordhuis>it's a KSTAT_DATA_INT64 btw
00:15:01  <bnoordhuis>easy to fix
00:15:18  <isaacs>oh, wtf...
00:15:22  <isaacs>on 0.8.6 $ file node
00:15:24  <isaacs>node: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, not stripped
00:15:34  <isaacs>that's after DESTCPU=x64 make -j32
00:15:34  <dap>Okay. Then I'll back up: what's the question for me? :)
00:15:59  <dap>isaacs: I thought it was "./configure —dest-cpu=x64"? That did the right thing for me on master the other day.
00:16:16  <bnoordhuis>^ that
00:16:43  <isaacs>oh, right, the DESTCPU env is only for `make binary`
00:17:01  <bnoordhuis>https://gist.github.com/7c33bd855c9248ec0fab <- patch
00:17:56  <bnoordhuis>i guess we could check INT32 || INT64
00:18:30  <isaacs>not a regression
00:18:34  <isaacs>same in every 0.8
00:18:38  <isaacs>i'm moving forward.
00:18:51  <bnoordhuis>and i'm moving to the kitchen for a late night snack
00:18:56  <isaacs>bnoordhuis: :D
00:19:16  * mikealquit (Quit: Leaving.)
00:19:28  <isaacs>dap: thanks, turns out it was a false alarm
00:19:34  <isaacs>just a garden variety bug.
00:19:39  <dap>no prob
00:22:34  * indexzeroquit (Quit: indexzero)
00:26:00  <tjfontaine>and ya when mmalecki reported it earlier he said commenting out os.cpus did fix it for him
00:26:45  <CIA-112>node: isaacs v0.8 * r073c7b4 / src/node_version.h : Now working on 0.8.8 (+5 more commits...) - http://git.io/njZooQ
00:27:20  <isaacs>probably it just showed up now because it's easy to install x64 node on smartos, becasue you justunpack the tarball
00:27:26  <isaacs>before you had to do ./configure flag stuff
00:27:44  <tjfontaine>indeed
00:31:36  * isaacstopic: Liberia. Uzbekistan. Velociraptors. http://piscisaureus.no.de/libuv/latest
00:31:36  * pooyaquit (Quit: pooya)
00:31:39  <TooTallNate>bnoordhuis: patch seems to work
00:31:48  <TooTallNate>os.cpus().length => 24
00:31:51  <TooTallNate>^ holy moly!
00:32:01  * mikealjoined
00:34:16  <isaacs>bnoordhuis: your patch lgtm. (should go in libuv, obviously)
00:34:34  <CIA-112>node: isaacs v0.8 * rc0558ff / doc/pipe.css : website: fix font-size on 'explore' list items - http://git.io/j5hmvA
00:43:21  * perezdquit (Quit: perezd)
00:44:50  * mikealquit (Quit: Leaving.)
00:47:42  * dapquit (Quit: Leaving.)
00:55:58  <bnoordhuis>isaacs: i'll land it tomorrow
00:56:03  <bnoordhuis>off to bed now
01:01:35  * dapjoined
01:01:47  * bnoordhuisquit (Ping timeout: 265 seconds)
01:08:07  <TooTallNate>isaacs: https://github.com/TooTallNate/node/commit/fix%2Femail-footer-links
01:08:22  <TooTallNate>whoops :p
01:10:10  * dshaw_quit (Quit: Leaving.)
01:11:52  * piscisaureus_joined
01:13:16  * piscisaureus_quit (Client Quit)
01:15:54  <CIA-112>node: Nathan Rajlich v0.8 * rf9df96b / tools/email-footer.md : email-footer: update the binary package links to x86/x64 - http://git.io/xgR06Q
01:39:12  * dapquit (Quit: Leaving.)
01:46:16  * TheJHquit (Read error: Operation timed out)
01:46:34  * lohkeypart
01:54:01  <isaacs>TooTallNate: oh, my bad.
01:55:05  <isaacs>TooTallNate: didn't notice that
01:55:28  * abraxasjoined
01:55:31  <TooTallNate>TooTallNate: ya my bad really, i should have got that with the Makefile update
01:59:24  <CIA-112>node: isaacs v0.8 * r226d37b / doc/blog/release/v0.8.7.md : blog: Fix binary links for 0.8.7 post - http://git.io/Kfh-Lg
02:00:53  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:06:57  * brsonquit (Ping timeout: 246 seconds)
02:22:00  * blackorzarquit (Ping timeout: 246 seconds)
02:23:31  * perezdjoined
02:39:54  * blackorzarjoined
02:40:03  * joshthecoderquit (Quit: Leaving...)
02:49:58  * brsonjoined
02:50:10  * brsonquit (Client Quit)
02:50:46  * brsonjoined
02:56:27  * hzquit
03:18:35  * indexzerojoined
03:18:37  * TooTallNatejoined
03:19:21  * Raynosquit (Excess Flood)
03:20:34  * Raynosjoined
03:29:56  * creationixquit (*.net *.split)
03:35:03  * creationixjoined
03:42:03  * joshthecoderjoined
03:51:05  * TooTallNatequit (Quit: Computer has gone to sleep.)
03:53:29  * lohkeyjoined
03:56:14  * indexzeroquit (Quit: indexzero)
04:09:02  * lohkeyquit (Quit: lohkey)
05:28:16  * blackorzarquit (Read error: Connection reset by peer)
05:31:20  * blackorzar_joined
05:35:31  * loladirojoined
05:36:58  * mikealjoined
05:37:02  * mmaleckijoined
05:37:56  * perezdquit (Quit: perezd)
05:42:30  * loladiroquit (Quit: loladiro)
05:47:59  * loladirojoined
05:51:36  * loladiroquit (Client Quit)
06:00:45  * bulatshakirzyanojoined
06:01:09  * brsonquit (Ping timeout: 246 seconds)
06:01:37  * brsonjoined
06:05:47  * brsonquit (Ping timeout: 240 seconds)
06:18:21  * brsonjoined
06:30:11  * mikealquit (Quit: Leaving.)
06:35:47  * mikealjoined
06:38:38  * mikealquit (Client Quit)
06:40:56  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
06:47:13  * blackorzarjoined
06:47:22  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
06:47:50  * bulatshakirzyanojoined
06:49:02  * brsonquit (Quit: leaving)
06:49:45  * blackorzar_quit (Ping timeout: 246 seconds)
07:05:32  * stephankquit (Quit: *Poof!*)
07:11:29  * rendarjoined
07:17:33  * mikealjoined
07:26:29  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
07:43:30  * pooyajoined
07:55:10  * pooyaquit (Quit: pooya)
07:57:32  * ircretaryquit (Ping timeout: 248 seconds)
07:58:59  * mmaleckichanged nick to mmalecki[away]
08:01:51  * bweaverquit (Ping timeout: 246 seconds)
08:02:08  * bweaverjoined
08:02:08  * bweaverquit (Changing host)
08:02:08  * bweaverjoined
08:02:38  * toothrotquit (Ping timeout: 272 seconds)
08:03:17  * toothrjoined
08:08:09  * blackorzarquit (Ping timeout: 246 seconds)
08:33:47  * TheJHjoined
08:42:04  * loladirojoined
08:44:16  * dshaw_joined
09:14:35  * dshaw_quit (Ping timeout: 244 seconds)
09:17:25  * dshaw_joined
10:21:06  * hzjoined
11:18:54  <mitsuhiko>hey dudes
11:19:10  <mitsuhiko>does anyone know if anyone has an secret ports of libuv for xbox 360?
11:27:13  * mmalecki[away]changed nick to mmalecki
11:33:53  * bnoordhuisjoined
11:34:13  <mmalecki>mitsuhiko: doesn't C work on xbox?
11:34:21  <mmalecki>(might be a stupid question)
11:38:51  * stagasjoined
11:39:38  <indutny>bnoordhuis: hey man
11:39:43  <indutny>bnoordhuis: do you have alsa installed?
11:39:45  <bnoordhuis>indutny: ho man
11:39:50  <bnoordhuis>yes
11:40:06  <bnoordhuis>i don't have to make vock calls though :)
11:40:10  <bnoordhuis>*have time
11:40:28  <indutny>hahaa
11:40:30  <indutny>ok
11:40:35  <indutny>it isn't working anyway
11:40:41  <indutny>have you ever used ALSA's API?
11:42:05  <mmalecki>indutny: if I don't get too deep into devops I might be able to help later
11:42:06  <bnoordhuis>unfortunately yes
11:42:11  <mmalecki>my battlestation runs linux
11:42:19  <indutny>bnoordhuis: I've some crappy results
11:42:24  <indutny>at least now
11:42:32  <indutny>it works, but sound is really crappy
11:42:34  <bnoordhuis>that's to be expected - alsa has a crappy api
11:42:46  <indutny>and I'm running it in virtualbox
11:42:47  <bnoordhuis>crappy as in stuttering?
11:43:01  <indutny>sort of
11:43:19  <bnoordhuis>you should probably run it on real hardware
11:43:59  <mmalecki>indutny: sound in virtualbox is crappy
11:44:52  <indutny>well
11:44:57  <indutny>that's why I'm asking
11:45:03  <indutny>I have only two macbooks around me
11:45:18  <indutny>if one of you will have time
11:45:21  <indutny>you can just clone repo
11:45:24  <indutny>run node-gyp build
11:45:28  <indutny>and node examples/echo.js
11:45:35  <indutny>no calls
11:47:55  <indutny>and this is code if you're interested https://github.com/indutny/vock/blob/master/src/audio/platform/linux.cc
11:47:56  <indutny>bnoordhuis: ^
11:48:10  <bnoordhuis>noted
11:48:35  <indutny>thanks
11:48:42  <indutny>bnoordhuis: ok, time to node something :)
11:51:55  * philips_quit (Excess Flood)
11:52:50  * TheJHquit (Ping timeout: 265 seconds)
11:53:42  * loladiroquit (Quit: loladiro)
11:54:01  * philips_joined
12:00:56  <mitsuhiko>mmalecki: yes, it does
12:00:57  <indutny>so that kqueue stuff
12:01:14  <mitsuhiko>mmalecki: but it has a different io api than windows does
12:02:26  <mmalecki>oh well, microsoft, eh
12:02:27  <mitsuhiko>and you can't do arbitrary network things, so areas does not work
12:02:40  <mitsuhiko>everything makes perfectly sense though :)
12:04:41  * loladirojoined
12:11:22  <bnoordhuis>indutny: what about it?
12:12:18  <indutny>nothing
12:12:21  <indutny>just working on it
12:12:30  <indutny>going to select on failed sockets in separate thread
12:12:41  <indutny>by creating shadow sockets for them
12:12:47  <indutny>and kqueueing on them
12:12:58  <indutny>is it too complex?
12:14:46  <indutny>bnoordhuis: ^
12:15:05  <bnoordhuis>"shadow sockets"... sounds spooky
12:15:09  <indutny>well
12:15:25  <indutny>the thing is that I need to break kevent() call somehow
12:15:46  <indutny>and the simpliest way to do it - is to create event that'll terminate this call
12:16:12  <indutny>though I can create just one socket for it
12:16:26  <bnoordhuis>not sure i'm following, are you talking about a uv_async_t?
12:16:41  <indutny>nope
12:16:42  <bnoordhuis>and what constitutes a failed socket?
12:16:47  <indutny>s/socket/fd/
12:16:52  <bnoordhuis>you mean a /dev/tty fd?
12:16:54  <indutny>yes
12:16:57  <bnoordhuis>ah okay
12:17:02  <mmalecki>no education, it's broke and has no money for food
12:17:13  <indutny>mmalecki: wrong window?
12:17:21  <mmalecki>indutny: failed socket
12:17:22  <bnoordhuis>mmalecki was making a joke :)
12:17:26  <indutny>mmalecki: ah
12:17:36  <mmalecki>too early for me to be making those!
12:18:16  <indutny>bnoordhuis: so, shadow fds :D
12:18:23  <indutny>bnoordhuis: does this make sense for you?
12:18:39  <bnoordhuis>i guess
12:18:56  <bnoordhuis>but i don't understand what 'is to create event that'll terminate this call' means
12:19:28  <bnoordhuis>you want to select() on the tty fd in a separate thread?
12:19:39  <indutny>yes
12:19:49  <indutny>my engrish iz wery spooky
12:19:57  <bnoordhuis>and then wake up the main thread when something happens?
12:20:01  <indutny>yes
12:20:06  <bnoordhuis>okay
12:20:18  <bnoordhuis>how are you going to detect if the fd is a tty fd?
12:20:25  <indutny>if EINVAL happens :D
12:20:26  <bnoordhuis>or rather a /dev/tty fd
12:20:47  <indutny>still I have no understanding on which fds it fails
12:20:49  <bnoordhuis>what if there are 10K fds in the interest set?
12:21:03  <bnoordhuis>are you going to iterate over them all?
12:21:16  <indutny>bnoordhuis: huh?
12:21:23  <indutny>bnoordhuis: I'm going to select on them all
12:21:28  <indutny>and yes, then iterate :D
12:21:34  <bnoordhuis>on 10K fds?
12:21:50  <indutny>bnoordhuis: you have better idea?
12:22:13  <bnoordhuis>well....
12:22:14  <indutny>bnoordhuis: poll doesn't work too
12:22:41  <bnoordhuis>i may not have a better idea but i'm still going to point out the flaws in your proposal :)
12:22:51  <bnoordhuis>a) select() on 10K fds is really, really slow
12:23:15  <bnoordhuis>b) it may not even work - FD_SETs usually have a limit on the number of fds they can contain
12:23:36  <indutny>yeah
12:23:50  <bnoordhuis>iow, not using kqueue/kevent is not an option
12:23:54  <indutny>though there're _DARWIN_UNLIMITED_SELECT
12:23:55  <indutny>define
12:24:05  <indutny>well, it's broken
12:24:09  <indutny>how can we use it
12:24:13  <indutny>on those fds
12:24:20  <bnoordhuis>make a note in the doc that /dev fds are not supported
12:24:28  <bnoordhuis>if it's documented, it's not a bug :)
12:24:31  <indutny>I suppose people opening 10k of /dev/ files are really f*cked
12:24:36  <indutny>hahaha
12:24:40  <indutny>but it's needed
12:24:59  <indutny>that's what this bug has raised ;)
12:25:01  <bnoordhuis>where/when/by whom?
12:25:48  <indutny>https://github.com/joyent/node/issues/3862
12:25:56  <indutny>and https://github.com/joyent/node/issues/3072#issuecomment-6286233
12:26:04  <bnoordhuis>i usually apply noordhuis's razor, a variation on occam's
12:26:08  <bnoordhuis>"do i need it myself?"
12:26:16  <indutny>well, it's useful
12:26:24  <indutny>it allows users to start tty
12:26:33  <indutny>even if stdin is not a tty
12:26:39  <indutny>s/start/access/
12:27:52  <bnoordhuis>indutny: let's go over this from the start
12:28:13  <bnoordhuis>what i would suggest is that you add some darwin (and maybe *bsd) specific code to uv_tty_init
12:28:24  <bnoordhuis>that does a fstat on the fd
12:28:40  <bnoordhuis>if it's the kind of fd that won't work with kqueue, spin up a thread and take it from there
12:29:28  <indutny>bnoordhuis: what do you mean by "take it from there"
12:29:34  <indutny>bnoordhuis: select on it in another thread?
12:29:37  <bnoordhuis>indutny: yes
12:29:45  <indutny>bnoordhuis: one thread for each fd?
12:30:08  <bnoordhuis>sure, why not?
12:30:12  <indutny>ok
12:30:13  <indutny>np
12:30:20  <indutny>I'll need to have shadow fds anyway :D
12:30:23  <mmalecki>10k threads?
12:30:28  <indutny>mmalecki: that works
12:30:29  <indutny>why not
12:30:33  <indutny>if most of them are waiting :D
12:30:37  <bnoordhuis>exactly
12:30:46  <bnoordhuis>and if it does turn out to be a performance issue, we'll address it
12:30:48  <bnoordhuis>simple first
12:30:50  <mmalecki>well, overhead of creating them?
12:30:54  <mmalecki>okay
12:31:00  <bnoordhuis>indutny: how are you going to wake up the main thread?
12:31:06  <indutny>bnoordhuis: shadow fd
12:31:06  <indutny>:D
12:31:08  <bnoordhuis>(hint: uv_async_t)
12:31:12  <indutny>bnoordhuis: this is a patch for ev
12:31:28  <bnoordhuis>indutny: i told you we're dropping libev, right?
12:31:37  <indutny>em, I can't remember
12:31:41  <indutny>ok
12:31:43  <bnoordhuis>well, i tell you now
12:31:44  <indutny>patch for uv!
12:31:47  <indutny>:D
12:31:47  <bnoordhuis>indeed :)
12:33:53  * loladiroquit (Quit: loladiro)
12:43:09  <indutny>bnoordhuis: hm... I'll need to have kqueue() instance somewhere inside loop
12:43:19  <indutny>bnoordhuis: will that break ABI compatibility?
12:44:17  <indutny>ah, nvm
12:44:21  <indutny>I can close kqueue() fd
12:46:16  <saghul>hey indutny, did you consider using PortAudio? I'm not a big fan myself, but you'd potentially get cross-platform support quickly.
12:46:36  <CIA-112>libuv: Ben Noordhuis v0.8 * r22ce5a3 / src/unix/sunos.c : sunos: fix uv_cpu_info() on x86_64 - http://git.io/NqmElQ
12:46:44  <mmalecki>bnoordhuis: ++
12:48:22  <indutny>saghul: if you'll contribute it ;)
12:48:29  <indutny>saghul: I'm accepting patches
12:48:30  * travis-cijoined
12:48:30  <travis-ci>[travis-ci] joyent/libuv#566 (v0.8 - 22ce5a3 : Ben Noordhuis): The build is still failing.
12:48:30  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/90a75b0d8485...22ce5a341222
12:48:30  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2141091
12:48:30  * travis-cipart
12:49:18  <saghul>indutny heh :-)
12:51:40  <indutny>saghul: I'm really tired of working with that sound APIs
12:51:46  <indutny>every other is more borked than previous
12:51:59  <saghul>been there...
12:52:00  <indutny>and CoreAudio seems to be working fine
12:53:39  <indutny>bnoordhuis: mind adding uv_thread_cancel API?
12:53:45  <indutny>ah
12:53:46  <indutny>nvm
12:53:51  <bnoordhuis>oh dear
12:53:55  <bnoordhuis>why are you asking that?
12:54:18  <indutny>just asking
12:54:21  <indutny>it's useful sometimes
12:54:26  <indutny>though unsafe
12:54:29  <mmalecki>bnoordhuis: would it be possible to add uv_waitpid or something like that?
12:54:42  <bnoordhuis>indutny: *very* unsafe
12:54:48  <bnoordhuis>mmalecki: why?
12:55:05  <mmalecki>bnoordhuis: for the sake of mad science!
12:55:16  <mmalecki>(also, child.wait() API would be pretty sweet)
12:55:34  <bnoordhuis>i have grave misgivings about sync child process APIs
12:55:39  * theColejoined
12:56:46  <mmalecki>bnoordhuis: let people shoot themselves in the foot :)
12:57:47  * piscisaureus_joined
12:58:33  <piscisaureus_>yo
12:58:41  <mmalecki>oy
13:06:20  * piscisaureus_quit (Ping timeout: 248 seconds)
13:10:51  <indutny>yo
13:21:44  <indutny>bnoordhuis: suppose I've uv_async_t associated to stream
13:22:07  <indutny>bnoordhuis: how would I close it once stream will need to be closed?
13:22:29  <indutny>nvm
13:22:30  <indutny>:D
13:27:21  <mitsuhiko>thread limit per process on os x is 2048 btw
13:28:08  <indutny>bnoordhuis: https://github.com/joyent/libuv/pull/528/files
13:28:09  <indutny>wip
13:28:24  <indutny>going to create some test case for it
13:30:10  <mitsuhiko>sysctl: oid 'kern.num_taskthreads' is read only
13:30:11  <mitsuhiko>:-(
13:33:00  * piscisaureus_joined
13:33:34  <piscisaureus_>bnoordhuis: I just realized that tcp fast open makes for very easy DOS attacks
13:33:57  <piscisaureus_>bnoordhuis: I mean, you can just spoof the sender IP and send an http header in the same packet.
13:36:53  <indutny>bnoordhuis: the patch is good, except it's going nuts on stream close
13:45:45  <indutny>ok. fixed
13:55:36  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
13:58:52  * piscisaureus_joined
14:06:48  <indutny>bnoordhuis: except it doesn't really work :D
14:06:52  <indutny>bnoordhuis: though I've fixed issue
14:06:57  <indutny>err
14:06:58  <indutny>some issues
14:07:02  <bnoordhuis>indutny: oh? what was the issue/issues?
14:07:17  <bnoordhuis>note that i didn't test it on account of me not having a mac
14:07:17  <indutny>bnoordhuis: it doesn't work :D
14:07:25  <bnoordhuis>oh that
14:07:30  <indutny>well, first issue was following
14:07:30  <bnoordhuis>as long as the source looks pretty
14:07:40  <indutny>fd wasn't assigned for watchers
14:07:47  <indutny>and everything failed down there
14:07:54  <indutny>now uv__stream_io isn't called
14:08:03  <indutny>let me refine code first
14:08:20  <bnoordhuis>okay. let me know when it's fixed
14:08:25  <indutny>osx_hack -> kqueue_hack ?
14:08:26  <indutny>haha
14:08:29  <indutny>what's better?
14:08:56  <bnoordhuis>hrm, must_select?
14:09:05  <indutny>force_select
14:09:08  <bnoordhuis>or that
14:09:13  <bnoordhuis>it should describe what it does / means
14:09:14  <indutny>yeah
14:09:40  <indutny>Assign after declaration, put each fd_set on its own line.
14:09:47  <indutny>do you mean FD_ZERO() ?
14:10:11  <indutny>aah
14:10:23  * indutnyok
14:10:25  <bnoordhuis>heh
14:10:36  <bnoordhuis>it's a style issue
14:10:52  <bnoordhuis>declarations go at the top, assignment/initialization comes afterwards
14:11:34  * xaqjoined
14:18:13  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
14:19:25  * TheJHjoined
14:20:20  <bnoordhuis>piscisaureus_: when you post a patch to chromiumcodereview.appspot.com, what base url do you pick? i don't see one specifically for v8
14:20:37  <piscisaureus_>bnoordhuis: let me look it up
14:20:44  <indutny>em...
14:20:54  <piscisaureus_>bnoordhuis: you have to import codereview settings from some url I think
14:21:21  <bnoordhuis>ah hassle
14:21:29  <indutny>bnoordhuis: updated https://github.com/joyent/libuv/pull/528/files
14:21:34  <indutny>non-working
14:21:36  <indutny>but style issues fixed
14:21:57  <piscisaureus_>bnoordhuis: I have this in my .git/config file
14:21:58  <piscisaureus_>[rietveld]
14:21:58  <piscisaureus_> server = codereview.chromium.org
14:21:58  <piscisaureus_> cc = v8-dev@googlegroups.com
14:21:58  <piscisaureus_> viewvc-url = http://code.google.com/p/v8/source/detail?r=
14:22:12  <bnoordhuis>oh, that's for upload.py right?
14:22:23  <bnoordhuis>i can't get that to work with my google apps account though
14:22:43  <piscisaureus_>bnoordhuis: huh. For me it works fine on linux
14:22:55  <piscisaureus_>bnoordhuis: are you using git-cl ?
14:23:06  <bnoordhuis>piscisaureus_: a gmail account or a @example.com apps account?
14:23:18  <piscisaureus_>bnoordhuis: I am using a gmail account
14:23:23  <bnoordhuis>yeah, that works
14:23:34  <piscisaureus_>oh, like that
14:23:54  <bnoordhuis>but it always dies horribly when i use my @bnoordhuis.nl address
14:24:40  <indutny>bnoordhuis: https://github.com/joyent/libuv/pull/528/files#L1R149
14:24:51  <indutny>for some reason uv__io_active() returns false
14:25:35  <indutny>ah
14:25:39  <indutny>probably because error has happened :D
14:25:48  <indutny>crap
14:25:55  <indutny>ok, brb
14:26:21  <bnoordhuis>piscisaureus_: what's the best place to send it to? codereview.chromium.org or chromiumcodereview.appspot.com?
14:26:33  <bnoordhuis>and why are there two anyway? *sigh*
14:26:35  <piscisaureus_>bnoordhuis: I have the feeling you are doing something wrong
14:26:44  <bnoordhuis>that would be a first
14:26:50  <piscisaureus_>bnoordhuis: hold on... I'm going to find out
14:27:16  <mmalecki>bnoordhuis:
14:27:17  <mmalecki>codereview.chromium.org is an alias for ghs.l.google.com.
14:27:20  <mmalecki>codereview.chromium.org is an alias for ghs.l.google.com.
14:27:37  <mmalecki>maybe this one :)
14:27:40  <mmalecki>one moar choice
14:27:47  <piscisaureus_>bnoordhuis: try this
14:27:50  <piscisaureus_>git cl config http://v8.googlecode.com/svn
14:28:07  <bnoordhuis>strange, codereview.chromium.org had only 161 issues two minutes ago
14:28:17  <bnoordhuis>but now it's identical to chromiumcodereview
14:28:36  * loladirojoined
14:30:00  <piscisaureus_>excuses, excuses
14:30:07  <piscisaureus_>oh, gotta reboot again.
14:30:10  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
14:31:41  * loladiroquit (Client Quit)
14:34:06  * piscisaureus_joined
14:34:26  <bnoordhuis>piscisaureus_: what's the tree status url?
14:34:35  <piscisaureus_>bnoordhuis: you have to enter that?
14:34:44  <bnoordhuis>yes
14:34:47  <piscisaureus_>heh
14:34:48  <piscisaureus_>wtf
14:35:03  <piscisaureus_>something is definitely wrong there
14:35:23  <piscisaureus_>bnoordhuis: oh - don't do presubmit
14:35:40  <bnoordhuis>no, that's what `git cl config` is asking me about
14:36:00  <piscisaureus_>bnoordhuis: just leave it empty
14:36:10  <piscisaureus_>bnoordhuis: I don't think you can presubmit anyway
14:36:23  <bnoordhuis>okay, done
14:36:51  <piscisaureus_>bnoordhuis: ok - protip - git cl will squash all commits and the message must be really short
14:37:04  <bnoordhuis>yeah, annoying
14:37:15  <piscisaureus_>bnoordhuis: also create a separate branch before doing it because it will be associated with this particular issue
14:37:26  <bnoordhuis>i think i'm going to upload the patches with the web interface
14:37:41  <bnoordhuis>all this jumping through hoops annoys me no end
14:37:43  <piscisaureus_>bnoordhuis: don't. once you get used to it it's actually kinda nice
14:38:07  <piscisaureus_>bnoordhuis: just try "git cl upload" now
14:38:49  <bnoordhuis>meh, okay
14:41:24  <piscisaureus_>meh that travis bot is noisy
14:42:14  <bnoordhuis>AttributeError: can't set attribute...
14:42:44  <piscisaureus_>bnoordhuis: something is forked up at your repo
14:42:52  <indutny>bnoordhuis: it's working!!!
14:43:05  <indutny>bnoordhuis: please review it once again
14:43:08  <indutny>added fake fd
14:43:19  * abraxasquit (Remote host closed the connection)
14:43:56  * abraxasjoined
14:44:18  <bnoordhuis>piscisaureus_: no, it simply won't work with google apps accounts
14:44:35  <piscisaureus_>let me try
14:45:14  <indutny>piscisaureus_: are you on osx?
14:45:23  <piscisaureus_>no
14:45:25  <indutny>piscisaureus_: can you verify that `./node </dev/tty` works with my patch?
14:45:27  <indutny>oh
14:45:29  <indutny>ok
14:46:25  <piscisaureus_>bnoordhuis: wfm
14:46:27  <piscisaureus_>D:\v8>git cl upload
14:46:27  <piscisaureus_> bar | 1 +
14:46:27  <piscisaureus_> 1 file changed, 1 insertion(+)
14:46:27  <piscisaureus_>warning: CRLF will be replaced by LF in bar.
14:46:27  <piscisaureus_>The file will have its original line endings in your working directory.
14:46:28  <piscisaureus_>Upload server: codereview.chromium.org (change with -s/--server)
14:46:28  <piscisaureus_>Loaded authentication cookies from c:/Users/Bert Belder/.codereview_upload_cookies
14:46:29  <piscisaureus_>Email (login for uploading to codereview.chromium.org) [bertbelder@gmail.com]: bert@c9.io
14:46:29  <piscisaureus_>Password for bert@c9.io:
14:46:30  <piscisaureus_>Saving authentication cookies to c:/Users/Bert Belder/.codereview_upload_cookies
14:46:30  <piscisaureus_>Issue created. URL: http://codereview.chromium.org/10823365
14:46:31  <piscisaureus_>Uploading base file for bar
14:46:31  <piscisaureus_>This was on windows btw
14:46:51  <bnoordhuis>wtf
14:48:27  * abraxasquit (Ping timeout: 245 seconds)
14:49:17  <bnoordhuis>it dies with the very helpful error "Unknown"
14:49:34  <piscisaureus_>bnoordhuis: python version?
14:49:49  <bnoordhuis>piscisaureus_: 2.7.3
14:50:01  <piscisaureus_>hmm. I have 2.7.2 but I dont' suppose that it matters
14:50:03  <bnoordhuis>i can see it makes a http request to codereview.chromium.org
14:51:18  <piscisaureus_>bnoordhuis: what version of git-cl are you using (where did it come from?)
14:51:41  <piscisaureus_>mine is rather old :-)
14:52:06  <bnoordhuis>from https://github.com/martine/git-cl
14:52:11  <bnoordhuis>which is also rather old
14:52:20  <piscisaureus_>right
14:52:22  <piscisaureus_>that seems right
14:53:19  <mitsuhiko>uv_run_once <- how do i get that to not block?
14:53:39  <bnoordhuis>https://www.google.com/accounts/ClientLogin 403 Forbidden
14:53:43  <piscisaureus_>haha
14:53:46  <bnoordhuis>it's simply not letting me log in
14:54:01  <bnoordhuis>mitsuhiko: you can't right now
14:54:05  <mitsuhiko>:-(
14:54:19  <bnoordhuis>mitsuhiko: as a workaround add a uv_idle_t
14:54:31  <bnoordhuis>we'll probably add a non-blocking version sometime
14:54:56  <mitsuhiko>does not matter for me too much anyways right now. still pondering if it makes sense for us to port that thing to xbox
14:55:11  <bnoordhuis>what are you going to do with it on an xbox?
14:55:57  <mitsuhiko>shooting birds with canons mostly
14:56:33  <mitsuhiko>bnoordhuis: people hate networking code to run in its own thread
14:56:39  <mitsuhiko>so you want it non-blocking
14:56:59  <mitsuhiko>and well … since there are so many ways to get it wrong i was assuming it makes sense to base it on something established
15:00:48  <saghul>bnoordhuis what about giving this https://github.com/joyent/libuv/issues/339 some more thought? I think I could make a patch for it :-)
15:03:22  <bnoordhuis>i fucking hate upload.py
15:03:38  <tjfontaine>how do you really feel?
15:03:50  <bnoordhuis>sad, frustrated :(
15:03:59  <bnoordhuis>i'm using the web interface and that's that
15:04:07  <bnoordhuis>which is horrible enough
15:08:45  <bnoordhuis>Patch set contains no recognizable patches... son of a...
15:08:59  <bnoordhuis>piscisaureus_: feel like uploading a patch?
15:09:01  <indutny>bnoordhuis: is forward declarations good?
15:09:03  <indutny>in libuv
15:09:24  <bnoordhuis>indutny: for what?
15:09:32  <indutny>bnoordhuis: I'll show you
15:09:42  <indutny>but is it supported by every compiler?
15:10:16  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/v8/compare/fix-postmortem-gen
15:10:27  <bnoordhuis>indutny: you mean int foo(int bar); ?
15:10:50  <indutny>nope
15:10:53  <indutny>struct uv_async_s;
15:11:05  <indutny>oh fake fd broke tty test
15:11:57  <bnoordhuis>indutny: only works with struct uv_async_s pointers
15:16:22  <indutny>well, yes
15:16:36  <indutny>I just need it from within include/uv-private
15:16:41  <isaacs>bnoordhuis: on linux, if you click and download a dpkg or rpm, does it give you a nice friendly option to install it?
15:17:00  <piscisaureus_>bnoordhuis: ok, I can upload it
15:17:01  <isaacs>bnoordhuis: presuming you're using a ubuntu or something gui
15:17:10  <bnoordhuis>isaacs: yes
15:17:18  <isaacs>which is better? rpm or dpkg?
15:17:25  <tjfontaine>dpkg
15:17:36  <isaacs>or "depends on os"?
15:17:46  <bnoordhuis>isaacs: you mean .rpm or .deb?
15:17:56  <isaacs>oh, right
15:18:01  <isaacs>.rpm or .deb
15:18:13  <bnoordhuis>rpms are for redhat derivatives, debs for debian derivatives
15:18:25  <bnoordhuis>so realistically you need both
15:18:28  <tjfontaine>well, if you do both you'll cover the majority of the bases, after that it's just slackware/gentoo/arch
15:18:40  <piscisaureus_>bnoordhuis: I am using the official git mirror instead of the github mirror. Should I rebase on top of master?
15:18:42  <bnoordhuis>those people know how to help themselves
15:18:52  <bnoordhuis>piscisaureus_: yes
15:18:52  <tjfontaine>bnoordhuis: well at least they claim to
15:19:04  <bnoordhuis>piscisaureus_: patch should apply cleanly, it's against the current master
15:19:10  <bnoordhuis>err, svn HEAD
15:19:36  <tjfontaine>this is the one case where the embedded dependencies actually makes sense in linux package distribution
15:22:59  * TheJHquit (Read error: Connection reset by peer)
15:24:36  <piscisaureus_>bnoordhuis: who do you want as a reviewer?
15:25:45  <bnoordhuis>piscisaureus_: sergey
15:26:12  <bnoordhuis>frankly, i don't care
15:26:17  <piscisaureus_>bnoordhuis: last name? There are 3
15:26:22  <bnoordhuis>brin
15:26:59  <bnoordhuis>^ that was a joke btw
15:27:04  * theColequit (Quit: theCole)
15:27:04  <bnoordhuis>just pick someone
15:27:54  <indutny>oh, why does ev shadows EV_ERROR
15:27:56  <indutny>with another value
15:28:19  <indutny>fuck
15:30:52  * dapjoined
15:30:56  * blackorzarjoined
15:31:24  <bnoordhuis>indutny: are you asking about forward declarations because of https://github.com/joyent/libuv/pull/528#discussion_r1392821 ?
15:31:50  <bnoordhuis>if yes, don't bother too much about it - i can live with ->data = stream
15:32:01  <piscisaureus_>bnoordhuis: http://codereview.chromium.org/10827379/
15:32:11  <indutny>no
15:32:17  <bnoordhuis>piscisaureus_: sweet, thanks
15:32:47  <indutny>so here is the problem
15:32:52  <indutny>uv is using stream->fd actively
15:33:03  <indutny>but if I'll left a fd that doesn't work with kqueue
15:33:11  <indutny>it goes nuts
15:33:18  <indutny>since watchers become inactive
15:33:53  <piscisaureus_>indutny: btw - how do you interrupt the select() when someone stops the watcher?
15:34:05  <indutny>piscisaureus_: I won't
15:34:06  <indutny>:D
15:34:10  <indutny>that's a plan
15:34:19  <indutny>but it won't call uv__stream_io
15:34:36  <indutny>well, lets face the truth
15:34:41  <indutny>I'm fixing edge-case
15:34:52  <piscisaureus_>indutny: so when people close the watcher - you will keep selecting on that fd?
15:34:56  <indutny>not something that you do on each request on server
15:35:09  <indutny>piscisaureus_: I'll stop only on uv_close
15:35:51  <piscisaureus_>indutny: maybe you can dup the fd and close it when you close the watcher
15:36:10  <indutny>piscisaureus_: sorry?
15:36:43  <piscisaureus_>indutny: well, so the problem is, if someone does uv_close(watcher) and the watcher has an associated select() going on in the thread
15:36:49  <piscisaureus_>you can't close it
15:37:00  <indutny>I can
15:37:04  <indutny>I've semaphore there
15:37:14  <indutny>I'll notify that select loop that watcher is being closed
15:37:20  <indutny>and it'll end
15:37:30  <piscisaureus_>indutny: oh, because you set a timeout
15:37:49  <indutny>yes
15:37:54  <piscisaureus_>indutny: you could also not do that
15:37:59  <indutny>how?
15:38:06  <piscisaureus_>indutny: and use pthread_kill to interrupt the select operation
15:38:13  <indutny>em...
15:38:15  <indutny>that's not really safe
15:38:18  <indutny>I think timeout is ok
15:38:26  <indutny>and we don't have uv_thread_kill API
15:38:31  <indutny>lets solve another problem
15:38:32  <indutny>:)
15:38:41  <indutny>how to watch on fake fd
15:38:46  <indutny>but let users see real fd
15:38:49  <piscisaureus_>indutny: uv_thread_kill is insane. You should never kill a thread
15:39:05  <indutny>piscisaureus_: you proposed that
15:39:24  <piscisaureus_>indutny: oh - I though you wanted to terminate the thread
15:39:39  <indutny>nope
15:39:41  <indutny>I don't
15:39:47  <piscisaureus_>indutny: pthread_kill sends a signal to a thread, so select() will return EINTR
15:40:57  <indutny>aaah
15:41:02  <indutny>nice
15:41:17  <piscisaureus_>indutny: so what you would want to do is pick some signal that has no odd side effects
15:41:24  <piscisaureus_>indutny: and block the signal
15:41:30  <piscisaureus_>indutny: and use pselect() to unblock that signal
15:41:38  <indutny>piscisaureus_: ok
15:41:40  <piscisaureus_>... and start select, atomically
15:41:43  <indutny>piscisaureus_: is it **much** better?
15:41:46  <indutny>:)
15:41:55  <piscisaureus_>indutny: ok, there are more important problems to fix, sure :-0
15:42:04  <indutny>yeah
15:42:08  <indutny>this patch isn't working :D
15:46:09  * stephankjoined
15:46:14  <indutny>https://github.com/joyent/libuv/pull/528/files#L1R199
15:46:22  <indutny>this is why a hate ev :)
15:48:54  <piscisaureus_>isaacs: bnoordhuis: call in 15?
15:49:14  <piscisaureus_>indutny tootallnate ^ ?
15:49:16  <indutny>oooh
15:49:18  <indutny>mega call
15:49:21  <indutny>vock ? :D
15:49:37  <indutny>yeah
15:49:39  <indutny>patch works!!!!
15:50:29  <indutny>bnoordhuis: piscisaureus_ final version https://github.com/joyent/libuv/pull/528/files
15:51:08  <indutny>piscisaureus_: I really do not like that pthread_kill complexity
15:51:13  <indutny>it doesn't make sense for this edge-case
15:51:28  <piscisaureus_>indutny: I do not like that uv_close can hang for 250ms :-)
15:51:36  <indutny>on edge-case streams ;)
15:51:43  <indutny>and that's maximum
15:53:54  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
15:55:42  * piscisaureus_joined
15:58:42  <bnoordhuis>call in 3?
15:59:39  <indutny>15 minutes later
16:00:50  <indutny>please
16:01:59  * TheJHjoined
16:06:04  <bnoordhuis>err, i'm on a tight schedule here
16:08:06  <piscisaureus_>no isaacs?
16:08:19  * theColejoined
16:13:22  * bulatshakirzyanojoined
16:17:08  <bnoordhuis>isaacs: http://codereview.chromium.org/10827379/
16:20:02  <piscisaureus_>indutny: back?
16:20:16  <piscisaureus_>indutny: we are calling, ping me if you want to be added
16:25:57  <indutny>sorry
16:26:07  <indutny>I'm not going to attend today
16:27:37  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
16:30:16  * mmaleckichanged nick to mmalecki[away]
16:30:49  <isaacs>piscisaureus_: "You guys should also leave, i'm just sitting here, doing some work---"
16:30:52  <isaacs>lol
16:31:18  <isaacs>ohnoes
16:31:21  <piscisaureus_>I was going to see how long I could keep you guys busy
16:31:24  <isaacs>ircretary got end-of-life'd
16:31:36  <piscisaureus_>but you did well
16:32:02  <piscisaureus_>huh
16:32:09  <piscisaureus_>isaacs: you mean, no longer supported?
16:32:39  * ircretaryjoined
16:32:47  <isaacs>piscisaureus_: no, actually going to be shut down soonish
16:32:52  <isaacs>piscisaureus_: that's ok, i can run her wherever
16:32:57  <isaacs>ircretary: wb
16:32:57  <ircretary>isaacs: I'm not sure what to do with that command. Ask for help in PM.
16:33:06  <piscisaureus_>isaacs: oh it is running on no.de?
16:33:11  <isaacs>piscisaureus_: yeah
16:33:15  <isaacs>a very early one
16:33:25  <isaacs>like, one that ryah worked on.
16:33:33  <isaacs>nko 1 era
16:33:41  <piscisaureus_>isaacs: I didn't get an email yet but I fear for slurp :-p
16:33:52  <isaacs>oh, no, it's a nko2 version, that's right
16:33:52  <piscisaureus_>isaacs: I mean, that thing is also quite old
16:33:53  <isaacs>$ node -v
16:33:54  <isaacs>v0.4.7
16:34:13  <isaacs>piscisaureus_: we should just run our bots on a smartmachine
16:34:24  <isaacs>it's silly, this no.de thing.
16:34:33  <isaacs>why not just use logs.nodejs.org/ or something?
16:34:38  <piscisaureus_>isaacs: slurp is also kno2
16:34:41  <piscisaureus_>*nko2
16:34:45  <isaacs>yeah
16:35:10  <piscisaureus_>I need something with a disk
16:35:20  <piscisaureus_>so nodejitsu is nicht im frage
16:35:57  * dshaw_quit (Quit: Leaving.)
16:38:51  * loladirojoined
16:38:58  * bulatshakirzyanojoined
16:49:07  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
16:50:55  * piscisaureus_joined
16:54:22  <isaacs>piscisaureus_: just run it on umcats or one of the other NodeCore machines
16:54:38  <piscisaureus_>isaacs: well...
16:54:53  <piscisaureus_>isaacs: is has my private github keys etc :-(
16:54:58  <isaacs>eewwww
16:54:59  <piscisaureus_>isaacs: so it can make backups
16:55:05  <isaacs>hrm...
16:55:08  <isaacs>that sounds not so great.
16:55:17  <isaacs>what do you need it to make backups of, exactly?
16:55:21  <piscisaureus_>isaacs: https://github.com/piscisaureus/slurp-logs
16:55:22  <isaacs>like, push the logs into git?
16:55:24  <isaacs>oh.
16:55:29  <isaacs>you should create an account just for slurp
16:55:36  <isaacs>and use different keys
16:55:56  <isaacs>backing up in github is a good idea, though
16:56:07  <piscisaureus_>isaacs: it's also very useful to search the log
16:56:12  <isaacs>yeah
16:56:16  <piscisaureus_>git pull; grep "beh bah" -r *
16:56:55  <indutny>bnoordhuis: so
16:57:00  <indutny>bnoordhuis: what about my patch?
16:57:00  <indutny>:)
16:57:43  <piscisaureus_>isaacs: I suppose umcats is okay
16:58:12  <piscisaureus_>isaacs: but if it gets rebooted / node gets upgraded etc it'll break
16:59:40  <isaacs>piscisaureus_: hogwash
16:59:50  <isaacs>piscisaureus_: just throw a manifest in it, and make it a proper smf thingie
16:59:55  <isaacs>it's easy
17:00:01  <isaacs>i'll send you a pull request :)
17:00:10  <piscisaureus_>isaacs: nice :-)
17:00:28  <isaacs>and you can have it run whatever version of node you tell it to, just point to the file directly
17:00:57  <piscisaureus_>isaacs: also, what's the public ip for umcats?
17:00:58  <isaacs>exec="/home/slurp/local/bin/node /home/slurp/slurp/server.js"
17:01:16  * indexzerojoined
17:01:20  <isaacs>Host umcats HostName 165.225.130.159 User root ForwardAgent yes
17:02:08  <piscisaureus_>isaacs: so can I set it up to listen on port 80 persistently? :-)
17:02:19  <piscisaureus_>add some capability
17:02:30  <isaacs>yeah
17:02:33  <piscisaureus_>I am such a n00b on smartos
17:02:44  <piscisaureus_>http://wiki.joyent.com/display/www/Linux+to+SmartOs+cheatsheet <-- nice
17:06:02  * hzquit (Ping timeout: 272 seconds)
17:12:41  * tomshredsjoined
17:12:52  * hzjoined
17:25:30  <indutny>bnoordhuis: ping
17:31:28  * stagasjoined
17:35:46  * mikealquit (Quit: Leaving.)
17:36:15  * mikealjoined
17:47:01  * brsonjoined
17:49:06  * hzquit (Ping timeout: 272 seconds)
17:58:06  * TheJHquit (Ping timeout: 240 seconds)
18:03:23  * hzjoined
18:04:45  * TooTallNatejoined
18:06:30  * `3rdEdenjoined
18:08:33  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
18:19:15  * lohkeyjoined
18:21:14  * EhevuTovjoined
18:23:17  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
18:24:32  * EhevuTovquit (Client Quit)
18:28:31  * mjr_joined
18:30:46  * piscisaureus_part
18:35:32  * EhevuTovjoined
18:37:01  * TooTallNatejoined
18:38:22  * TooTallNatequit (Client Quit)
18:42:13  * piscisaureus_joined
18:51:08  * TooTallNatejoined
18:52:37  * joshthecoderjoined
18:55:50  * theColequit (Quit: theCole)
18:57:42  <CIA-112>node: isaacs downloadbutton * r7cb3aa1 / (doc/download/index.html doc/index.html doc/pipe.css): website: Improved install button behavior - http://git.io/g_8Wgg
18:57:51  <isaacs>anyone wanna review^
18:58:46  * hzquit (Ping timeout: 272 seconds)
19:00:11  * hzjoined
19:04:18  * loladiro_joined
19:04:21  * loladiro_quit (Client Quit)
19:04:35  <piscisaureus_>isaacs: How can I see?
19:05:06  * loladiroquit (Ping timeout: 246 seconds)
19:05:13  <piscisaureus_>isaacs: also, do we still bless the x32 version?
19:07:27  <indutny>ping pong
19:07:29  <indutny>ping pong
19:07:36  <indutny>where is ben?
19:07:39  <indutny>piscisaureus_: oh, yt!
19:07:43  <indutny>please review it https://github.com/joyent/libuv/pull/528/files
19:10:32  <piscisaureus_>ok
19:11:00  <indutny>saghul: I'm really considering implementing pulseaudio bindings now
19:11:01  <indutny>:)
19:11:42  <indutny>looks like it's the best way to have low-latency audio w/o dealing with all that cross-platform shit
19:11:49  <indutny>but
19:11:51  <isaacs>piscisaureus_: well, 32-bit works on 64-bit, but not vice versa
19:11:56  <indutny>I think I'll need to have ALSA support anyway
19:12:08  <indutny>ok, time to sleep
19:12:10  <isaacs>piscisaureus_: is there some kind of Universal binary thing for Windows?
19:12:10  <tjfontaine>indutny: I think jack is slightly saner and more tested than pulse
19:12:11  <indutny>ttyl everyoe
19:12:19  <isaacs>indutny: g'nite
19:12:20  <indutny>tjfontaine: yeah, I heard that :)
19:12:28  <piscisaureus_>isaacs: no
19:12:28  <indutny>tjfontaine: but it's API is even worse than ALSA's
19:13:30  <tjfontaine>ok enjoy :)
19:13:44  <indutny>tjfontaine: hahaaa
19:13:45  <indutny>thanks
19:13:46  * indutnyaway
19:17:22  <isaacs>piscisaureus_: also, it looks like there is no way to detect x64-ness from the browser navigator object
19:17:32  <piscisaureus_>isaacs: that's true
19:17:33  <isaacs>piscisaureus_: we'd have to guess from the os strings
19:17:42  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
19:18:19  <isaacs>i think we should just give x86 binaries for the [INSTALL] button, and let people pick the other ones on the /download page if they want to
19:18:29  <isaacs>it's important that it Just Work
19:19:28  <piscisaureus_>isaacs: http://stackoverflow.com/a/6866569/1302213
19:25:22  * brsonquit (Ping timeout: 272 seconds)
19:30:36  * `3rdEdenjoined
19:34:57  * AvianFlujoined
19:41:50  * hzquit (Ping timeout: 272 seconds)
19:43:11  * hzjoined
19:54:16  * mikealquit (Quit: Leaving.)
19:54:45  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
19:55:17  * `3rdEdenquit (Quit: Leaving...)
19:56:32  * mmalecki[away]changed nick to mmalecki
19:56:46  * indexzeroquit (Quit: indexzero)
19:57:24  * TheJHjoined
19:58:50  * `3rdEdenjoined
20:00:53  * TooTallNatejoined
20:02:29  * `3rdEdenquit (Client Quit)
20:10:08  <bnoordhuis>indutny: here
20:12:17  * mikealjoined
20:13:22  <creationix>any HTTP nerds here?
20:13:40  <creationix>I'm trying to figure out if HEAD requests should supress the Content-Type header
20:14:44  <creationix>"The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the information sent in response to a GET request"
20:16:08  <creationix>I'm thinking I should include Content-Type if GET would have had it
20:18:12  <bnoordhuis>creationix: correct
20:18:22  <bnoordhuis>also Content-Length
20:19:19  <creationix>so basically the EXACT same headers?
20:19:24  <creationix>just skip the body
20:19:24  <bnoordhuis>yes
20:19:27  <bnoordhuis>yep
20:23:01  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
20:38:04  * hzquit
20:38:31  <TooTallNate>isaacs: mjr_: https://github.com/joyent/node/pull/3877
20:39:02  <TooTallNate>could use a test...
20:39:04  * brsonjoined
20:39:05  <TooTallNate>i'll add one
20:50:21  <isaacs>TooTallNate: the problem is now this doesn't work: ['foo','bar'].forEach(console.log)
20:50:32  <isaacs>TooTallNate: or foo.on('event', console.log)
20:50:40  <TooTallNate>isaacs: i can fix that
20:51:34  <isaacs>for (i in this) if (typeof this[i] === 'function') this[i] = this[i].bind(this)
20:51:37  <isaacs>can use that trick^
20:51:46  <isaacs>of course, that's kinda silly.
20:52:44  <isaacs>but as long as it only does it if you actually use it, i guess it's fine...
21:02:14  <mjr_>Interesting memory usage stats for node 0.6 vs 0.8
21:02:15  <mjr_>https://skitch.com/mranney/epdek/circonus-view-graph-prod-nr1337-memory-usage
21:02:16  * brsonquit (Ping timeout: 272 seconds)
21:09:29  <bnoordhuis>mjr_: is green 32 or 64 bit?
21:09:31  <bnoordhuis>nice numbers btw
21:09:51  <mjr_>green is heapTotal
21:10:15  <mjr_>purple is heapUsed, yellow is RSS.
21:11:36  <bnoordhuis>so what do the 32 and 64 bit markers mean?
21:13:43  <piscisaureus_>node-heapdump :-p
21:13:58  <piscisaureus_>works best with x64 btw
21:17:32  <TooTallNate>isaacs: refactor'd https://github.com/joyent/node/pull/3877/files
21:20:20  <isaacs>bnoordhuis: they installed v0.8 x64, and got many mountains of sadness. then changed to 32bit
21:20:24  <isaacs>bnoordhuis: the graph is over time.
21:20:28  <isaacs>the markers are events happening
21:20:39  * brsonjoined
21:20:52  <mjr_>We are currently climbing a mountain of sadness with 32 bit node.
21:21:11  <isaacs>yeah
21:21:13  <mjr_>Seems like it's gotta be openssl, but only investigations by experts will know for sure
21:21:14  <TooTallNate>isaacs: also fwiw, in the browser, console.log.call(global, 'test') throws a TypeError: Illegal invocation error
21:21:28  <isaacs>TooTallNate: hm.
21:21:29  * CIA-112quit (Ping timeout: 256 seconds)
21:21:52  <isaacs>TooTallNate: i use ee.on('event', console.log) a lot when building new things
21:21:52  <piscisaureus_>mjr_: npm install heapdump; make sure to require('heapdump')
21:21:54  <TooTallNate>isaacs: but i made it work the way you like in the pull
21:22:02  <TooTallNate>isaacs: i do that too
21:22:04  <piscisaureus_>mjr_: and then send SIGUSR2 when you want a dump
21:22:14  <mjr_>piscisaureus_: it's not growing the V8 heap
21:22:21  <isaacs>piscisaureus_: yeah, the heap is fine
21:22:25  <mjr_>It's growing the process RSS. The V8 heap is reasonable.
21:22:29  <piscisaureus_>mjr_: hmmm
21:22:33  <isaacs>it's a bit more erratic on 0.8 than 0.6, but that doesn't really matter.
21:22:34  * CIA-61joined
21:22:38  <isaacs>just different gc heuristics, probably
21:23:45  <bnoordhuis>does dtrace let you set probes on user space functions?
21:23:52  <bnoordhuis>if yes, malloc and free are the ones to trace
21:25:07  <piscisaureus_>you could try to compile with system openssl and see if that makes a difference
21:25:15  <piscisaureus_>if it's openssl then you'll find out soon enough
21:28:43  * rendarquit
21:29:33  * loladirojoined
21:30:14  <bnoordhuis>piscisaureus_: do you have v8 checked out?
21:30:22  <piscisaureus_>bnoordhuis: yes
21:30:29  <bnoordhuis>piscisaureus_: can you try this -> out/x64.debug/d8 --nobreak-on-abort --enable-slow-asserts --debug-code --verify-heap --allow-natives-syntax test/mjsunit/mjsunit.js test/mjsunit/div-mod.js --test
21:30:34  <CIA-61>libuv: Bert Belder reviewme * r7cf1b67 / include/uv-private/uv-win.h : windows: small style fix in uv-win.h - http://git.io/feLugw
21:30:34  <CIA-61>libuv: Bert Belder reviewme * rc214122 / (include/uv-private/uv-win.h src/win/internal.h src/win/tty.c): windows: separate uv_tty_t read state from write state - http://git.io/QW0gAQ
21:30:35  <CIA-61>libuv: Bert Belder reviewme * rb287f4c / (include/uv-private/uv-win.h src/win/tty.c): windows: readable tty handles need access to console output - http://git.io/8K4Low
21:30:40  <bnoordhuis>and then try the release version
21:30:49  <piscisaureus_>bnoordhuis: windows or linux ?
21:30:58  <bnoordhuis>piscisaureus_: windows first
21:32:23  * travis-cijoined
21:32:23  <travis-ci>[travis-ci] joyent/libuv#575 (reviewme - b287f4c : Bert Belder): The build was fixed.
21:32:23  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/7cf1b67594e3^...b287f4c94bba
21:32:23  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2146051
21:32:23  * travis-cipart
21:34:36  <piscisaureus_>bnoordhuis: which rev are you building?
21:34:48  <piscisaureus_>bnoordhuis: latest master seems to be broken ...
21:34:53  <bnoordhuis>piscisaureus_: 12320
21:38:10  * AvianFluchanged nick to Away-vianFlu
21:40:10  * hzjoined
21:40:48  * hzquit (Client Quit)
21:42:18  * brsonquit (Ping timeout: 245 seconds)
21:44:53  <CIA-61>node: isaacs v0.8 * r73976b6 / (4 files in 3 dirs): v8: Upgrade to 3.11.10.18 - http://git.io/J8z_wg
21:44:53  <CIA-61>node: isaacs v0.8 * rb7223ab / (deps/v8/build/common.gypi deps/v8/tools/gyp/v8.gyp): v8: Reapply floating patches - http://git.io/Fk8kBA
21:46:13  <piscisaureus_>bnoordhuis: finally got the bitch to build with these revisions
21:47:17  <bnoordhuis>piscisaureus_: and?
21:47:39  <bnoordhuis>the test passes for me in release mode but not in debug mode
21:49:02  <piscisaureus_>bnoordhuis: what can I say. In debug mode it prints a lot of stuff and exits :-)
21:49:17  * brsonjoined
21:49:31  <bnoordhuis>piscisaureus_: no exception?
21:49:42  <piscisaureus_>hmm
21:49:44  <piscisaureus_>it exited with code 1
21:49:56  <piscisaureus_>so it didn't crash or anything
21:49:58  <bnoordhuis>i get this:
21:49:59  <bnoordhuis>(function(left) { return left / 86400000; })
21:49:59  <piscisaureus_>or assert()
21:49:59  <bnoordhuis>/home/bnoordhuis/src/nodejs/v8/test/mjsunit/mjsunit.js:166: Failure (2.225073858507201e-308 % 5e-324): expected <0> found <NaN>
21:49:59  <bnoordhuis> throw new MjsUnitAssertionError(message);
21:50:04  <piscisaureus_>nope
21:50:06  <piscisaureus_>I get this:
21:50:24  <piscisaureus_>bnoordhuis: https://gist.github.com/3373915
21:50:40  <bnoordhuis>yeah, that's good
21:51:01  <bnoordhuis>i bet it calls libm
21:51:14  <piscisaureus_>bnoordhuis: http://www.nodedublin.com/ <-- no way back
21:51:50  <bnoordhuis>yeah, i've committed to the 19th
21:52:11  <piscisaureus_>bnoordhuis: just one day
21:52:13  <piscisaureus_>bnoordhuis: is it that bad
21:52:21  <bnoordhuis>they wanted me on the 18th but i can't make that
21:52:50  <bnoordhuis>i offered to send you instead but they'd rather i do my talk on the 19th :)
21:52:55  * TooTallNatequit (Ping timeout: 252 seconds)
21:54:30  <piscisaureus_>bnoordhuis: some people don't like to stand in the shades. They rather look at a (intellectual) midget.
21:54:37  * TooTallNatejoined
21:54:47  <bnoordhuis>piscisaureus_: haha, try to spin it, why don't you?
21:55:05  <bnoordhuis>my gdbjit patch seems to be holding up nicely
21:55:16  <piscisaureus_>bnoordhuis: upstream all the things
21:55:17  <bnoordhuis>still 98% of the test cases to go though
21:55:29  <piscisaureus_>wait, what?
21:55:37  <piscisaureus_>bnoordhuis: I thought your machine was beefy
21:55:41  <bnoordhuis>yes
21:56:04  <bnoordhuis>but spinning up gdb out/x64.debug/d8 8,000 times strains it hard
21:56:51  <bnoordhuis>and i'm running the test suite in another window too, that doesn't help either
21:57:15  <piscisaureus_>bnoordhuis: https://github.com/joyent/libuv/compare/reviewme
21:59:02  * mraleph0joined
21:59:02  * Away-vianFluchanged nick to AvianFlu
21:59:27  <mraleph0>bnoordhuis: div-mod failure is expected on newer glibc.
21:59:37  <mraleph0>bnoordhuis: I was bitten by it recently as well.
22:00:11  <mraleph0>bnoordhuis: https://code.google.com/p/v8/issues/detail?id=2292
22:00:55  * pooyajoined
22:02:36  <bnoordhuis>mraleph0: ah, noted
22:03:23  <bnoordhuis>jkummerow's analysis is or more or less what i discovered so far
22:03:39  <bnoordhuis>inlined in release builds, call to libm in debug builds
22:05:42  * loladiroquit (Ping timeout: 246 seconds)
22:06:28  * mikealquit (Quit: Leaving.)
22:07:16  * mikealjoined
22:09:08  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/v8/commit/c14376c <- review
22:09:16  <bnoordhuis>mraleph0: ^ you too if you're interested
22:12:36  <CIA-61>libuv: Bert Belder master * r7cf1b67 / include/uv-private/uv-win.h : windows: small style fix in uv-win.h - http://git.io/feLugw
22:12:36  <CIA-61>libuv: Bert Belder master * r88634c1 / (include/uv-private/uv-win.h src/win/internal.h src/win/tty.c): windows: separate uv_tty_t read state from write state - http://git.io/63YdrQ
22:12:36  <CIA-61>libuv: Bert Belder master * r1b929bf / (include/uv-private/uv-win.h src/win/tty.c): windows: readable tty handles need access to console output - http://git.io/2bAeFA
22:12:55  <piscisaureus_>bnoordhuis: now get your git-cl going :-)
22:13:21  <bnoordhuis>i'll try it with my c9.io account
22:14:19  * travis-cijoined
22:14:19  <travis-ci>[travis-ci] joyent/libuv#576 (master - 1b929bf : Bert Belder): The build passed.
22:14:19  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/938a30589cd7...1b929bfff5be
22:14:19  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2146417
22:14:19  * travis-cipart
22:14:43  <piscisaureus_>bnoordhuis: where are DeoptimizingCodeListNode objects constructed?
22:15:13  <bnoordhuis>piscisaureus_: git grep -w DeoptimizingCodeListNode :)
22:15:20  <piscisaureus_>bleh
22:15:32  <bnoordhuis>in deoptimizer-{arch}.cc
22:16:31  <piscisaureus_>bnoordhuis: the v8 people will probably tell you to add `inline DeoptimizingCodeListNode* DeoptimizingCodeListNode::next()`
22:17:04  <bnoordhuis>oh, that's not a bad idea
22:17:51  * TheJHquit (Ping timeout: 252 seconds)
22:18:04  <bnoordhuis>ah, there is one
22:18:22  <bnoordhuis>oh, i remember - i initially set the next_ field to NULL
22:18:53  * loladirojoined
22:21:35  <bnoordhuis>https://github.com/bnoordhuis/v8/commit/265c185
22:21:42  * mikealquit (Quit: Leaving.)
22:22:22  <piscisaureus_>bnoordhuis: you could also just call RemoveDeoptimizingCode(deoptimizing_code_list_)
22:23:36  <bnoordhuis>piscisaureus_: no, it takes a Code*, not a DeoptimizingCodeListNode*
22:24:19  <piscisaureus_>ah - right, it drops only one elem
22:24:42  <TooTallNate>piscisaureus_: is there a proper way to fix this warning?
22:24:43  <piscisaureus_>bnoordhuis: lgtm then
22:24:43  <TooTallNate>c:\users\nathan\.node-gyp\0.8.2\src\node_object_wrap.h(57): warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent<T>' needs to have dll-interface to be used by clients of class 'node::ObjectWrap'
22:24:51  <piscisaureus_>ehm
22:25:07  <TooTallNate>we can disable the warning easily enough
22:25:08  <piscisaureus_>TooTallNate: I think so but I have never tried. But it requires some reorganization in our code I'm afraid
22:25:25  <piscisaureus_>TooTallNate: I am still wondering whether this warning is serious
22:25:39  <TooTallNate>piscisaureus_: it doesn't seem like it
22:25:53  <piscisaureus_>TooTallNate: what we could do is make some class
22:25:56  * c4milo_quit (Remote host closed the connection)
22:26:50  <piscisaureus_>TooTallNate: the compiler is warning you about the fact that no code could be present in the dll to handle Persistent<T>
22:27:32  * mikealjoined
22:28:11  <piscisaureus_>TooTallNate: maybe it helps to add this to node.h:
22:28:11  <piscisaureus_>NODE_EXPORT Persistent<T>
22:28:12  <piscisaureus_>let me try
22:28:43  <piscisaureus_>TooTallNate: those warnings annoy the hell out of me always, so this seems like a good moment to fix them
22:29:32  <piscisaureus_>src\node_buffer.cc(209): warning C4146: unary minus operator applied to unsigned type, result still unsigned
22:29:45  <piscisaureus_>doesn't matter here, but good point :-)