00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:35  <bnoordhuis>tjfontaine: TypeError: Cannot read property 'port' of null <- seen that before?
00:01:02  <tjfontaine>yes that's the issue, address() returns null, because _handle is null
00:01:31  <bnoordhuis>ah right, i see it in the gist now. sorry, carry on :)
00:01:52  <tjfontaine>no problem I should have said that :)
00:02:11  <bnoordhuis>$ exec screen
00:02:12  <bnoordhuis>Cannot open your terminal '/dev/pts/1' - please check.
00:02:13  * bnoordhuissighs
00:05:34  <isaacs>ryah: are you saying this just because you have so much confidence in us, or have you actually played with it?
00:05:58  <isaacs>ryah: (either is ok, i'm just wondering if i should be flattered or encouraged ;)
00:09:16  * `3rdEdenjoined
00:09:20  <tjfontaine>bnoordhuis: honestly I'm just glad I'm not crazy
00:17:24  * `3rdEdenquit (Ping timeout: 248 seconds)
00:17:36  <bnoordhuis>hm, no htop on smartos?
00:18:03  <tjfontaine>at least not in pkgsrc
00:21:17  <isaacs>bnoordhuis: i think htop is in pkgsrc
00:21:25  <isaacs>bnoordhuis: but that image might be too old for it
00:22:23  <tjfontaine>I see lots of mysql top tools
00:22:51  <tjfontaine>and plain old top
00:25:00  <bnoordhuis>tjfontaine: apparently the handle's been destroyed in Server#close
00:25:26  <tjfontaine>by a worker or the master?
00:26:13  <bnoordhuis>tjfontaine: by the worker
00:27:20  <tjfontaine>so it's close()'d before the tick where listening is emitted, how is that possible?
00:29:23  <bnoordhuis>i guess it's possible if you do server.listen(port); server.close();
00:29:53  <tjfontaine>well, in terms of cluster though that means that .disconnect() is happening before the tick
00:30:28  <bnoordhuis>i think that's the case
00:30:38  <MI6>joyent/node: isaacs master * 74c0840 : lint - http://git.io/NtzS8g
00:30:44  <bnoordhuis>the actual disconnect is done at time t, but the close event isn't emitted until t+1
00:31:08  <isaacs>isaacs: >_<! lint!
00:33:03  <isaacs>Thoughts on adding .unshift() to readable streams as well?
00:33:13  <isaacs>like... "Whoops, didn't mean to read that. Put this bit back in."
00:33:25  <TooTallNate>isaacs: peek()
00:33:29  <isaacs>we've traditionally hacked around that by re-emitting 'data'
00:33:39  <isaacs>TooTallNate: well, it's not quite like peek, though
00:33:52  <isaacs>TooTallNate: maybe you want to *usually* actually read the whole thing
00:33:59  <isaacs>but then you get to the end of your blob, and there's some left.
00:34:06  <isaacs>so you wanna push that back in, but not at the end
00:34:07  <isaacs>at the front
00:37:46  * loladiroquit (Quit: loladiro)
00:38:42  <isaacs>hm, i guess with peek() you could just see what you'd get, then read just the length you want
00:38:46  <isaacs>but that seems weird.
00:39:15  <isaacs>like, the tempation is to just use the bit that you've got now
00:39:34  <bnoordhuis>tjfontaine: btw, the easiest fix is to check if tcpSelf._handle === null and return if it is
00:39:41  <TooTallNate>isaacs: ya you might be right
00:39:55  <bnoordhuis>tjfontaine: but easiest != bestest perhaps
00:40:07  <bnoordhuis>(yes, i wrote bestest)
00:40:08  <isaacs>TooTallNate: it's weird to have a situation where you have the data, but it's still in the stream
00:40:17  <isaacs>bnoordhuis: bestest is totally cromulent
00:40:26  <TooTallNate>isaacs: another API i've seen in C-land is .read(n), then later .bytesUsed(n)
00:40:31  <TooTallNate>isaacs: but i'm not saying that's good for us
00:40:44  <TooTallNate>isaacs: just that there's so many stream APIs is impossible to get perfect :)
00:40:52  <isaacs>TooTallNate: so you read to get the data, then explicitly tell the stream how much you've consumed?
00:40:59  <TooTallNate>right
00:41:04  <isaacs>that seems rather baroque
00:41:14  <TooTallNate>well it was from a C lib :p
00:41:44  <isaacs>if you had unshift, peek could be function(n) { var b = this.read(n); if (b !== null) this.unshift(b); return b; }
00:41:57  <tjfontaine>bnoordhuis: ya I'm just not sure why it's racing on smartos and not on other platforms
00:42:50  <TooTallNate>isaacs: ya, i guess .unshift() is indeed lower-level than .peek() in that case
00:43:40  <TooTallNate>isaacs: so +1 from me then
00:44:01  <TooTallNate>i really hope we stop adding feature to the streams classes soon though :)
00:44:33  <TooTallNate>this one is definitely needed though IMO
00:44:53  <TooTallNate>isaacs: i like how the function names are shadowing Array names now, haha
00:48:02  <isaacs>i guess..
00:48:06  <isaacs>i'm not so sure.
00:48:08  <isaacs>it's kinda weird.
00:48:15  <isaacs>maybe.
00:51:06  <tjfontaine>bnoordhuis: with the early return https://gist.github.com/tjfontaine/5017342/raw/7a3749c2c1376ab195b0501f4fe8ab1817cc67fc/few-runs.txt I'm still getting refused's and resets
00:51:33  <tjfontaine>just a by product of the server being closed so soon?
00:52:15  * trevnorrisjoined
00:53:29  <trevnorris>So having a cluster hang issue?
00:54:24  <tjfontaine>I'm seeing something, not entirely sure what I see though
00:56:48  <trevnorris>Hm. I was experimenting earlier with replacing _needCallback with _tickCallback and it worked in all cases except clusters. Script hung every time.
00:57:05  * dominictarrjoined
00:57:11  <trevnorris>(in nextTick that is)
00:57:50  <tjfontaine>trevnorris: which script hung and where?
00:59:10  <trevnorris>First cluster script in make test. Everything finished normally but then the script just hung out idle indefinitely.
00:59:25  <tjfontaine>oh
00:59:31  <tjfontaine>and if you ran it manually?
00:59:42  <trevnorris>On the train so can't give you a gist, but I'll get it later.
01:00:26  <trevnorris>Yeah either way.
01:05:25  <trevnorris>Think you could try it. Just replace "if (needSpinner)" with "if (infoBox[length] === 1 && needSpinner)" and
01:06:02  <trevnorris>_needTickCallback() with process._tickCallback()
01:06:41  <trevnorris>Then run test-cluster-bind-twice
01:06:45  <tjfontaine>k
01:07:19  <bnoordhuis>tjfontaine: re why it happens on sunos, istm it's also possible on other platforms
01:07:38  <bnoordhuis>but sunos is the slow poke of the bunch so maybe that's why
01:07:44  <tjfontaine>perhaps
01:08:00  <tjfontaine>it just means the test isn't all that useful
01:08:16  <tjfontaine>(on sunos)
01:08:31  <tjfontaine>trevnorris: didn't hang for me
01:08:35  <bnoordhuis>it wouldn't be the first one :)
01:08:50  <tjfontaine>bnoordhuis: indeed, I have a laundry list for libuv as well
01:08:51  <tjfontaine>:)
01:09:34  <tjfontaine>trevnorris: on osx 10.8.2
01:09:35  <trevnorris>What? Tonight I'll throw up a branch.
01:10:35  <trevnorris>Hm. Strange. Well I'm doing this from my phone so probably miss typed something
01:11:34  <bnoordhuis>tjfontaine: libuv's tests are epitomes of perfection and beauty
01:11:53  <trevnorris>Does for me on linux
01:12:57  <tjfontaine>bnoordhuis: no doubt, what's your preferred mechanism for disabling certain ones? #if !defined(__sunos)? process_title for instance doesn't have a point in being tested there afaik
01:12:58  <trevnorris>What if you run make test?
01:13:03  <tjfontaine>trevnorris: lemme try
01:13:54  * abraxasjoined
01:14:10  <bnoordhuis>tjfontaine: yes, something like that
01:14:27  <tjfontaine>trevnorris: I might not have replaced it enough times I guess
01:16:56  <tjfontaine>trevnorris: with more replacements I get a hang and EADDRINUSE
01:18:12  * abraxasquit (Ping timeout: 248 seconds)
01:19:33  <trevnorris>From make test?
01:19:47  <tjfontaine>no from single instantiation
01:22:26  <trevnorris>What I was thinking is if you're having a race condition this would ensure it always occurs
01:24:20  <tjfontaine>well it's certainly making something occur :)
01:26:02  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:28:44  * brsonquit (Ping timeout: 256 seconds)
01:36:06  <trevnorris>Did you say this issue was occurring before my ticker updates?
01:37:59  <tjfontaine>some form of it exists back into v0.8 so I don't think it relates much to the ticker changes, I'm not saying it's impossible
01:48:02  <trevnorris>The ticker changes definitely call out to the spinner less often, so any race conditions would be more apparent
01:48:39  <trevnorris>And the changes you just made for it by not waiting for the spinner at all
01:48:49  <tjfontaine>nod
01:50:48  <trevnorris>Well, I'd like to use those changes so going to look into it anyways. If you can find reproducible way for before the ticker changes let me know
01:51:05  <tjfontaine>I will let you know what I find
01:51:19  <trevnorris>Cool. Off to dinner
01:51:25  * trevnorrisquit (Quit: Bye)
02:02:40  * dapquit (Quit: Leaving.)
02:29:33  * TooTallNatejoined
02:51:55  * hzquit
02:58:09  * Benviequit
02:58:17  * bnoordhuisquit (Ping timeout: 256 seconds)
03:02:15  * pooyaquit (Quit: pooya)
03:07:12  * c4milojoined
03:12:35  * dominictarrquit (Quit: dominictarr)
03:24:26  * TooTallNatequit (Quit: Computer has gone to sleep.)
03:32:12  * c4miloquit (Remote host closed the connection)
03:39:32  * ericktjoined
03:57:48  * trevnorrisjoined
04:01:00  * trevnorrisquit (Client Quit)
04:20:54  * ericktquit (Quit: erickt)
05:07:06  * ericktjoined
05:07:45  * trevnorrisjoined
05:38:19  * indexzerojoined
05:42:53  <trevnorris>isaacs: you up?
06:12:49  * loladirojoined
06:28:36  * dominictarrjoined
06:30:34  * perezdjoined
06:45:37  * TooTallNatejoined
06:52:50  * mikealjoined
06:59:01  * piscisaureus_joined
06:59:11  <mmalecki>piscisaureus_: http://www.liveleak.com/view?i=c47_1361476125 this one
06:59:21  * piscisaureus_quit (Client Quit)
07:03:09  * dominictarrquit (Quit: dominictarr)
07:06:14  * dominictarrjoined
07:06:33  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
07:33:15  * trevnorrisquit (Quit: Leaving)
07:35:20  * TheJHjoined
07:40:55  * loladiroquit (Quit: loladiro)
07:42:31  * loladirojoined
07:43:08  * loladiroquit (Client Quit)
07:59:29  * rendarjoined
08:03:33  * dominictarrquit (Quit: dominictarr)
08:23:07  * ericktquit (Quit: erickt)
08:35:36  * trevnorrisjoined
08:53:46  * `3rdEdenjoined
09:08:59  * `3rdEdenchanged nick to `3rdEden|SHOP
09:43:51  * AvianFluquit (Remote host closed the connection)
09:45:04  * trevnorrisquit (Quit: Leaving)
10:39:27  * `3rdEden|SHOPchanged nick to `3rdEden
10:40:08  * indexzeroquit (Quit: indexzero)
11:28:18  * benoitcquit (Excess Flood)
11:32:19  * benoitcjoined
11:42:00  * dominictarrjoined
11:47:22  * hzjoined
11:57:48  * TheJHquit (Ping timeout: 276 seconds)
12:15:41  * TheJHjoined
12:20:03  * dominictarr_joined
12:23:13  * dominictarrquit (Ping timeout: 246 seconds)
12:23:14  * dominictarr_changed nick to dominictarr
12:28:40  * benoitcquit (Excess Flood)
12:29:49  * benoitcjoined
13:40:03  * dominictarrquit (Quit: dominictarr)
13:47:07  * bradleymeckjoined
13:53:11  * indexzerojoined
13:59:52  * bradleymeck_joined
14:01:24  * bradleymeckquit (Ping timeout: 248 seconds)
14:01:24  * bradleymeck_changed nick to bradleymeck
14:03:01  * benoitcquit (Excess Flood)
14:03:49  * benoitcjoined
14:10:07  * kazuponjoined
14:10:14  * bnoordhuisjoined
14:18:57  * benoitcquit (Excess Flood)
14:19:07  * bradleymeck_joined
14:19:58  * bradleymeckquit (Ping timeout: 252 seconds)
14:19:58  * bradleymeck_changed nick to bradleymeck
14:29:20  * benoitcjoined
14:44:41  * bradleymeck_joined
14:45:08  * bradleymeckquit (Ping timeout: 248 seconds)
14:45:09  * bradleymeck_changed nick to bradleymeck
14:52:21  * kazuponquit (Remote host closed the connection)
15:01:05  * kazuponjoined
15:04:10  * ericktjoined
15:12:04  * bradleymeck_joined
15:12:14  * bradleymeckquit (Read error: Operation timed out)
15:12:14  * bradleymeck_changed nick to bradleymeck
15:16:34  * `3rdEdenquit (Remote host closed the connection)