00:00:47  <bnoordhuis>Breakpoint 1, kernel_init (unused=0x0) at init/main.c:839
00:00:47  <bnoordhuis>839 {
00:00:47  <bnoordhuis>(gdb) bt
00:00:47  <bnoordhuis>#0 kernel_init (unused=0x0) at init/main.c:839
00:00:47  <bnoordhuis>#1 0xffffffff81616084 in ?? () at arch/x86/kernel/entry_64.S:1216
00:00:48  <bnoordhuis>#2 0x0000000000000000 in ?? ()
00:00:51  <bnoordhuis>^ hell yeah
00:01:02  <piscisaureus_>3hahaha
00:01:12  <piscisaureus_>backtraced all to the bootloader :-)
00:12:49  * mcavagequit (Remote host closed the connection)
00:29:26  * brsonquit (Quit: leaving)
00:35:28  * joshthecoderquit (Quit: Leaving...)
00:44:56  * ericktquit (Quit: erickt)
01:14:31  * dapquit (Quit: Leaving.)
01:36:48  * abraxasjoined
01:37:42  * bnoordhuisquit (Ping timeout: 260 seconds)
01:42:51  * loladiroquit (Quit: loladiro)
01:46:14  * mmaleckiquit (Ping timeout: 272 seconds)
01:47:10  * lohkeypart
01:47:32  * joshthecoderjoined
02:05:27  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
02:28:19  * avalanche123joined
02:28:32  <piscisaureus_>https://github.com/piscisaureus/wsaepoll/blob/master/src/epoll.c <-- I'm so happy with myself :-p
02:33:29  * loladirojoined
03:19:33  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
03:33:20  * piscisaureus_joined
03:42:25  * mcavagejoined
03:47:05  * toothrquit (Ping timeout: 240 seconds)
03:51:07  * toothrjoined
03:57:05  * toothrquit (Ping timeout: 255 seconds)
04:03:37  * toothrjoined
04:26:26  * avalanche123quit (Quit: Computer has gone to sleep.)
04:27:05  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
04:32:46  * piscisaureus_quit (Ping timeout: 268 seconds)
04:33:40  * avalanche123joined
04:44:12  * mcavagequit (Remote host closed the connection)
04:47:33  * piscisaureus_joined
05:02:29  * piscisaureus_quit (Ping timeout: 244 seconds)
05:34:45  * ibobrikjoined
05:38:32  * ibobrikquit (Client Quit)
06:09:16  * loladiroquit (Quit: loladiro)
06:10:12  * ibobrikjoined
06:32:57  * FUUFREENODESTOPBjoined
06:34:02  * FUUFREENODESTOPBchanged nick to `3rdEden
06:34:40  * AvianFlujoined
06:37:43  * AvianFluquit (Client Quit)
07:02:27  * avalanche123quit (Quit: Computer has gone to sleep.)
07:09:54  * avalanche123joined
07:19:53  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
07:38:50  * paddybyersjoined
07:44:00  * avalanche123quit (Quit: Computer has gone to sleep.)
07:58:46  * rendarjoined
08:02:44  * mmaleckijoined
09:37:22  * paddybyersquit (Read error: Connection reset by peer)
09:37:42  * paddybyersjoined
09:57:38  * stagasjoined
09:58:16  * hzjoined
10:11:11  * `3rdEdenquit (Quit: Leaving...)
10:29:00  * abraxasquit (Remote host closed the connection)
10:50:26  * FUUFREENODESTOPBjoined
10:50:38  * FUUFREENODESTOPBchanged nick to `3rdEden
10:57:46  * paddybyersquit (Read error: Connection reset by peer)
10:57:51  * paddybyers_joined
11:30:32  * paddybyers_quit (Quit: paddybyers_)
12:00:06  * stagasquit (Read error: Connection reset by peer)
12:13:37  * `foguspart ("Leaving")
12:21:44  * ArmyOfBrucequit (Excess Flood)
12:22:12  * ArmyOfBrucejoined
12:44:47  * loladirojoined
12:53:25  * loladiroquit (Quit: loladiro)
13:03:16  * loladirojoined
13:20:32  * `3rdEdenquit (Quit: Leaving...)
13:21:43  * loladiroquit (Quit: loladiro)
13:38:36  <indutny>hey
13:41:56  * piscisaureus_joined
13:43:04  <indutny>piscisaureus_: hey man
13:43:13  <piscisaureus_>hey fedor
13:43:16  <indutny>piscisaureus_: can you please tell me one thing
13:43:23  <indutny>why is OpenSSL so totally fucked?!
13:43:31  <indutny>:)
13:43:45  <piscisaureus_>I don't know
13:43:52  <piscisaureus_>job security for the authors
13:43:58  <piscisaureus_>can you tell me
13:44:02  <piscisaureus_>why is it so slow in node?
13:45:04  <indutny>idk
13:45:12  <indutny>it's much slower everywhere else :)
13:45:16  <indutny>in httpd and ngin
13:45:18  <indutny>nginx*
13:45:22  <indutny>for me
13:45:28  <indutny>and I'm writing tlsnappy library
13:45:34  <indutny>to fix this problem
13:45:39  <indutny>wanna take a look at WIP?
13:46:34  <mmalecki>indutny: when it's done, tell me, I'll roll out to production balancers ;)
13:46:42  * stagasjoined
13:46:46  <indutny>ohh
13:46:50  <indutny>good good thing
13:46:53  <indutny>testing in production
13:47:25  <indutny>mmalecki: https://github.com/indutny/tlsnappy
13:47:29  <indutny>it's not ready
13:47:33  <indutny>but works
13:47:35  <indutny>well, partially
13:47:36  * FUUFREENODESTOPBjoined
13:47:48  * FUUFREENODESTOPBchanged nick to `3rdEden
13:47:53  <piscisaureus_>indutny: well that may be true but it's so much slower than windows' builtin tls
13:48:15  <indutny>piscisaureus_: I'm quite sure that windows is doing black magic there :)
13:48:15  <piscisaureus_>indutny: https://github.com/joyent/node/blob/master/deps/openssl/openssl/crypto/cryptlib.c#L694 <-- I don't like the look of that btw
13:48:42  <indutny>hahaha
13:48:51  <indutny>as far as we're distributing binaries
13:48:53  <indutny>we can't change this
13:50:21  * loladirojoined
13:53:33  * mmaleckiquit (Quit: Lost terminal)
13:54:15  * mmaleckijoined
14:00:27  <piscisaureus_>indutny: we can
14:00:34  <piscisaureus_>indutny: cpuid calls are at runtime
14:00:38  <indutny>ah
14:00:42  <indutny>it's runtime stuff
14:00:42  <indutny>sorry
14:00:56  <piscisaureus_>indutny: upgrading v8
14:01:11  <piscisaureus_>indutny: should I also float your patch for interrupted semaphor_wait()
14:01:17  <piscisaureus_>indutny: or did that get backparted also?
14:01:42  <piscisaureus_>doesn't look like it
14:02:01  <indutny>piscisaureus_: dunno
14:02:13  <indutny>gtg
14:02:17  <piscisaureus_>ok
14:10:33  * loladiroquit (Quit: loladiro)
14:10:59  <CIA-129>node: Bert Belder v0.8 * r4899116 / (10 files in 7 dirs): v8: upgrade to 3.11.10.22 - http://git.io/QJzVNg
14:11:00  <CIA-129>node: Bert Belder v0.8 * rc5e554d / (deps/v8/build/common.gypi deps/v8/tools/gyp/v8.gyp): v8: reapply floating patches - http://git.io/-I9PDg
14:11:00  <CIA-129>node: Fedor Indutny v0.8 * r052e63f / (2 files in 2 dirs): v8: fix semaphore on MacOS - http://git.io/Nz6X5A
14:19:51  * mcavagejoined
14:25:31  * ibobrikquit (Quit: ibobrik)
14:58:52  * c4milojoined
14:59:43  * ericktjoined
15:00:35  * ericktquit (Client Quit)
15:00:45  * loladirojoined
15:05:42  * loladiroquit (Quit: loladiro)
15:07:05  * AvianFlujoined
15:08:12  * ibobrikjoined
15:25:02  * AvianFluchanged nick to AVIANFLU
15:40:21  * loladirojoined
15:41:53  * AVIANFLUchanged nick to AvianFlu
15:46:24  * loladiroquit (Quit: loladiro)
15:48:52  * loladirojoined
15:49:03  * hzquit (Disconnected by services)
15:49:08  * hzjoined
15:49:27  * dapjoined
15:49:40  * loladiroquit (Client Quit)
15:52:20  * loladirojoined
16:12:10  * TheJHjoined
16:12:54  * ericktjoined
16:24:08  * hzquit (Disconnected by services)
16:24:13  * hzjoined
16:36:06  * AvianFluquit (Quit: AvianFlu)
16:40:30  * piscisaureus_quit (Ping timeout: 272 seconds)
16:52:33  * felixgejoined
16:52:34  * felixgequit (Changing host)
16:52:34  * felixgejoined
16:58:13  <indutny>hohoho
17:00:51  * loladiroquit (Quit: loladiro)
17:06:11  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
17:11:02  * AvianFlujoined
17:13:55  * TooTallNatejoined
17:15:19  * joshthecoderjoined
17:28:55  * piscisaureus_joined
17:34:43  * hzquit (Read error: Connection reset by peer)
17:38:13  * hzjoined
17:38:42  * brsonjoined
17:47:09  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
17:49:36  <ryah>piscisaureus_: when you releasing this epoll thing?
17:49:40  <ryah>piscisaureus_: is it working?
17:49:44  <ryah>it's fucking exciting
17:49:48  <ryah>you really need to do a blog post
17:49:51  <ryah>with *numbers*
17:49:55  <piscisaureus_>ryah: it is working
17:50:15  <piscisaureus_>ryah: I am working on a blog post, but I suck at writing
17:50:37  <ryah>writing is like coding - remove everything except the message
17:50:39  <piscisaureus_>ryah: it's very hard to keep focus for me and explain (only) the stuff that needs explanation
17:50:51  <ryah>give a tldr
17:51:32  <piscisaureus_>yeah, that seems like a good idea
17:51:35  <piscisaureus_>and numbers too
17:51:45  <piscisaureus_>it's somewhat saddening that it's not slow at all :-)
17:52:10  <piscisaureus_>but I have to improve the test to a point where it's not a mess
17:52:36  <piscisaureus_>ryah: also, I think not so many people will care :-)
17:52:40  <piscisaureus_>except you and me of course
17:52:45  <ryah>people will care
17:53:15  <ryah>have pquerna review it
17:53:20  <ryah>as an interested 3rd party
17:53:25  <ryah>before your release
17:53:58  <piscisaureus_>I'll have you review it too
17:54:04  <ryah>yeah of course :)
17:54:29  <ryah>just make sure to explain the situation with windows and iocp and why this is important
17:54:52  <piscisaureus_>yeah
17:55:09  <piscisaureus_>I also suffered feature creep
17:55:17  <ryah>how so?
17:55:21  <ryah>doing timers now?
17:55:31  <piscisaureus_>I wanted to do a blog post and have some demo code
17:55:43  <piscisaureus_>now it's basically just a full epoll emulator
17:55:57  <ryah>are you matching api?
17:56:08  <piscisaureus_>thread safety is missing and it only does sockets
17:56:12  <piscisaureus_>ya
17:56:12  <ryah>what's the link?
17:56:20  * bnoordhuisjoined
17:56:21  <piscisaureus_>ryah: https://github.com/piscisaureus/wsaepoll
17:56:26  <ryah>thanks
17:56:37  <ryah>i think you should change the name too
17:56:42  <ryah>or put an underscore in there
17:56:45  <piscisaureus_>yeah
17:56:47  <ryah>too many vowels
17:56:51  <piscisaureus_>it started off as wpoll
17:56:57  <ryah>epoll_windows
17:56:59  <piscisaureus_>buya
17:57:36  <ryah>are those vcxproj generated by gyp?
17:57:43  <piscisaureus_>yeah
17:57:49  <piscisaureus_>but I am going to keep them around
17:57:49  <ryah>nice
17:57:56  <ryah>yeah, good idea
17:58:39  <ryah>what's the deal with threads?
17:58:42  <indutny>anyone wants to help me with: https://github.com/indutny/tlsnappy ? :)
17:58:53  <piscisaureus_>ryah: well, it's fixable
17:59:05  <piscisaureus_>ryah: by putting mutexes at the right spots
17:59:14  <piscisaureus_>otherwise it should just work
17:59:32  <piscisaureus_>ryah: but I am not going to do it
17:59:52  <piscisaureus_>ryah: I have 1000 lines of code to explain already -> https://github.com/piscisaureus/wsaepoll/blob/master/src/epoll.c
18:00:33  <ryah>with the mutexes will it be possible to poll on the same socket from multiple threads?
18:01:10  * `3rdEdenjoined
18:01:19  <piscisaureus_>ryah: well, you could poll / epoll_ctl the same epoll port in multiple threads
18:01:38  <piscisaureus_>ryah: I think what you want is *also* possible but it requires a slightly different approach
18:01:45  <piscisaureus_>i'd have to test this tho
18:01:47  <ryah>this works for listening sockets?
18:02:08  <piscisaureus_>ryah: you mean, multiple threads? if it works, it works for listening sockets too
18:02:16  <piscisaureus_>but I'd have to test first
18:02:27  <piscisaureus_>ryah: I'll explain this in the blog post okay :-)
18:02:45  <ryah>ok
18:03:17  * lohkeyjoined
18:06:40  <piscisaureus_>ryah: tl;dr for you:
18:06:41  <piscisaureus_>* you can "queue" overlapped poll operations. E.g. they return when they have some event to report.
18:06:41  <piscisaureus_>* buf if you register EPOLLIN first and then you add EPOLLOUT later, then the poll for input is already submitted, so I'd have to queue another one to catch EPOLLOUT events.
18:06:41  <piscisaureus_>* this makes the epoll port management complicated
18:06:41  <piscisaureus_>* so I'm using a flag ('Exclusive') on the second poll operation, which forcefully aborts all the other poll ops.
18:06:41  <piscisaureus_>* this works well here, but it'd be a problem when you add a socket to two epoll ports.
18:09:23  <ryah>hm ok
18:10:08  <ryah>but i think if you wanted a multithreaded accept you'd just use one epoll port
18:10:13  <ryah>and poll on multiple threads?
18:10:32  <ryah>(which is really the only use-case im interested)
18:14:00  <piscisaureus_>that could work
18:15:03  <piscisaureus_>I'd have to add a mutex around all epoll_* functions
18:18:24  * hzquit (Read error: Connection reset by peer)
18:19:04  * AvianFluquit (Quit: AvianFlu)
18:20:59  <piscisaureus_>is there a grep option that prints only the matches, instead of maching lines?
18:21:10  * `3rdEdenquit (Quit: Leaving...)
18:21:24  * hzjoined
18:21:32  <tjfontaine>piscisaureus_: you mean only the files that match?
18:21:37  <piscisaureus_>no
18:21:49  * joshthecoderjoined
18:21:53  <piscisaureus_>I want to search for '\w+_ASM'
18:21:59  <piscisaureus_>and only print matches
18:22:00  <piscisaureus_>so
18:22:01  <tjfontaine>oh -o
18:22:01  <piscisaureus_>FOO_ASM
18:22:11  <piscisaureus_>hmm
18:22:16  <piscisaureus_>my grep doesn't do that ;_0
18:22:38  <tjfontaine>-o, --only-matching
18:22:59  <tjfontaine>it's in gnu and bsd it seems
18:23:03  <piscisaureus_>grep: unrecognized option `--only-matching'
18:28:29  * TooTallNatequit (Ping timeout: 244 seconds)
18:31:54  * hzquit (Read error: Connection reset by peer)
18:36:06  * TooTallNatejoined
18:39:29  * nrajlichjoined
18:39:48  * `3rdEdenjoined
18:40:33  * TooTallNatequit (Ping timeout: 252 seconds)
18:40:33  * nrajlichchanged nick to TooTallNate
18:45:02  * hzjoined
19:01:16  * paddybyersjoined
19:19:18  <piscisaureus_>indutny: (on 32 bit windows)
19:19:51  <piscisaureus_>indutny: if I enable all hand-crafted asm in openssl, tls-connect gets twice as fast
19:20:13  <piscisaureus_>we should also have a tls-pump bench btw :-)
19:23:01  <piscisaureus_>do you guys think this is a goal worth pursuing? ^-- bnoordhuis isaacs ?
19:23:34  <tjfontaine>to which, the benchmark or using the asm that openssl wants to use?
19:25:18  <piscisaureus_>ok the node tld-connect benchmark takes 44 seconds on my machine (using a 32-bit binary)
19:25:39  <piscisaureus_>tjfontaine: with a modified binary where asm has been enabled it takes 23 seconds
19:26:15  <piscisaureus_>tjfontaine: btw - the unmodified x64 binary is even faster than that, but I didn't test with asm files there yet
19:26:40  <tjfontaine>nod, I think we should be trying to use the asm where possible on nodejs supported platforms
19:27:08  <tjfontaine>though I would certainly look to seek out a way that we could reuse their silly perl so you're not maintaining too much
19:27:31  <piscisaureus_>ya, I didn't write all the asm files by hand of course :-)
19:27:36  <piscisaureus_>just generated them with perl
19:27:49  <indutny>oh, nice!
19:27:58  <piscisaureus_>but some asm files were not completely correct
19:28:00  <tjfontaine>right, I just mean upgrading openssl from time to time would be less work if we can reuse their perl generation
19:28:30  <piscisaureus_>yeah, I suppose we should put all the generated asm in the repo
19:28:37  <piscisaureus_>but make it easy to regenerate it
19:28:55  <piscisaureus_>it also requires some patches to gyp - it doesn't recognize masm files out of the box
19:32:01  <tjfontaine>man gyp is pretty flexible, http://codereview.appspot.com/6262050/patch/2001/3001
19:32:09  <tjfontaine>masm outputs in .asm?
19:36:43  <piscisaureus_>masm inputs are
19:36:59  <piscisaureus_>it also needs to add some extra options to the vcxproj
19:40:01  * `3rdEdenquit (Quit: Leaving...)
19:47:05  * CoverSlidequit (Ping timeout: 240 seconds)
20:02:17  <CIA-129>node: Pooya Karimian v0.8 * r0087bc6 / doc/api/cluster.markdown : cluster.worker description and examples ere missing from the top level of docs - http://git.io/4SW6oA
20:04:10  * loladirojoined
20:05:46  * piscisaureus_quit (Read error: No route to host)
20:11:21  * loladiroquit (Quit: loladiro)
20:11:47  * loladirojoined
20:11:47  * loladiroquit (Client Quit)
20:30:16  * loladirojoined
20:37:36  * piscisaureus_joined
20:42:26  * TheJHquit (Ping timeout: 260 seconds)
21:15:27  * felixgequit (Quit: felixge)
21:36:33  * TooTallNatequit (Ping timeout: 244 seconds)
21:39:46  * TooTallNatejoined
22:02:58  * hzquit (Disconnected by services)
22:03:03  * hzjoined
22:29:19  * rendarquit
22:42:07  * hzquit
22:47:14  * paddybyersquit (Quit: paddybyers)
23:10:35  * stagasquit (Ping timeout: 244 seconds)