00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:11:47  * c4milojoined
00:14:17  * mikealjoined
00:16:13  * c4miloquit (Ping timeout: 256 seconds)
00:24:09  * mrvisserquit (Remote host closed the connection)
00:27:50  * yunong_quit
00:34:57  * zz_karupachanged nick to karupa
00:37:31  * Soarezchanged nick to Soarez|afk
00:37:57  * avalanche123quit (Remote host closed the connection)
00:38:18  * quijotejoined
00:38:25  * avalanche123joined
00:41:20  * avalanche123quit (Read error: Connection reset by peer)
00:41:32  * bradleymeckquit (Quit: bradleymeck)
00:41:50  * avalanche123joined
00:43:10  * quijotequit (Ping timeout: 264 seconds)
00:46:11  * dsantiagoquit (Remote host closed the connection)
00:49:56  * TooTallNatequit (Quit: Computer has gone to sleep.)
00:55:28  * thlorenzjoined
00:57:01  * Ralithquit (Ping timeout: 256 seconds)
00:57:44  * dsantiagojoined
01:01:03  * brsonquit (Ping timeout: 240 seconds)
01:02:36  * kazuponjoined
01:06:38  * inolenquit (Ping timeout: 240 seconds)
01:16:16  * dap_quit (Quit: Leaving.)
01:16:49  * a_lejoined
01:17:59  * AlexisMochaquit (Ping timeout: 256 seconds)
01:19:48  * a_le_quit (Ping timeout: 260 seconds)
01:27:09  * thlorenzquit (Remote host closed the connection)
01:27:36  * thlorenzjoined
01:28:27  * sh1mmer_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:31:38  * thlorenzquit (Ping timeout: 240 seconds)
01:38:51  * quijotejoined
01:43:18  * quijotequit (Ping timeout: 250 seconds)
01:43:45  * inolenjoined
01:47:25  * Ralithjoined
02:15:20  * c4milojoined
02:26:20  * avalanche123quit (Remote host closed the connection)
02:26:47  * avalanche123joined
02:29:26  * c4miloquit (Remote host closed the connection)
02:31:37  * avalanche123quit (Ping timeout: 272 seconds)
02:36:54  * avalanche123joined
02:37:31  * c4milojoined
02:39:38  * quijotejoined
02:40:07  * c4milo_joined
02:40:11  * c4miloquit (Read error: Connection reset by peer)
02:43:58  * c4milojoined
02:44:07  * c4miloquit (Remote host closed the connection)
02:44:24  * quijotequit (Ping timeout: 250 seconds)
02:44:55  * c4milo_quit (Ping timeout: 272 seconds)
02:46:26  * c4milojoined
02:46:33  * rmgquit (Remote host closed the connection)
02:48:41  * avalanche123quit (Remote host closed the connection)
02:49:08  * avalanche123joined
02:51:34  * c4miloquit (Ping timeout: 264 seconds)
02:53:18  * avalanche123quit (Ping timeout: 240 seconds)
02:56:26  * c4milojoined
03:00:33  * c4miloquit (Ping timeout: 240 seconds)
03:06:20  * petka_quit (Quit: Connection closed for inactivity)
03:07:39  * calvinfojoined
03:08:28  * calvinfoquit (Client Quit)
03:11:12  * AvianFlujoined
03:15:27  * dshaw_joined
03:17:07  * rmgjoined
03:21:33  * rmgquit (Ping timeout: 240 seconds)
03:33:38  * TooTallNatejoined
03:40:01  * bradleymeckjoined
03:40:23  * quijotejoined
03:43:18  * rmgjoined
03:45:43  * quijotequit (Ping timeout: 272 seconds)
03:50:09  * thlorenzjoined
03:51:35  * toothrotquit (Ping timeout: 264 seconds)
03:55:16  * kazuponquit (Remote host closed the connection)
03:55:43  * kazuponjoined
04:00:14  * kazuponquit (Ping timeout: 250 seconds)
04:24:41  * txdvquit (Read error: Connection reset by peer)
04:25:01  * txdvjoined
04:26:28  * kazuponjoined
04:31:03  * kazuponquit (Ping timeout: 240 seconds)
04:35:59  * kazuponjoined
04:41:09  * quijotejoined
04:44:08  * calvinfojoined
04:44:31  * c4milojoined
04:45:38  * quijotequit (Ping timeout: 240 seconds)
04:49:47  * c4miloquit (Ping timeout: 264 seconds)
05:00:06  * rmgquit (Remote host closed the connection)
05:19:37  * calvinfoquit (Quit: Leaving.)
05:20:52  * avalanche123joined
05:21:06  * rosskjoined
05:21:19  * AvianFluquit (Remote host closed the connection)
05:22:00  * calvinfojoined
05:25:16  * avalanche123quit (Ping timeout: 260 seconds)
05:29:55  * piscisaureusjoined
05:33:26  * rosskquit
05:41:56  * quijotejoined
05:46:35  * quijotequit (Ping timeout: 256 seconds)
05:46:40  * bajtosjoined
06:00:44  * rmgjoined
06:05:18  * rmgquit (Ping timeout: 240 seconds)
06:13:46  * thlorenzquit (Remote host closed the connection)
06:14:23  * thlorenzjoined
06:14:37  * dainisjoined
06:16:19  * stagasjoined
06:18:54  * thlorenzquit (Ping timeout: 250 seconds)
06:22:02  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
06:24:02  * calvinfoquit (Quit: Leaving.)
06:32:55  * c4milojoined
06:37:06  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
06:37:59  * c4miloquit (Ping timeout: 272 seconds)
06:42:44  * quijotejoined
06:47:24  * quijotequit (Ping timeout: 260 seconds)
06:50:19  * calvinfojoined
07:16:37  * thlorenzjoined
07:21:13  * thlorenzquit (Ping timeout: 256 seconds)
07:23:25  * Soarez|afkchanged nick to Soarez
07:24:03  * rmgjoined
07:28:33  * rmgquit (Ping timeout: 240 seconds)
07:29:08  * rendarjoined
07:34:02  * c4milojoined
07:38:33  * c4miloquit (Ping timeout: 240 seconds)
07:43:29  * quijotejoined
07:48:55  * quijotequit (Ping timeout: 272 seconds)
08:14:58  * Left_Turnquit (Remote host closed the connection)
08:20:38  * thlorenzjoined
08:24:09  * calvinfoquit (Quit: Leaving.)
08:25:03  * thlorenzquit (Ping timeout: 240 seconds)
08:44:16  * quijotejoined
08:49:10  * quijotequit (Ping timeout: 264 seconds)
08:49:26  * avalanche123joined
08:53:38  * avalanche123quit (Ping timeout: 240 seconds)
09:00:20  * calvinfojoined
09:06:03  * calvinfoquit (Ping timeout: 240 seconds)
09:12:52  * dshaw_quit (Quit: Leaving.)
09:13:36  * bajtosquit (Quit: bajtos)
09:20:46  <MI6>joyent/libuv: Aaron Bieber master * 38323c9 : openbsd: avoid requiring privileges for uv_resident_set_memory - http://git.io/JVgd_w
09:20:57  * KiNgMaRquit (Ping timeout: 245 seconds)
09:22:18  * c4milojoined
09:23:31  * KiNgMaRjoined
09:26:38  * c4miloquit (Ping timeout: 240 seconds)
09:26:42  * quijotejoined
09:43:40  * dsantiagoquit (Quit: Leaving...)
09:45:44  * karupachanged nick to zz_karupa
10:01:40  * dsantiagojoined
10:03:23  * inolenquit (Quit: Leaving.)
10:09:03  * quijotequit (Ping timeout: 240 seconds)
10:11:50  * inolenjoined
10:12:59  * inolenquit (Client Quit)
10:23:32  * thlorenzjoined
10:28:04  * thlorenzquit (Ping timeout: 250 seconds)
10:28:44  * guybrushquit (Excess Flood)
10:29:27  * guybrushjoined
10:49:38  * stagasquit (Ping timeout: 240 seconds)
10:54:08  * shadi77joined
10:54:21  <shadi77>hello everybody!
10:55:37  <shadi77>am wondering if uv_write can be called on the same uv_stream_handle to send two http requests in parallel...
10:56:18  <shadi77>using two different uv_write_t requests and two buffers
10:57:45  <shadi77>moreover, i assume uv_write should be called from within the event loop thread and cant be called from another thread, correct?
11:00:37  * seishunjoined
11:05:43  * janjongboomjoined
11:10:34  * c4milojoined
11:15:03  * c4miloquit (Ping timeout: 240 seconds)
11:21:49  * Left_Turnjoined
11:29:02  * mrvisserjoined
11:34:24  * a_lequit (Ping timeout: 260 seconds)
11:42:37  * kazuponquit (Remote host closed the connection)
11:43:05  * kazuponjoined
11:47:18  * kazuponquit (Ping timeout: 240 seconds)
12:25:34  * thlorenzjoined
12:30:34  * thlorenzquit (Ping timeout: 264 seconds)
12:30:45  * toothrotjoined
12:35:03  * mrvisserquit (Remote host closed the connection)
12:42:53  * mrvisserjoined
12:48:48  * Soarezchanged nick to Soarez|afk
12:49:26  <bradleymeck>shadi77: no, since the stream may not be consumed at the same rate
12:51:49  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:51:59  * avalanche123joined
12:54:33  <shadi77>bradleymeck: although this might happen on two sequenced events?
12:54:48  <bradleymeck>unsure what you mean by that
12:55:08  <shadi77>i mean not to be executed within the same event callback
12:55:30  <shadi77>how can i know then when its safe to call uv_write again
12:55:53  <shadi77>i thought uv_write requests are queued
12:56:10  <shadi77>becz each has its own context
12:56:18  * avalanche123quit (Ping timeout: 240 seconds)
12:56:42  <shadi77>how does http pipelining work then?
12:57:46  <bradleymeck>the receiving end may not consume it at the same rate so getting confused what you are asking. As for the waiting on write to finish, you still want the write callback
12:58:02  <bradleymeck>http pipelining buffers requests until the previous one finishes
12:58:25  <bradleymeck>though support for pipelining is not great even today :-/
12:59:17  <shadi77>do u mean then, that in all cases, i have to wait for the write callback before firing the next write ?
12:59:20  <bradleymeck>shadi77: they are queued not buffered and duplicated
12:59:33  <bradleymeck>shadi77: you don't have to
12:59:48  <bradleymeck>just when you split a stream to go to 2 destinations you need to
12:59:57  <bradleymeck>*buffer/duplicate them
13:00:21  <shadi77>lets say that i have two different buffers (uv_buf_t)
13:00:29  * bajtosjoined
13:00:45  <shadi77>and ofcource different write_req_t
13:00:53  <shadi77>then am on the safe side i think
13:01:08  <shadi77>i can call uv_write many times on the same handle
13:01:12  * AlexisMochajoined
13:01:37  <bradleymeck>thats fine
13:01:54  <shadi77>cool.. shall i do that from within the event loop thread
13:02:08  <shadi77>or i can call it from another thread given that i have the loop*
13:02:47  <shadi77>i believe the former
13:02:50  <bradleymeck>do it from the event loop thread, if the origin is not the event loop thread use an uv_async_t
13:03:14  <shadi77>yah.. i still dont know how uv_async_t works
13:03:22  <shadi77>does it queue an event to the event loop thread?
13:03:55  <bradleymeck>yes, it queues the task
13:04:24  <shadi77>shall i take care of any thread-safety issues then (i mean would there be any race conditions to be handled)
13:05:13  <bradleymeck>not from the write as long as it is on the event loop thread
13:06:03  <shadi77>cool
13:06:14  <shadi77>there is one question left in my mind
13:06:15  * avalanche123joined
13:06:25  * avalanche123quit (Remote host closed the connection)
13:06:35  * toothrotquit (Ping timeout: 264 seconds)
13:06:50  <shadi77>which is suppose after the http response is received from within the event loop, a callback need to be called..
13:06:51  * avalanche123joined
13:06:56  <shadi77>whats the proper way to do this
13:07:02  <shadi77>without affecting the event loop
13:07:33  <bradleymeck>you read the http from uv_read?
13:07:43  <shadi77>yes
13:08:11  <shadi77>i have the response ready, now i need to call a user-defined callback
13:08:25  <shadi77>yet i want the event loop to continue processing events
13:08:35  <shadi77>shall i post to a thread to do this
13:08:37  <bradleymeck>you can just notify the other thread if you have a separate event loop, you can invoke the function directly if it is threadsafe
13:09:14  <shadi77>am afraid invoking the function might affect the event loop performance
13:09:27  <shadi77>do u recommend having a seperaee event loop for such purposes
13:09:35  <bradleymeck>the event loop main thread is not where IO is queued/performed
13:09:40  <shadi77>how wooudl the notification done then, throught async_t?
13:10:14  <shadi77>correct, however its gonna block the loop for sometime
13:10:51  <bradleymeck>shadi77: correct, if you do not want a queued execution during your function you would want to spin up a separate thread or event loop
13:11:07  <bradleymeck>queued execution can give you some niceties though
13:11:25  * avalanche123quit (Ping timeout: 256 seconds)
13:12:53  <shadi77>no queued execution is not a goal actually becaz i the aim is to process as many concurrent requests as possible
13:15:49  <shadi77>bradlymeck: thanks a lot for the helpful notes... if i may ask when to use a pipe vs async_t?
13:38:51  * avalanche123joined
13:39:58  * saghulquit (Ping timeout: 240 seconds)
13:43:04  * avalanche123quit (Ping timeout: 250 seconds)
13:59:25  * Soarez|afkchanged nick to Soarez
14:08:28  * a_lejoined
14:13:11  * a_lequit (Ping timeout: 256 seconds)
14:19:31  * kazuponjoined
14:20:29  * c4milojoined
14:24:38  * c4miloquit (Ping timeout: 240 seconds)
14:26:27  * thlorenzjoined
14:30:32  * quijotejoined
14:30:44  * thlorenzquit (Ping timeout: 250 seconds)
14:38:55  * c4milojoined
14:46:31  * pquernaquit (Ping timeout: 240 seconds)
14:47:28  * pquernajoined
14:47:28  * pquernaquit (Changing host)
14:47:28  * pquernajoined
14:52:00  * avalanche123joined
14:58:57  * quijotequit (Ping timeout: 272 seconds)
15:03:25  * bajtosquit (Quit: bajtos)
15:09:36  <bradleymeck>are we trying to upgrade to v8 3.27 pre 0.12?
15:09:52  <bradleymeck>just saw the comment about the old debug agent being gone
15:10:32  * mikealquit (Quit: Leaving.)
15:12:15  * dainisquit (Ping timeout: 272 seconds)
15:25:12  * daviddiasjoined
15:26:41  * bajtosjoined
15:33:03  * bajtosquit (Ping timeout: 240 seconds)
15:36:45  * bradleymeckquit (Quit: bradleymeck)
15:36:58  * bajtosjoined
15:38:15  * mrvisserquit (Remote host closed the connection)
15:40:05  * shadi77quit
15:40:11  * bradleymeckjoined
15:41:29  * daviddiasquit (Remote host closed the connection)
15:43:52  * kazuponquit (Remote host closed the connection)
15:58:44  * avalanche123quit (Remote host closed the connection)
15:59:15  * avalanche123joined
16:00:34  * TooTallNatejoined
16:03:28  * avalanche123quit (Ping timeout: 250 seconds)
16:08:19  * c4miloquit (Remote host closed the connection)
16:08:43  * daviddiasjoined
16:15:00  * rmgjoined
16:16:51  * Ralithquit (Ping timeout: 272 seconds)
16:17:18  * mrvisserjoined
16:19:31  * dap_joined
16:24:29  * mcavagejoined
16:36:24  * c4milojoined
16:40:33  * c4miloquit (Ping timeout: 240 seconds)
16:42:24  * mrvisserquit
16:48:39  * daviddiasquit (Remote host closed the connection)
16:50:51  * Ralithjoined
16:53:07  * rosskjoined
16:54:46  * mrvisserjoined
17:01:24  * saghuljoined
17:02:33  * inolenjoined
17:06:07  * brsonjoined
17:10:32  * a_lejoined
17:21:18  * calvinfojoined
17:21:52  * brockfredinjoined
17:28:01  * daviddiasjoined
17:29:02  * daviddiasquit (Remote host closed the connection)
17:29:38  * daviddiasjoined
17:34:02  * daviddiasquit (Ping timeout: 250 seconds)
17:35:23  * AlexisMochaquit (Ping timeout: 264 seconds)
17:48:12  * a_lequit (Remote host closed the connection)
17:49:08  * daviddiasjoined
17:52:29  * avalanche123joined
17:53:26  * avalanche123quit (Remote host closed the connection)
17:55:39  * AlexisMochajoined
17:55:48  * TooTallNatequit (Quit: Computer has gone to sleep.)
17:57:08  * avalanche123joined
17:57:09  * avalanche123quit (Remote host closed the connection)
17:57:21  * avalanche123joined
17:58:30  * sblomquit (Read error: Connection reset by peer)
18:00:58  * dainisjoined
18:02:55  * daviddiasquit (Remote host closed the connection)
18:04:25  * Soarezchanged nick to Soarez|afk
18:06:56  * dainisquit (Quit: ZNC - http://znc.in)
18:11:34  * dainisjoined
18:21:47  * mrvisserquit (Remote host closed the connection)
18:23:32  * dainisquit (Quit: ZNC - http://znc.in)
18:24:29  * c4milojoined
18:27:12  * dainisjoined
18:29:03  * c4miloquit (Ping timeout: 240 seconds)
18:34:33  * daviddiasjoined
18:35:37  * daviddiasquit (Remote host closed the connection)
18:36:10  * daviddiasjoined
18:39:54  * TooTallNatejoined
18:40:46  * daviddiasquit (Ping timeout: 264 seconds)
18:44:59  * a_lejoined
18:45:06  * a_lequit (Remote host closed the connection)
18:45:54  * a_lejoined
18:51:59  <chrisdickinson>re: https://github.com/joyent/node/issues/6041, do you think something like https://gist.github.com/chrisdickinson/dbd19148dddf67d08e3c would be a viable solution? (would we want to add more checks, like looking to see if there's a `close` listener on `dst`, or is this approach too magic in general?)
19:05:01  <tjfontaine>hmm I'mnot sure that's where we want to be for that fix
19:10:26  <tjfontaine>chrisdickinson: on the question of "re-piping an unpiped inflight stream" (omg the indirection) you are asking about a readable that was unpiped from a writable, and someone might want to repipe the original readable?
19:10:52  <chrisdickinson>yep
19:11:17  <chrisdickinson>for instance, `fs.createReadStream().pipe(resp)`, where `resp` closes early
19:11:33  <chrisdickinson>is there a case where folks would want to re-pipe the createReadStream somewhere else?
19:12:28  <tjfontaine>ya potentially, your application may allow for lossy behavior
19:12:30  <chrisdickinson>(trying to figure out if, in the lifespan of a readable, there's a use-case for a partially exhausted readable being piped somewhere else after its original destination(s) have closed)
19:12:49  <tjfontaine>consider a log source, to a log sink whose tcp connection dies
19:13:17  * chrisdickinsonnods
19:13:38  <tjfontaine>it may be sufficient for you to repipe and lose whatever was left in the readable side of the writable (though this is part fo the problem with under specified nature of streams)
19:13:47  <tjfontaine>you also don't really know what ever made it over the pipe of the tcp connection
19:13:58  <tjfontaine>at best we know what we dispatched
19:14:29  <tjfontaine>anyway, re-pipe is definitely a potential use case we want to support
19:15:20  * daviddiasjoined
19:15:41  <chrisdickinson>hm. a follow-up question would be: in the aforementioned fs to httpresponse pipeline, on unpipe, is there anything keeping the fs.ReadStream from being gc'd?
19:17:00  <chrisdickinson>well, that might not help, actually :\
19:17:52  <tjfontaine>right the issue that I pointed to from mcavage fleshes out more of these problems
19:18:54  * daviddiasquit (Remote host closed the connection)
19:19:01  <chrisdickinson>ah, cool
19:19:33  <chrisdickinson>(my (incorrect) thought was: if the ReadStream gets gc'd, then its handle should get gc'd, which I thought had a C++-land hook to close the resource -- but that appears to not be the case)
19:21:24  <tjfontaine>it can be the case
19:22:02  <bradleymeck>tjfontaine: lmk when you find a ticket for me to tackle that is blocking 0.12, i can do all the research etc.
19:22:29  <tjfontaine>bradleymeck: I almost moved on wanting your module stuff in yesterday but then I chickened out, I have a few that I need some review on
19:22:48  <bradleymeck>tjfontaine: it would be too big a change
19:23:07  <tjfontaine>fwiw -- http://triage.nodejs.org:5000/joyent:node,libuv (cc daviddias) this what i wish we had that did more than just pr's
19:23:26  <tjfontaine>bradleymeck: I know and I am still not sold on some of our solutions to the nittier problems
19:23:35  <tjfontaine>it just came up again in conversation
19:23:54  * avalanche123quit (Remote host closed the connection)
19:24:18  * brsonquit (Ping timeout: 240 seconds)
19:26:26  * daviddiasjoined
19:27:29  * rendarquit (Ping timeout: 272 seconds)
19:27:29  <tjfontaine>daviddias: you just missed the line I wanted you to see -- http://triage.nodejs.org:5000/joyent:node,libuv is similar to what I was looking for, but wanted it to cover more than PRs
19:33:09  * rendarjoined
19:33:19  * bajtosquit (Quit: bajtos)
19:35:12  <bradleymeck>tjfontaine: well if you list your complaints somewhere I can talk to various people. my only disagreement that we had last time was I don't want to overload the .node file extension for dual purpose
19:36:09  <tjfontaine>sure I don't really care about, there were other parts about the relationship to Module.extensions and contextually different resolving -- just that I'm more worried and want to absolutely get it right
19:36:14  * calvinfopart
19:39:08  * a_le_joined
19:41:36  * a_lequit (Ping timeout: 260 seconds)
19:45:34  * daviddiasquit (Remote host closed the connection)
19:47:31  * avalanche123joined
19:50:05  * daviddiasjoined
19:57:42  <daviddias>ah! that is very cool tjfontaine, were you doing it?
19:58:36  <daviddias>where is this project hosted?
19:59:38  <daviddias>I started rewritting stuff at nodeconf, but I can refocus my energy for this version
20:00:28  <daviddias>will look into github-pr-triage
20:03:07  <dirkson>Hello all. I'm having... a dandy of a problem. Code was working yesterday, and doesn't work today. Nothing's changed, near as I'm aware. When I call uv_write, my program crashes. Clang's address sanitizer seems unaware of this happening, gdb pinpoints uv_write2 as the failure point. Everything I'm feeding into uv_write is 100% above board - No null pointers, no unallocated anything, no free'd anything. Problem
20:03:11  <dirkson>occurs on both 0.10.25 and 0.10.27 .... I don't even how what where when why wat?
20:07:34  <dirkson>I did run a single upgrade yesterday, but I know libuv wasn't involved... Does it have dependencies I'm unaware of?
20:08:11  <indutny>dirkson: hello
20:08:17  <dirkson>indutny: Hi : )
20:08:23  <indutny>dirkson: could you post some code as a gist?
20:08:31  <indutny>how are you calling uv_write() may be really important
20:08:34  <dirkson>Suresure, just a tick.
20:08:37  <indutny>thanks!
20:09:21  <dirkson>indutny: http://pastebin.com/XC7mv6qW - This is inside a wrapper of mine. When uncommented, the debug stuff works AOK. Let me know if you need more context
20:09:50  <indutny>so
20:09:53  <indutny>the main questions to ask
20:09:58  <indutny>are you sure that Request
20:09:59  <indutny>Handle
20:10:02  * indexzerojoined
20:10:05  <indutny>and Buffer contents are alive
20:10:10  <indutny>until the req_cb is called?
20:10:14  <indutny>also
20:10:17  <indutny>do you have a backtrace?
20:10:42  <dirkson>indutny: http://pastebin.com/XR2QDEmp - And this is the output of the debug code. Obviously it doesn't work because I'm freeing the stuff, but clang's address sanitizer allows me to verify I'm not double-freeing.
20:10:54  <dirkson>indutny: I can get you a backtrace, hold on : )
20:11:08  * mrvisserjoined
20:11:16  <indutny>dirkson: ah
20:11:21  <indutny>dirkson: you should not free stuff :)
20:11:26  <indutny>until write_cb
20:11:40  <indutny>I mean, Callback
20:12:20  <dirkson>indutny: Clang's address sanitizer does NOT provide a backtrace - Which is startling. gdb does: http://pastebin.com/ZXmRMVCT
20:12:42  * c4milojoined
20:12:57  <dirkson>indutny: I'm absolutely aware - And I don't, except as a debug measure. If I'd previous free'd any of those values, clang's address sanitizer would error with 'double free'.
20:14:05  <indutny>dirkson: so
20:14:13  <indutny>considering that the `write` is failing
20:14:21  <indutny>it is most likely that the buffer that you gave to the libuv
20:14:29  <indutny>is gone
20:14:37  <indutny>or
20:14:37  <indutny>Buffer=0x1e
20:14:44  <indutny>yeah
20:14:45  <indutny>it is
20:14:45  <indutny>Buffer=0x1e
20:14:50  <indutny>also
20:14:53  <indutny>Callback=0x0
20:14:56  <indutny>what do you expect? :)
20:15:01  <indutny>it will crash
20:15:22  * dirksonblink, blink
20:15:46  <dirkson>Where is this? The backtrace?
20:15:51  <indutny>so
20:15:53  <indutny>Buffer is bogus
20:15:56  * daviddiasquit (Remote host closed the connection)
20:15:56  <indutny>and I see it in backtrace
20:17:03  * c4miloquit (Ping timeout: 240 seconds)
20:19:08  <dirkson>indutny: http://pastebin.com/AafadkLg - Here it is again, this time compiled without clang's address sanitizer. The pointers change, but the crash doesn't.
20:19:35  <indutny>it appears to be crashing in write()
20:19:40  <indutny>aah
20:19:41  <indutny>wait
20:19:43  <indutny>it is not crashing
20:19:46  <indutny>it is just a SIGPIPE
20:19:50  <dirkson>OH!
20:19:50  <indutny>you need to handle it
20:19:54  <indutny>or ignore it
20:20:02  <indutny> signal(SIGPIPE, SIG_IGN);
20:20:08  <dirkson>That's... strange. I've already added sigpipe handling code. Just a tick
20:20:19  <dirkson>indutny: Good eye, though!
20:20:41  <indutny>dirkson: ok
20:20:46  <indutny>it may be lldb/gdb handling the signal
20:21:01  <indutny>process handle SIGPIPE -n true -p true -s false
20:21:02  <indutny>for lldb ^
20:21:06  <indutny>for gdb: handle SIGPIPE nostop
20:22:27  * janjongboomjoined
20:22:29  <dirkson>indutny: AHHAH. I handle sigpipe in the /server/ setup, not the /client/ setup.
20:23:19  <dirkson>indutny: I'm still very confused why this is suddenly a problem. I thought sigpipes were mainly "This application is trying to read too many tcp/udp events". I should study them.
20:23:31  <indutny>not this
20:23:37  <indutny>it means that the other side got closed
20:23:41  * mrvisserquit (Remote host closed the connection)
20:23:50  <indutny>it could happen due to various conditions
20:24:03  <indutny>tjfontaine: ping
20:24:44  * daviddiasjoined
20:24:49  <dirkson>Ahhhhh. So my server crashed (Verified: YUP) and the attempt to connect anyway does this. I would have thought it would fail at the tcp connection stage.
20:25:16  * c4milojoined
20:26:25  * qard-appnetaquit (Read error: Connection reset by peer)
20:27:02  <dirkson>indutny: Thank you so much :D It's definitely one of 'those' days today, I think.
20:27:08  * qard-appnetajoined
20:29:22  * daviddiasquit (Ping timeout: 264 seconds)
20:29:26  * qard-appnetapart
20:30:03  * c4miloquit (Ping timeout: 240 seconds)
20:31:13  * rosskquit
20:32:04  * mcavagequit (Remote host closed the connection)
20:32:32  * mcavagejoined
20:34:49  * dshaw_joined
20:36:04  * c4milojoined
20:37:08  * mcavagequit (Ping timeout: 260 seconds)
20:41:25  * mcavagejoined
20:46:03  * mcavagequit (Ping timeout: 240 seconds)
20:47:14  * daviddiasjoined
20:47:57  * daviddiasquit (Read error: Connection reset by peer)
20:48:20  * daviddiasjoined
20:53:37  * daviddiasquit (Ping timeout: 272 seconds)
20:57:07  * brsonjoined
20:57:28  <indutny>dirkson: you are welcome
21:02:43  * indexzeroquit (Quit: indexzero)
21:02:58  * mcavagejoined
21:07:08  * mcavagequit (Ping timeout: 240 seconds)
21:20:46  * daviddiasjoined
21:20:47  * daviddiasquit (Read error: Connection reset by peer)
21:21:01  * daviddiasjoined
21:23:26  * daviddia_joined
21:23:54  * daviddia_quit (Remote host closed the connection)
21:24:00  * daviddiasquit (Read error: No route to host)
21:24:05  * AvianFlujoined
21:24:11  * daviddiasjoined
21:28:46  * calvinfojoined
21:30:56  * mcavagejoined
21:31:50  * a_le_quit (Remote host closed the connection)
21:33:29  * calvinfoquit (Ping timeout: 256 seconds)
21:33:34  * a_lejoined
21:34:37  * mrvisserjoined
21:35:55  * c4miloquit (Remote host closed the connection)
21:36:03  * mcavagequit (Ping timeout: 272 seconds)
21:36:52  * seishunquit (Ping timeout: 260 seconds)
21:38:38  * mrvisserquit (Ping timeout: 240 seconds)
21:46:13  * a_le_joined
21:50:22  * a_lequit (Ping timeout: 264 seconds)
21:52:29  * indexzerojoined
21:58:53  * Soarez|afkchanged nick to Soarez
21:59:23  * Soarezchanged nick to Soarez|afk
22:06:30  * mcavagejoined
22:08:15  * avalanche123quit (Remote host closed the connection)
22:08:27  * Soarez|afkchanged nick to Soarez
22:09:42  * bradleymeckquit (Quit: bradleymeck)
22:11:01  * avalanche123joined
22:19:23  * c4milojoined
22:23:19  * mrvisserjoined
22:27:18  * a_lejoined
22:27:24  * a_le_quit (Read error: Connection reset by peer)
22:28:36  * rendarquit
22:28:46  * calvinfojoined
22:31:08  * daviddiasquit (Remote host closed the connection)
22:31:47  * calvinfoquit (Read error: Connection reset by peer)
22:32:04  * calvinfojoined
22:37:18  * indexzeroquit (Quit: indexzero)
22:42:58  * a_lequit (Remote host closed the connection)
22:43:35  * a_lejoined
22:44:17  * daviddiasjoined
22:44:23  * dshaw_quit (Quit: Leaving.)
22:44:52  * euoiajoined
22:48:50  * dshaw_joined
22:52:58  * mrvisserquit (Remote host closed the connection)
22:58:00  * toothrotjoined
23:00:03  * Damn3dquit (Ping timeout: 240 seconds)
23:02:47  * Damn3djoined
23:10:29  * Soarezchanged nick to Soarez|afk
23:11:27  * dshaw_quit (Quit: Leaving.)
23:15:01  * mikealjoined
23:23:59  * mrvisserjoined
23:25:38  * mrvisserquit (Read error: Connection reset by peer)
23:25:39  * mrvisser_joined
23:30:41  * mrvisser_quit (Ping timeout: 272 seconds)
23:42:00  * TooTallNatequit (Read error: Connection reset by peer)
23:47:14  * TooTallNatejoined
23:55:17  * daviddiasquit (Remote host closed the connection)
23:57:18  * euoiaquit (Ping timeout: 240 seconds)