00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:14  * ircretaryjoined
00:01:12  * c4milojoined
00:03:22  * AvianFluquit (Remote host closed the connection)
00:21:51  <tjfontaine>Domenic_: btw, ok so more evidence the problem is purely v8's and wasn't fidelity lost in the port, contextify itself on latest master fails in the same way
00:29:18  * M28joined
00:31:13  * TooTallNatequit (Quit: Computer has gone to sleep.)
00:35:43  * defunctzombiechanged nick to defunctzombie_zz
00:43:06  * defunctzombie_zzchanged nick to defunctzombie
00:47:27  * groundwaterquit (Quit: groundwater)
00:49:23  * groundwaterjoined
00:50:17  * groundwaterquit (Client Quit)
00:50:31  * TooTallNatejoined
00:58:06  * inolen1quit (Quit: Leaving.)
01:04:31  * EhevuTovquit (Quit: This computer has gone to sleep)
01:06:26  * dlmanningjoined
01:07:37  * pfox___quit (Remote host closed the connection)
01:11:28  * TooTallNatequit (Ping timeout: 260 seconds)
01:13:14  * TooTallNatejoined
01:18:01  * TooTallNatequit (Ping timeout: 260 seconds)
01:23:32  * TooTallNatejoined
01:26:31  * TooTallNatequit (Client Quit)
01:37:36  * abraxasjoined
01:46:40  * dshaw_quit (Quit: Leaving.)
01:51:29  * wavdedjoined
01:56:34  * st_lukequit (Remote host closed the connection)
01:56:53  * amartensquit (Quit: Leaving.)
01:59:28  * st_lukejoined
02:09:19  * inolenjoined
02:11:11  * inolenquit (Client Quit)
02:14:50  * st_lukequit (Read error: Connection reset by peer)
02:19:07  * TooTallNatejoined
02:22:31  * dshaw_joined
02:26:47  * inolenjoined
02:45:04  * kenperkinsjoined
02:53:12  * defunctzombiechanged nick to defunctzombie_zz
03:03:34  * dapquit (Quit: Leaving.)
03:04:18  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
03:05:07  * wwicksquit (Remote host closed the connection)
03:06:03  * dapjoined
03:06:25  * wwicksjoined
03:06:49  * wwickschanged nick to Guest9060
03:09:47  * dshaw_quit (Quit: Leaving.)
03:12:00  * dshaw_joined
03:16:18  * dominictarrjoined
03:16:21  * Guest9060quit (Quit: Guest9060)
03:25:10  * inolenquit (Quit: Leaving.)
03:44:44  * dshaw_quit (Quit: Leaving.)
03:47:50  * defunctzombie_zzchanged nick to defunctzombie
03:55:29  * inolenjoined
03:57:24  * dapquit (Quit: Leaving.)
03:58:42  * dominictarrquit (Quit: dominictarr)
04:03:42  * inolenquit (Ping timeout: 264 seconds)
04:07:01  * abraxasquit (Remote host closed the connection)
04:07:21  * wavdedquit (Quit: Hasta la pasta)
04:35:48  * st_lukejoined
04:41:56  * dapjoined
04:42:00  * dapquit (Client Quit)
04:50:55  * st_lukequit (Remote host closed the connection)
04:57:47  * inolenjoined
05:01:33  * julianduquequit (Quit: leaving)
05:01:59  * c4miloquit (Remote host closed the connection)
05:06:52  * abraxasjoined
05:14:44  <Domenic_>tjfontaine: right cool, that's what i would have figured. it could be contextify using things wrong somehow, but more likely v8. i wonder if contextify passes on 0.10.
05:22:43  * wwicksjoined
05:54:12  * inolenquit (Quit: Leaving.)
06:16:18  * kenperkinsquit (Quit: Computer has gone to sleep.)
06:18:41  * brsonquit (Quit: leaving)
06:41:14  <MI6>nodejs-v0.10-windows: #217 UNSTABLE windows-ia32 (7/600) windows-x64 (7/600) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/217/
06:46:43  * inolenjoined
06:48:31  * bajtosjoined
06:52:25  * EhevuTovjoined
07:36:07  * inolenquit (Quit: Leaving.)
07:55:12  * bnoordhuisjoined
07:55:40  * tuxie_joined
08:05:04  * bajtosquit (Quit: bajtos)
08:06:49  * inolenjoined
08:08:14  * kenperkinsjoined
08:08:30  * bajtosjoined
08:13:44  * inolenquit (Ping timeout: 240 seconds)
08:27:40  * defunctzombiechanged nick to defunctzombie_zz
08:32:37  * dominictarrjoined
08:33:52  * defunctzombie_zzchanged nick to defunctzombie
08:36:55  <indutny>Domenic_: ok, the problem is in the ic.cc code
08:37:02  <indutny>I think I've almost finished the patch
08:38:31  * bnoordhuisquit (Ping timeout: 260 seconds)
08:45:51  * kenperkinsquit (Read error: Connection reset by peer)
08:51:26  * kenperkinsjoined
08:52:20  * defunctzombiechanged nick to defunctzombie_zz
09:05:27  * felixgejoined
09:05:29  * felixgequit (Changing host)
09:05:30  * felixgejoined
09:17:33  * EhevuTovquit (Quit: This computer has gone to sleep)
09:28:19  * bnoordhuisjoined
09:28:45  * dlmanningquit (Ping timeout: 245 seconds)
09:40:43  * kenperkinsquit (Quit: Computer has gone to sleep.)
09:42:33  * rendarjoined
09:42:36  * dlmanningjoined
09:45:00  <bnoordhuis>morning everyone
09:47:36  * Kakerajoined
09:48:23  <rendar>bnoordhuis: morning
10:05:30  * bnoordhuisquit (Ping timeout: 264 seconds)
10:11:21  * inolenjoined
10:13:42  * bnoordhuisjoined
10:15:26  * inolenquit (Ping timeout: 240 seconds)
10:33:22  <MI6>joyent/node: Ben Noordhuis v0.10 * 7c554a5 : doc: document reserved status of SIGUSR1 - http://git.io/PuzEkA
10:41:21  <MI6>nodejs-v0.10: #1489 UNSTABLE linux-x64 (1/600) smartos-ia32 (1/600) smartos-x64 (2/600) http://jenkins.nodejs.org/job/nodejs-v0.10/1489/
10:44:03  * dominictarrquit (Quit: dominictarr)
10:44:59  * LeftWingquit (Remote host closed the connection)
10:45:07  * LeftWingjoined
10:48:40  <MI6>nodejs-v0.10-windows: #218 UNSTABLE windows-ia32 (7/600) windows-x64 (7/600) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/218/
10:48:45  <MI6>nodejs-v0.10: #1490 UNSTABLE smartos-x64 (2/600) http://jenkins.nodejs.org/job/nodejs-v0.10/1490/
11:06:28  <MI6>joyent/node: Maciej MaƂecki master * d80d131 : net: add a port validation to `connect` - http://git.io/nsIKQw
11:11:55  * kenperkinsjoined
11:15:18  <MI6>nodejs-master: #562 UNSTABLE osx-x64 (1/640) linux-x64 (1/640) smartos-x64 (6/640) http://jenkins.nodejs.org/job/nodejs-master/562/
11:16:00  * piscisaureus_joined
11:16:11  * kenperkinsquit (Ping timeout: 248 seconds)
11:22:19  <bnoordhuis>piscisaureus_: hallo bertje
11:22:26  <bnoordhuis>call at 1600, don't forget
11:22:29  <piscisaureus_>hey bennetje
11:22:31  <piscisaureus_>nee
11:22:35  <piscisaureus_>bnoordhuis: I won't
11:22:38  <bnoordhuis>good
11:22:40  <bnoordhuis>how's life?
11:22:41  <piscisaureus_>maar misschien praat ik wat moeilijk
11:22:50  <bnoordhuis>oh? drank too much beer last night?
11:22:55  <piscisaureus_>want de tandarts gaat vandaag en morgen nogal flink aan de slag :(
11:22:59  <bnoordhuis>ah :(
11:23:41  <piscisaureus_>vooral morgen trouwens
11:23:47  <piscisaureus_>bnoordhuis: it's okay
11:24:17  <piscisaureus_>bnoordhuis: try to get task done in time for lxjs
11:24:22  <piscisaureus_>since it wasn't for nodeconf.eu
11:25:57  <MI6>nodejs-master-windows: #356 UNSTABLE windows-x64 (20/640) windows-ia32 (20/640) http://jenkins.nodejs.org/job/nodejs-master-windows/356/
11:26:10  <piscisaureus_>someone committed something
11:26:27  <bnoordhuis>yep, i did
11:26:53  <bnoordhuis>everyone's asleep here except me. figured i might as well get some work done
11:28:48  * abraxasquit (Remote host closed the connection)
11:29:16  <piscisaureus_>nice
11:29:21  * abraxasjoined
11:29:27  <piscisaureus_>good time to be asleep too
11:30:00  * abraxasquit (Read error: Connection reset by peer)
11:35:08  * dominictarrjoined
11:37:40  <bnoordhuis>i don't blame karlijn, she was up for most of the night. the joys of a new kid, eh? :)
11:38:34  * bajtosquit (Quit: bajtos)
11:44:11  * bnoordhuisquit (Ping timeout: 240 seconds)
12:01:50  * kenperkinsjoined
12:03:44  * Benviejoined
12:13:10  * bajtosjoined
12:19:12  * piscisaureus_quit (Ping timeout: 240 seconds)
12:34:38  * Kakeraquit (Ping timeout: 240 seconds)
12:39:10  * kenperkinsquit (Quit: Computer has gone to sleep.)
12:46:44  * bnoordhuisjoined
12:59:15  * tuxie_quit (Ping timeout: 268 seconds)
13:04:05  * bnoordhuisquit (Ping timeout: 248 seconds)
13:19:36  * dominictarrquit (Ping timeout: 268 seconds)
13:25:16  * bajtosquit (Quit: bajtos)
13:30:38  * jmar777joined
13:32:06  * jmar777quit (Remote host closed the connection)
13:44:06  * c4milojoined
13:50:16  * kenperkinsjoined
13:52:25  * kenperkinsquit (Max SendQ exceeded)
13:52:54  * piscisaureus_joined
13:53:10  * kenperkinsjoined
13:54:53  * bnoordhuisjoined
13:55:54  <piscisaureus_>\o
14:01:58  * kenperkinsquit (Quit: Computer has gone to sleep.)
14:02:48  <bnoordhuis>piscisaureus_: o/
14:03:11  <piscisaureus_>. /_\
14:17:52  * tellnesquit (*.net *.split)
14:17:52  * pquernaquit (*.net *.split)
14:18:23  * pquernajoined
14:18:23  * pquernaquit (Changing host)
14:18:23  * pquernajoined
14:20:42  * tellnesjoined
14:25:16  * c4miloquit (Remote host closed the connection)
14:26:38  * c4milojoined
14:29:57  * piscisaureus_quit (Ping timeout: 248 seconds)
14:31:33  * c4miloquit (Ping timeout: 248 seconds)
14:33:03  * piscisaureus_joined
14:43:58  * bradleymeckjoined
14:44:01  * jmar777joined
14:52:43  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
14:55:57  * c4milojoined
15:01:18  * julianduquejoined
15:01:18  * jmar777_joined
15:02:05  * jmar777__joined
15:02:08  * bajtosjoined
15:02:14  * jmar777quit (Read error: Connection reset by peer)
15:05:52  * jmar777_quit (Ping timeout: 260 seconds)
15:07:59  * inolenjoined
15:10:41  * Kakerajoined
15:16:42  * AvianFlujoined
15:17:09  <MI6>nodejs-master: #563 UNSTABLE osx-ia32 (1/640) smartos-x64 (5/640) http://jenkins.nodejs.org/job/nodejs-master/563/
15:17:50  * AvianFlu_joined
15:17:51  * AvianFluquit (Disconnected by services)
15:17:58  * AvianFlu_changed nick to AvianFlu
15:30:28  <dlmanning>Not sure if this is the appropriate forum, but I *think* I found a regression in node 0.10.18 connected to a particular patch in libuv. Was wondering if anyone could point me in the direction of what I should do about it?
15:32:33  <M28>is it a bug on libuv or node?
15:33:03  <M28>if it's a bug in libuv which causes a regression in node, I'd submit it to libuv's bug tracker
15:34:31  <dlmanning>M28: I think it's related to libuv patch, was just looking for confirmation I was seeing it correctly before I submitted an issue
15:35:07  <dlmanning>This is a description of the issue: test('inject code before the closing body tag', testRunner);
15:35:14  <dlmanning>oops, not that
15:35:20  <dlmanning>this: https://gist.github.com/dlmanning/6618028
15:44:52  * bradleymeckquit (Quit: bradleymeck)
15:54:41  * bradleymeckjoined
16:01:16  * bnoordhuisquit (Ping timeout: 245 seconds)
16:09:07  * TooTallNatejoined
16:13:05  * amartensjoined
16:21:23  * bradleymeckquit (Quit: bradleymeck)
16:22:40  * bnoordhuisjoined
16:26:23  * bajtosquit (Quit: bajtos)
16:28:09  * bradleymeckjoined
16:29:24  * bnoordhuisquit (Ping timeout: 260 seconds)
16:30:30  * dapjoined
16:32:19  * inolenquit (Quit: Leaving.)
16:34:10  <indutny>Domenic_: https://codereview.chromium.org/24272005/
16:34:16  <indutny>Domenic_: fixed that issue
16:35:24  * inolenjoined
16:35:39  * julianduquequit (Ping timeout: 248 seconds)
16:36:11  * jmar777__quit (Read error: Connection reset by peer)
16:36:48  * jmar777joined
16:39:43  <tjfontaine>indutny: nice, I was in LookupForWrite last night before we had a meetup, that's where I was expecting this issue to be
16:39:52  <indutny>haha
16:40:01  <indutny>tjfontaine: well,y es
16:40:27  * groundwaterjoined
16:41:10  <tjfontaine>there are a couple things about our implementation, that at the moment don't seem to be a problem, but don't exactly follow the API either
16:41:20  * bajtosjoined
16:44:49  * jmar777quit (Read error: Connection reset by peer)
16:44:54  * jmar777_joined
16:45:38  * AvianFluquit (Remote host closed the connection)
16:45:57  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:46:22  <indutny>tjfontaine: what do you mean?
16:46:28  <indutny>tjfontaine: our implementation = vm2/
16:46:29  <indutny>?
16:49:01  <tjfontaine>ya, the setters and query methods don't do what the api says
16:49:11  <tjfontaine>setter is supposed to return the value if it intercepted
16:51:28  <indutny>tjfontaine: oh, well
16:51:35  <indutny>query should not return anything
16:51:53  <indutny>in case of missing property
16:51:55  <indutny>anywy
16:52:06  <indutny>I'm still not sure if we'd keep vm2 changes
16:52:10  * indexzerojoined
17:00:42  * julianduquejoined
17:01:19  * bnoordhuisjoined
17:06:20  * brsonjoined
17:09:09  <trevnorris>morning
17:14:10  <Domenic_>indutny: nice...
17:14:15  <indutny>morning
17:15:12  <bnoordhuis>indutny: nice work on that v8 issue
17:15:19  <indutny>oh, not really
17:15:21  <indutny>it was simple
17:15:27  <indutny>I thought it was somewhere on assembly generation level
17:15:35  <bnoordhuis>okay. awful work then
17:15:40  <tjfontaine>heh
17:15:54  <bnoordhuis>(kidding, of course)
17:15:59  * AvianFlujoined
17:16:48  <bnoordhuis>i bet they're going to ask for a test case though
17:18:46  <indutny>oh
17:18:50  <indutny>I forgot about it
17:18:56  <indutny>ok, it isn't worth it yet
17:19:02  <indutny>lets wait for approval first :)
17:19:12  <dlmanning>bnoordhuis: You submitted a patch to libuv to creat fsevents threads on demand, right?
17:19:40  <trevnorris>you guys think there's a way to trigger a JS function to run from the v8 API w/o using Function::Call() ?
17:20:11  <trevnorris>I can think of a way to do it asynchronously, but not sync.
17:21:13  <bnoordhuis>dlmanning: that's correct
17:21:37  <bnoordhuis>trevnorris: define 'run from the v8 api'?
17:22:24  <dlmanning>bnoordhuis: Is there any reason it might be keeping fs.watch() from emitting file change events? (sorry for the vagueness)
17:22:58  <trevnorris>bnoordhuis: so Function::Call() is expensive, so I'm wondering if there's a way to trigger js to perform some sort of action w/o the use of calling Function::Call()
17:23:45  <bnoordhuis>dlmanning: unlikely unless you're running into the per-user process limit
17:24:00  <bnoordhuis>dlmanning: and that's assuming os x counts threads as processes which i'm not sure it does
17:24:37  <indutny>trevnorris: its expensive not for no-reason :)
17:24:42  * AvianFluquit (Ping timeout: 264 seconds)
17:24:52  <indutny>trevnorris: its setting up frame and doing various stuff
17:25:00  <indutny>checks and everything
17:25:04  <indutny>sometimes generating code
17:25:14  <trevnorris>I know, but I also like to find ways around all that stuff :)
17:25:23  <indutny>ok
17:25:53  <trevnorris>e.g. push the function to a persisted array shared between JS and C++, then have JS run through the queue and execute all the functions.
17:26:04  <dlmanning>bnoordhuis: hmm... thanks
17:26:24  <trevnorris>but that way would force all the callbacks to run async, which might be a problme.
17:26:34  * TooTallNatejoined
17:27:06  <indutny>trevnorris: ah, I see now
17:27:41  <trevnorris>even if we have to set the context (i.e. using .call()) that's still much faster than using the Function::Call() api
17:28:24  <bnoordhuis>trevnorris: Object::Get("foo") where "foo" is an accessor :)
17:28:34  <bnoordhuis>that was firmly tongue-in-cheek btw
17:28:38  <trevnorris>heh
17:29:03  <trevnorris>I wonder, how slow is Object::Get()? I know how expensive ::Set() is.
17:29:07  * trevnorrisoff to benchmark
17:35:09  * defunctzombie_zzchanged nick to defunctzombie
17:35:38  * dominictarrjoined
17:36:48  * dshaw_joined
17:38:33  <trevnorris>wow, getting a named property from a JS object in C++ is the same speed as calling a JS function from C++
17:38:36  <trevnorris>sort of sad.
17:38:57  <indutny>well
17:38:59  <indutny>no surprise
17:39:06  * AvianFlujoined
17:39:07  <indutny>I still hope that they'll give us API for ICs
17:39:23  <trevnorris>that would be amazingly awesome.
17:46:31  <indutny>but a bit useless for core :)
17:46:43  <indutny>I don't think we'll benifit much from it
17:50:59  <trevnorris>indutny: so, shooting blind here. but think there'd be a way to interrupt c++ execution while JS does something w/o the use of Function::Call()?
17:50:59  * defunctzombiechanged nick to defunctzombie_zz
17:51:19  <indutny>huh?
17:51:27  <indutny>well
17:51:31  <indutny>it should be quite easy
17:51:35  <indutny>if you'll make C++ stack vanish
17:51:36  <indutny>:)
17:51:46  <indutny>well
17:51:50  <indutny>easier
17:51:53  <indutny>not really easy
17:52:43  * defunctzombie_zzchanged nick to defunctzombie
17:53:36  * defunctzombiechanged nick to defunctzombie_zz
17:53:51  <MI6>libuv-master: #247 UNSTABLE windows (3/195) smartos (9/194) linux (1/194) http://jenkins.nodejs.org/job/libuv-master/247/
17:54:46  * st_lukejoined
17:55:22  * c4miloquit (Remote host closed the connection)
17:59:41  <trevnorris>you've got to be kidding me. it takes just as long to set an indexed property as it does to call into JS
17:59:53  <trevnorris>freak. there's got to be a way around that cost.
18:00:24  <trevnorris>any ideas from the group?
18:01:50  <TooTallNate>bnoordhuis: indutny: ping
18:02:01  <TooTallNate>you guys ever seen anything like this? https://gist.github.com/TooTallNate/489fab8edc26c2d65220
18:05:08  <bnoordhuis>TooTallNate: looks like an url
18:05:47  <TooTallNate>bnoordhuis: i mean the contents of the gist within the URL :p
18:05:51  <bnoordhuis>oh :)
18:05:58  <bnoordhuis>looks like a corrupted PEM file
18:06:08  <TooTallNate>oh
18:06:14  <TooTallNate>that's definitely a possibility...
18:06:22  <TooTallNate>we just started passing in our own "ca" array
18:06:44  <MI6>libuv-node-integration: #232 UNSTABLE smartos-ia32 (1/640) smartos-x64 (6/640) linux-x64 (1/640) http://jenkins.nodejs.org/job/libuv-node-integration/232/
18:08:38  <trevnorris>ha ha! ok. so it takes ~50 ns to call a noop function from c++, but it only takes 8 ns to return the function from C++ and run it from JS
18:09:34  <trevnorris>so that gives me an edge going from js to C++, now just need some magic to go the other way around.
18:12:59  * defunctzombie_zzchanged nick to defunctzombie
18:14:14  * jmar777_quit (Read error: Connection reset by peer)
18:14:43  * jmar777joined
18:15:14  <indutny>TooTallNate: pong
18:15:56  <TooTallNate>indutny: i think ben nailed it already
18:16:04  <TooTallNate>indutny: interesting gist though, if you want to see :p https://gist.github.com/TooTallNate/489fab8edc26c2d65220
18:18:00  <TooTallNate>indutny: bnoordhuis do you think there could be issues wrt the same "ca" array being passed to many TLS connections at the same time?
18:18:07  <TooTallNate>i.e. the Buffer instances
18:18:13  <TooTallNate>something not thread-safe?
18:18:28  <TooTallNate>cause the weird part is that the http requests work like 50% of the time
18:19:01  * Benviequit
18:19:59  <bnoordhuis>TooTallNate: hrm, sounds unlikely. though it's odd that it only fails sometimes
18:20:17  <TooTallNate>bnoordhuis: i'll try creating new buffer instances for each request to rule that out
18:24:21  <trevnorris>indutny: can you briefly explain more about making the C++ stack vanish?
18:24:41  <trevnorris>indutny: i'm looking for the quickest way to get into JS from a C++ callback through MakeCallback.
18:25:04  <trevnorris>coming from Js there're plenty of tricks, but coming directly from the uv event loop is proving difficult.
18:26:04  <trevnorris>oh, and none of this is really necessary right now. my mind just needed a break from async listeners and geek out on performance tuning :P
18:27:46  <bnoordhuis>hrm, is github down again?
18:27:53  <tjfontaine>WFM
18:29:56  <indutny>trevnorris: well, that's just an idea
18:30:08  <indutny>trevnorris: v8 spends a lot of time preparing stack for entering js
18:30:20  <indutny>trevnorris: but if you just wish to discard all C++ stuff and just call into it
18:30:28  <indutny>it should be faster
18:32:01  <trevnorris>but if you started from C++ (coming from uv_run) won't emptying the C++ stack just cause the event loop to continue w/o ever entering into js? or am I completely not understanding the concept?
18:33:05  * jmar777quit (Read error: Connection reset by peer)
18:33:21  * jmar777joined
18:33:33  <roxlu_>indutny: a while ago you told me to use a volatile to keep a thread running/stop a thread, like: while(must_run) ... where must_run is: volatile int must_run; ... I just stumpled upon this article which is kinda interesting and related http://molecularmusings.wordpress.com/2012/03/05/volatile-thread-synchronization/
18:33:51  <indutny>not exactly this :)
18:34:21  <roxlu_>oh :)
18:34:39  * c4milojoined
18:35:06  <bnoordhuis>tjfontaine: yeah, it works again
18:35:33  <trevnorris>bnoordhuis: btw, now that I have the hang of your multi context patch, it's pretty rad to use. the code just feel cleaner.
18:35:43  <bnoordhuis>i know, right? :)
18:36:03  <bnoordhuis>next up, removing node_isolate and multi-isolating all the things
18:36:18  <trevnorris>whoot!
18:38:08  <trevnorris>bnoordhuis: this async patch could (though probably not) help with that. since it can track every async event currently running, it'd be simple enough to transverse and cleanup all the remaining classes when a isolate closes (or would that be handled automatically?)
18:39:33  <bnoordhuis>trevnorris: oh, we already have that (kind of) in the handle and req queues
18:40:15  <bnoordhuis>the ones that back process._getActiveHandles() and process._getActiveRequests() i mean
18:41:04  <trevnorris>ah, ok. coolio.
18:42:47  <trevnorris>noticed there're a few other places that use MakeCallback (e.g. zlib and c-ares) and they inherit from ObjectWrap. so they'll be missing. hopefully I'll be able to work ObjectWrap out of core soon-ish though.
18:45:40  <MI6>nodejs-master-windows: #357 UNSTABLE windows-x64 (19/640) windows-ia32 (21/640) http://jenkins.nodejs.org/job/nodejs-master-windows/357/
18:52:57  <bnoordhuis>yeah, that'd be nice
18:59:17  * trevnorris&
18:59:18  <LOUDBOT>THERE'S TOO MUCH STRUCTURE IN THIS NOISE
19:04:09  * bajtosquit (Quit: bajtos)
19:04:36  * bajtosjoined
19:04:48  * bajtosquit (Client Quit)
19:09:24  <TooTallNate>bnoordhuis: we found the bug in case you were curious :p we were in fact passing in invalid pem data as some of the "ca" entries
19:09:35  <TooTallNate>bnoordhuis: thanks for pointing me in the right direction
19:09:54  <bnoordhuis>TooTallNate: no problem :)
19:10:26  * jez0990quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
19:22:03  * bradleymeckquit (Quit: bradleymeck)
19:25:09  * EhevuTovjoined
19:28:07  * kenperkinsjoined
19:28:30  * inolenquit (Quit: Leaving.)
19:30:38  * EhevuTovquit (Quit: This computer has gone to sleep)
19:31:28  * EhevuTovjoined
19:53:41  * dshaw_quit (Quit: Leaving.)
19:54:41  * kenperkinsquit (Quit: Computer has gone to sleep.)
19:58:48  * inolenjoined
19:59:28  <bnoordhuis>inolen: you pinged me a few days ago, didn't you?
19:59:39  <bnoordhuis>sorry, didn't see it until much later
20:06:23  * kenperkinsjoined
20:07:23  * inolenquit (Ping timeout: 260 seconds)
20:14:33  * inolenjoined
20:20:57  * trevnorrisfg
20:29:02  * jmar777quit (Remote host closed the connection)
20:32:18  * indexzeroquit (Quit: indexzero)
20:32:57  <bnoordhuis>tjfontaine: you know what's up with the libuv tests on smartos?
20:33:08  <tjfontaine>erm, which one, lemme look
20:33:09  <bnoordhuis>lots of fs failures for no good reason afaics
20:33:14  <bnoordhuis>e.g. http://jenkins.nodejs.org/job/libuv-pullrequest/219/label=smartos/console
20:33:27  <bnoordhuis>they're not introduced by the PR btw
20:33:40  <tjfontaine>lemme kick that one off again
20:37:35  <tjfontaine>bnoordhuis: are you coming in for the all hands, or not because of the newborn?
20:37:50  <trevnorris>all hands?
20:38:17  <tjfontaine>bert and bajtos mentioned they were coming SF for a strongloop all hands
20:38:29  <tjfontaine>I was just curious if ben would be as well
20:39:13  <bnoordhuis>tjfontaine: no, i'm staying home this time
20:39:19  <tjfontaine>nod
20:39:36  <tjfontaine>I was hoping we could the band together :)
20:39:59  <bnoordhuis>next time :) next all hands is in january or february, i think
20:40:09  <tjfontaine>nod
20:46:28  * inolenquit (Quit: Leaving.)
20:47:17  <tjfontaine>bnoordhuis: these tests seem to be failing on master as well, I'm looking into them as we speak
20:47:48  * inolenjoined
20:53:33  * dapquit (Quit: Leaving.)
21:01:47  <trevnorris>othiym23: pr's been updated. slight change in api
21:04:31  <othiym23>*boing*
21:04:35  <othiym23>what's the change to the API?
21:05:00  <trevnorris>othiym23: additional argument passed to before/after
21:05:19  <trevnorris>also added createAsyncListener, in case you want to instantiate one but not being listening immediately
21:05:50  <trevnorris>that was helpful with domains, so I could create a single listener and attach it to the instance
21:05:53  * dshaw_joined
21:05:57  <trevnorris>then add/remove it when necessary
21:07:27  <trevnorris>bnoordhuis: should dns.resolve4('127.0.0.1'); segfault?
21:08:34  * felixgequit (Quit: felixge)
21:09:08  <trevnorris>indutny: ^ ?
21:09:55  <bnoordhuis>trevnorris: is that a rhetorical question?
21:10:02  * defunctzombiechanged nick to defunctzombie_zz
21:10:24  <trevnorris>bnoordhuis: i dunno. haven't ever needed to use the dns module before. :P
21:11:08  <bnoordhuis>well no, it shouldn't :)
21:11:15  <trevnorris>heh, ok
21:11:20  <trevnorris>i'm getting a bt now
21:13:34  <trevnorris>bnoordhuis: this tell you anything?
21:13:34  <trevnorris>https://gist.github.com/trevnorris/6629912
21:16:39  * dapjoined
21:19:26  <bnoordhuis>trevnorris: 0xa00000000 <- suspicious pointer
21:19:50  <trevnorris>yeah. had that pop up here:
21:19:51  <trevnorris> rbh_root = 0xa00000000
21:20:36  <bnoordhuis>try to deref it in gdb
21:20:44  <bnoordhuis>that said, i'm off to bed. sleep tight :)
21:20:52  <trevnorris>bnoordhuis: night :)
21:25:40  * bnoordhuisquit (Ping timeout: 264 seconds)
21:27:05  * AvianFluquit (Remote host closed the connection)
21:29:42  * kenperkinsquit (Quit: Computer has gone to sleep.)
21:36:11  * hzquit
21:39:22  * kenperkinsjoined
21:40:39  * AvianFlujoined
21:47:08  * kenperkinsquit (Quit: Computer has gone to sleep.)
22:06:32  * rendarquit
22:07:26  * Kakeraquit (Ping timeout: 240 seconds)
22:12:29  <trevnorris>othiym23: mind giving these a quick glance for my simple test coverage:
22:12:30  <trevnorris>https://github.com/joyent/node/pull/6011/files#diff-25
22:12:48  <trevnorris>https://github.com/joyent/node/pull/6011/files#diff-27
22:12:59  <othiym23>sure thing boss
22:15:50  * AvianFluquit (Ping timeout: 245 seconds)
22:19:50  * dominictarrquit (Quit: dominictarr)
22:31:16  * bnoordhuisjoined
22:34:24  <trevnorris>tjfontaine: there wouldn't be a magical way of running all tests, except ones that include a word, would there?
22:35:45  <trevnorris>othiym23: alright, except for domains being completely fubar, it'd say this if finally starting to work well :P
22:36:03  * bnoordhuisquit (Ping timeout: 260 seconds)
22:40:35  <othiym23>sweet, I prooooomise to spend some time hacking on it this weekend
22:40:39  <othiym23>maybe write some more tests
22:40:49  <othiym23>everything is happening at once for me right now
22:41:09  <trevnorris>eh, no worries. getting full backwards compatibility w/ domains is going to be fun.
22:41:47  <trevnorris>then we need to rewrite core to no longer use ObjectWrap so we can inherit from AsyncWrap in cases of tls and zlib
22:42:52  <othiym23>so, question -- how much of this stuff is going to have knock-on effects in core, and how much of that is beneficial?
22:43:12  <trevnorris>knock-on effects?
22:43:17  <othiym23>seems like you're unkinking lots of weirdness around a bunch of stuff right now
22:43:28  <othiym23>yeah, you know, benefits from the necessary refactoring and redesign work
22:45:20  <trevnorris>so you're asking what benefits will there be from this refactoring? (sorry, only devoting 1% of brain cells right now to language processing ;)
22:48:46  <trevnorris>well, things in core that will require some type of async event will have a single point of contact.
22:48:56  <trevnorris>all the domain specific code is already gone.
22:49:11  <trevnorris>and there should be a lot less performance impact from using domains in general.
22:50:24  <trevnorris>some general cleanup (e.g. removal of ObjectWrap from being used internally) so better code simplification.
22:50:28  <othiym23>awesome, I'll tell people to use them even more than I already am ;)
22:50:38  <trevnorris>hah, oy
22:50:42  <trevnorris>don't know if I like that ;)
22:50:53  <othiym23>TOO BAD
22:50:54  <LOUDBOT>IS IT JAVA, OR IS IT SCRIPT?
22:51:02  <trevnorris>haha
22:51:06  <trevnorris>NICE LOUDBOT
22:51:07  <LOUDBOT>LARGE MOUND FORMS OVER SIMONOV'S GRAVE BY CONSTANT TUMBLING OF HIS ANGRY CORPSE. IS FAULT OF PEOPLE LIKE YOU.
22:51:38  <trevnorris>othiym23: there're some crazy features that I think might be useful, but not going to worry about right now.
22:52:13  <trevnorris>for example, give you the ability to queue native methods to run when a native class is instantiated or run from MakeCallback
22:52:19  <trevnorris>that'll drop a lot of the performance impact
22:52:28  <trevnorris>and it'll give you access to more of the v8 debugging api
22:53:46  <trevnorris>like getting heap statistics, stack frames and stack traces
22:54:40  <trevnorris>or even LowMemoryNotification, so you can alert the app that it's going to crash soon.
22:57:25  <trevnorris>othiym23: there's a bunch of stuff. i'm just fine putting the hooks in place. mainly because they don't affect core performance with the method i've implemented.
23:00:16  <othiym23>yep
23:00:32  <othiym23>totally going to frame all my hard technical problems as threats to Node core performance from now on
23:00:45  <trevnorris>haha
23:01:24  * dshaw_quit (Quit: Leaving.)
23:03:08  <trevnorris>well, honestly. now that i'm removing domains from core i'm thinking about doing the same w/ callbacks and removing events. we'll leave them in, but they won't be needed.
23:04:07  <trevnorris>truly make core just "core"
23:06:11  <othiym23>that would be pretty sweet
23:07:04  * dshaw_joined
23:08:41  <trevnorris>let's see. then we also need an HTTPWrap, so we can use the same type of callback system. that should remove a bunch of overhead. try to figure out something with the module system.
23:09:09  <trevnorris>since cross module communication causes a context jump.
23:09:51  <trevnorris>also standardize all the v8/JS performance techniques so they're not so scattered.
23:10:31  <trevnorris>there's a new one I'm working on. you can return a function from C++ and call it with .cal() in JS 5x's faster than using Function::Call()
23:10:35  <trevnorris>*.call()
23:11:46  <trevnorris>anyways, sorry. getting bored figuring out why domains are giving me a 'maximum call stack exceeded'
23:19:31  <TooTallNate>trevnorris: wow interesting, the Function::Call() thing
23:20:11  <trevnorris>TooTallNate: yeah, right? say I Persist function noop() { } in C++, and call it, it takes ~50 ns
23:20:25  <trevnorris>TooTallNate: but if instead I return the function to JS and call it, only around ~8 ns
23:20:51  <TooTallNate>trevnorris: you and your tiny numbers <3
23:21:21  <trevnorris>TooTallNate: and the advantage is, calling from js I believe it can take advantage of IC (not sure if the v8 api can)
23:21:43  <TooTallNate>trevnorris: so the noop fn is a C++ function or a JS function?
23:22:21  <trevnorris>TooTallNate: https://github.com/trevnorris/v8-basics
23:22:28  <trevnorris>check what i'm doing in run.js and basics.cc
23:23:02  <TooTallNate>i see
23:24:01  <othiym23>trevnorris: I second TooTallNate's <3 for your tiny number <3
23:24:08  <trevnorris>TooTallNate: there's one case I haven't been able to optimize. that's when we are coming from C++, i'm not sure how to jump into js quickly to run the function.
23:24:36  <trevnorris>HOOAH FOR TINY NUMBER
23:24:37  <LOUDBOT>WHAT IS THIS BIZARRE WORLD OF DAILY NEWSPRINT
23:24:43  <othiym23>trevnorris: NMIs
23:24:53  <tjfontaine>ohi guys
23:25:32  <TooTallNate>hai
23:25:44  <trevnorris>tjfontaine: oh come on, you're not interested?
23:25:53  <tjfontaine>trevnorris: how did you hit that dns segfault, is this in your async branch?
23:26:04  <trevnorris>tjfontaine: nope. on master. I opened a but about it
23:26:08  <trevnorris>*bug
23:26:13  <trevnorris>*issue
23:26:16  <tjfontaine>I know, that's why I'm asking
23:26:40  <trevnorris>tjfontaine: what happens if you run that code?
23:26:55  <tjfontaine>trevnorris: how reliable is the failure for you?
23:27:18  <trevnorris>every time. oh, and it's on latest master.
23:27:21  <trevnorris>forgot to mention that.
23:27:25  <tjfontaine>ok
23:28:32  <tjfontaine>localhost:node tjfontaine$ ./node -e "require('dns').resolve4('127.0.0.1')"
23:28:32  <tjfontaine>dns.js:163
23:28:40  <tjfontaine> callback.immediately = true;
23:28:41  <tjfontaine> ^
23:28:41  <tjfontaine>TypeError: Cannot set property 'immediately' of undefined
23:28:51  <trevnorris>I get that on v0.10
23:28:57  <trevnorris>not on master
23:29:16  <tjfontaine>git log --oneline | head -1
23:29:17  <tjfontaine>d80d131 net: add a port validation to `connect`
23:30:21  <trevnorris>wtf. I swear github did some text replacement on the command with the ' and "
23:30:33  <tjfontaine>ya, I'm a big boy though :P
23:30:55  <trevnorris>heh
23:31:07  <trevnorris>yeah. every time. segfault.
23:31:22  <trevnorris>happens for dns.resolve*
23:31:37  <tjfontaine>it does core for me as well, it's interesting
23:34:26  <trevnorris>yeah, our tests there are sorta weak.
23:34:56  <tjfontaine>well we keep moving more of them into internet
23:35:01  <tjfontaine>because everyone complains they take too lon
23:35:01  <tjfontaine>g
23:35:06  <tjfontaine>or require internet access
23:35:11  <tjfontaine>just fucking run the test suite.
23:35:15  <tjfontaine>as I said in my talk :P
23:35:32  <trevnorris>hah,
23:36:31  <trevnorris>ah yup. there we go
23:46:18  <tjfontaine>trevnorris: btw, this fails in a file as well, or just from repl/-pe
23:46:56  <trevnorris>tjfontaine: file as well
23:47:24  <tjfontaine>k
23:49:07  <tjfontaine>trevnorris: multicontext is the offender
23:49:26  <trevnorris>tjfontaine: nice. that was fast
23:49:40  <trevnorris>actually track down the bug, or do a bisect?
23:50:16  <tjfontaine>I did a manual bisect this time, just picking some obvious target points
23:50:21  <tjfontaine>BUT
23:50:30  <tjfontaine>I have a grand glorious plan to do this in a nice way for anyone
23:50:41  <tjfontaine>since I'm building node for every commit and storing the artifacts
23:51:02  <tjfontaine>it shouldn't be too difficult to do this as a manta job, "here's my node one liner, run it against all commits, show me where it fails and where it succeeds"
23:51:29  <tjfontaine>or, I can do a commandline script for people to use, and download the commits prebuilt and do it locally
23:51:35  <tjfontaine>will save a shit ton of time for people
23:52:52  <trevnorris>sounds awesome.
23:53:29  <tjfontaine>I think will be, I'm going to be working on that this weekend, after I finish the findjsobjects thing for Raynos
23:56:31  <othiym23>that is a great application for manta, tjfontaine
23:56:51  <othiym23>I may have some devious plans for that
23:59:35  <tjfontaine>othiym23: ya, I described it briefly to groundwater last night, and more to some guys here, but it's pretty crucial for this sort of thing, it makes iit so much faster
23:59:47  <MI6>libuv-master-gyp: #186 UNSTABLE windows-x64 (3/195) smartos-ia32 (2/194) windows-ia32 (3/195) smartos-x64 (2/194) http://jenkins.nodejs.org/job/libuv-master-gyp/186/