00:30:10  * Fishrock123joined
01:04:55  * Fishrock123quit (Remote host closed the connection)
01:05:34  * Fishrock123joined
01:05:40  * Fishrock123quit (Remote host closed the connection)
02:07:26  * Fishrock123joined
02:13:24  * Fishrock123quit (Ping timeout: 268 seconds)
02:52:27  * Fishrock123joined
02:56:21  * Fishrock123quit (Remote host closed the connection)
02:57:02  * Fishrock123joined
02:57:09  * Fishrock123quit (Remote host closed the connection)
03:14:26  * Fishrock123joined
03:20:01  * geniojoined
03:21:02  <genio>http://dist.libuv.org/dist/v1.12.0/ on the windows builds, would it be possible to get the version information and whatnot added to the DLL itself so things like (Get-Command "C:\Program Files\libuv\libuv.dll").Version will function as expected?
03:30:01  * Fishrock123quit (Quit: Leaving...)
06:24:31  * rendarjoined
08:16:00  * Ralith_quit (Ping timeout: 276 seconds)
08:17:03  * Ralith_joined
10:25:11  * mylesborinsquit (Quit: farewell for now)
10:25:41  * mylesborinsjoined
12:04:07  * geniopart
14:40:40  * rendarquit (Ping timeout: 246 seconds)
16:22:51  * Jacob843quit (Ping timeout: 276 seconds)
16:26:06  * Jacob843joined
16:47:48  * rendarjoined
18:10:18  * jfejoined
18:33:45  <jfe>hi all. i have a problem with libuv v1.x on ubuntu 14.04. the uv__handle_init() macro call in uv_timer_init() is overwriting heap-allocated data.
18:35:38  <jfe>brb
18:35:41  * jfequit (Quit: ERC (IRC client for Emacs 25.1.1))
18:36:05  * jfejoined
18:36:09  <jfe>back
18:38:08  <jfe>the libuv binary has opcodes that read data offset from %rdi into %rdi: 0x00007ffff7bcaa5a <+26>: mov 0x18(%rdi),%rdx
18:38:56  <jfe>this happens to be the address of a heap-allocated string that was allocated before calling uv_timer_init.
18:39:35  <jfe>three opcodes later, the start of the string is overwritten: 0x00007ffff7bcaa66 <+38>: mov %rax,(%rdx)
18:40:33  <jfe>this is on ubuntu 14.04, using gcc 4.8.4, libuv v1.x from github.
18:44:56  * daurnimatorquit (Ping timeout: 258 seconds)
18:46:15  * daurnimatorjoined
18:46:50  <jfe>here's a paste: https://pastebin.com/Ns2hxtU4
18:58:57  <jfe>could this be a compiler bug?
19:04:30  <indutny>jfe: does it happen in debug build too?
19:04:35  <indutny>also, give a try to valgrind
19:05:28  <jfe>indutny: that's a good question. i'm pretty sure i'm using a debug build.
19:05:38  <jfe>will double-check, though
19:06:53  <jfe>i seem to be using the default. i'll try building a debug version and see what happens.
19:09:08  <jfe>so i built with autotools. does anyone know how to build the debug version using that method?
19:09:44  <jfe>according to the README, "[GYP] is best used for integration into other projects." could this be a cause for the issue i'm seeing?
19:32:02  <jfe>okay, so i built using GYP and both debug and release builds show this behavior.
19:37:42  <jfe>yep, the uv__handle_init() macro is mucking with things.
19:38:35  <indutny>sorry, was afk
19:38:57  <indutny>I think the best bet would be to run it through valgrind
19:39:04  <indutny>it will show you what exactly gone wrong
19:39:31  <indutny>I'd be very surprised if there is a bug in uv__handle_init(), tbh
19:39:32  <indutny>this function hasn't changed in awhile
19:39:34  <indutny>and it is used in so many places
19:40:27  <jfe>no problem, i appreciate any help.
19:40:38  <jfe>i'll try valgrind now and see. i'm sure i'm doing something wonky.
19:41:50  <jfe>wow, yep.
19:44:40  <jfe>so, i have a timer callback that free()s the timer passed to it. valgrind is saying that isn't right.
19:45:40  <jfe>i.e. void recv(uv_timer_t *timer) { free(timer); }
19:46:33  <jfe>the timer is setup this way: uv_timer_t *timer = malloc(sizeof *timer); /* ... */ uv_timer_start(timer, (uv_timer_cb) recv, 0, 0);
19:47:36  <jfe>is there something else i need to do to clean up the timer?
19:52:32  <indutny>uv_close()?
19:52:49  <indutny>on timer
19:52:58  <indutny>and in close_cb the timer can be freed
19:53:37  <jfe>ahh.
19:55:12  <jfe>does uv_close() need to be called after uv_timer_init() has been called, or only once the timer has been started with uv_timer_start()?
19:58:30  <jfe>calling uv_close() fixed it!
20:04:51  <jfe>thanks a lot. now i need to scour my project to see where else i fail to do this :)
20:05:13  <indutny>no problem
20:05:15  <indutny>:)
20:05:30  <indutny>valgrind is your best friend now :D
20:05:38  <indutny>it is mine, FWIW
20:07:05  <jfe>does uv_close() need to be called on most objects (e.g. signal handlers)?
20:07:24  <jfe>i'm getting similar errors from valgrind about free()ing uv_signal_t's
20:08:05  <indutny>yeah
20:08:13  <indutny>everything that is a handle needs to be closed after _init
20:16:45  <jfe>i noticed that if i call uv_fs_event_stop(event); uv_close((uv_handle_t*) event, callback); i get the following assertion from libuv:
20:16:54  <jfe>../src/unix/core.c:108: uv_close: Assertion `!(((handle)->flags & (UV_CLOSING | UV_CLOSED)) != 0)' failed.
20:17:15  <jfe>i wasn't calling uv_fs_event_stop() before and didn't have this problem.
20:18:24  <jfe>ugh nevermind, my fault :)
20:40:31  * MoZu4k_joined
20:40:44  * MoZu4k_quit (Client Quit)
20:51:56  * bloopjoined
20:52:23  * blooppart ("Leaving")
21:03:45  * Ovodjoined
21:03:49  <Ovod>Hello
21:07:50  <Ovod>I'm trying to build libuv on Windows, but I'm getting syntax error in gyt pythoon scripts. Haven't ever worked with gyt, should I get some special version of Pythoon for it?
21:08:01  <Ovod>Output example: http://text-share.com/view/593866f4
21:08:54  <Ovod>Could anybody help me with it please? :)
21:11:07  <indutny>looking
21:11:18  <indutny>what python version do you have?
21:11:44  <indutny>AFAIK, libuv needs 2.7
21:11:53  <indutny>Ovod: see https://github.com/libuv/libuv#windows
21:12:10  <Ovod>3.something
21:12:19  <Ovod>Will try using 2.7, thanks
21:12:21  <indutny>yeah, readme claims that it works only on 2.6 or 2.7
21:12:22  <indutny>np
21:14:05  * jfequit (Ping timeout: 240 seconds)
21:22:26  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
21:46:59  * Ovodquit (Quit: Page closed)
22:11:47  * julianduquequit (Quit: leaving)
22:51:55  * jfejoined
23:19:03  * jfequit (Ping timeout: 260 seconds)