00:03
pyrimidine joined
00:20
pyrimidine joined
|
|||
timotimo | so ... i'm apparently trying to reproduce the memory leak that comes from not setting foreign_memory back to 0 ... | 00:59 | |
i think i'm not doing it right | |||
maybe 100 evals aren't enough, or the code inside isn't complex enough | |||
TimToady | You have to do it with an eval laugh! | 01:03 | |
timotimo | ==25821== 0 bytes in 37,312 blocks are definitely lost in loss record 1 of 46 | 01:04 | |
um ... what? | |||
i mean, yeah, it's the function that's supposed to be leaking | 01:05 | ||
but ... how | |||
geekosaur | it thinks something else is referencing that memory | 01:06 | |
timotimo | um, so how is it "definitely lost", then? | ||
oh | |||
geekosaur | 0 bytes definitely lost | ||
timotimo | right! | ||
geekosaur | the final summary includes memory that it thinks *might* be lost, but until then it doesn't know for certain | 01:07 | |
and even then it can't be 100% certain but has some notion of what might be an indirect leak | |||
timotimo | well, yeah, of course | ||
you might have sent the pointer to the exact memory location off to a hidden server in the maledives | 01:08 | ||
geekosaur | to some extent, "pointer" is not a concrete thing that can be 100% reliably identified. especially when you are writing a garbage collector! it may do things that cause the emulator to wonder if it's really a pointer or not, so then you have X amount of memory that might be lost through something that it's not sure is a pointer or not | 01:11 | |
timotimo | right | 01:12 | |
geekosaur | depending on how the gc is written (and how clever the emulator's heuristics are) it may be more or less certain. if you managed to hit one of the "less certain" cases here, memcheck might be out of its depth | ||
timotimo | this isn't gc-managed memory, though :) | 01:13 | |
but i suppose gc-managed memory used to point to it | |||
02:48
ilbot3 joined
05:33
pyrimidine joined
05:46
nebuchadnezzar joined
06:35
pyrimidine joined
07:20
domidumont joined
07:25
domidumont joined
07:35
pyrimidine joined
08:29
domidumont joined
08:36
pyrimidine joined
08:45
pyrimidine joined
08:54
pyrimidine joined
09:23
pyrimidine joined
09:35
pyrimidine joined
09:42
pyrimidine joined
10:00
pyrimidine joined
10:10
pyrimidine joined
10:28
pyrimidine joined
10:38
pyrimidine joined
10:47
pyrimidine joined
11:05
pyrimidine joined
11:15
pyrimidine joined
11:33
pyrimidine joined
11:41
pyrimidine joined
11:43
pyrimidi_ joined
11:59
pyrimidine joined
12:03
FROGGS joined
12:11
pyrimidine joined
12:18
pyrimidine joined
12:38
pyrimidine joined
12:48
pyrimidine joined
12:57
pyrimidine joined
13:16
pyrimidine joined
13:25
pyrimidine joined
13:35
pyrimidine joined
13:43
pyrimidi_ joined
14:18
pyrimidine joined
14:45
pyrimidine joined
15:12
pyrimidine joined
15:13
nebuchadnezzar joined
15:24
pyrimidine joined
15:43
pyrimidine joined
15:49
pyrimidine joined
16:15
pyrimidine joined
16:25
pyrimidine joined
16:45
pyrimidine joined
16:55
pyrimidine joined
|
|||
dogbert17 deafening silence | 16:58 | ||
timotimo | hey dogbert, what's up? | ||
dogbert17 | hi timotimo, as always I have a suspicious gist :-) | 16:59 | |
is this RT or a MoarVM issue? gist.github.com/dogbert17/dca0295c...e19a6f8279 | |||
timotimo | ah, that one. i have no idea :| | 17:01 | |
i do see that we don't compile uv with debug info when moar's configure has debug turned on, apparently | 17:02 | ||
i wonder how to tell what stack frame the address belongs to | |||
dogbert17 | when I run it now I also get this: moar: 3rdparty/libuv/src/uv-common.c:624: uv_loop_delete: Assertion `err == 0' failed. | 17:03 | |
timotimo | how nice, it doesn't tell us what the error is, of course | 17:04 | |
17:04
pyrimidine joined
|
|||
dogbert17 | seems to come from: void uv_loop_delete(uv_loop_t* loop) { ... | 17:05 | |
timotimo | right | 17:07 | |
but it doesn't say what err is, other than "not 0" | |||
which is like "terminating because of an error: error." | |||
dogbert17 | I'll see if I can catch it somehow | 17:08 | |
timotimo | gdb should be of help | 17:09 | |
if you break on the assertion or something | |||
also, maybe you can/have to put -g3 into the CFLAGS inside libuv's Makefile | |||
dogbert17 | tryin to set a breakpoint in gdb didn't work. maybe I need this flag of yours then | 17:11 | |
timotimo | yeah, if it's compiled without debug symbols (as the lack of line numbers in the backtrace suggests) it won't let you do most interesting things | 17:12 | |
dogbert17 | hmm, which file is the makefile, there are several, hmm | 17:13 | |
timotimo | good question; i don't know much about how libuv is built | 17:14 | |
maybe the internet knows | |||
17:20
domidumont joined
17:23
pyrimidine joined
17:33
pyrimidine joined
17:49
pyrimidi_ joined
|
|||
dogbert17 | FROGGS: you around? | 18:09 | |
dogbert17 after a lot of tinkering, the error code is -16, the problem only occurs with the --full-cleanup option | 18:27 | ||
timotimo | ah | 18:35 | |
well, full-cleanup issues aren't as bad | |||
FROGGS | dogbert17: I am | 18:42 | |
dogbert17 | FROGGS: I was going to ask about a lib uv assertion failure (backlog a page) but it seems to occur when running with --full-cleanup so maybe it's not important | 18:46 | |
FROGGS | dogbert17: yeah, seen it a minute ago... I've no clue what we can/should do | 18:49 | |
dogbert17 | I believe that both timotimo and jnthn has said that --full-cleanup is a bit broken, so maybe the error is caused by some less optimal cleanup code | 18:51 | |
19:04
pyrimidine joined
19:16
pyrimidine joined
19:41
mst joined
19:42
pyrimidine joined
19:46
domidumont joined
19:56
pyrimidine joined
20:13
dalek joined
20:20
pyrimidine joined
20:32
pyrimidine joined
20:45
pyrimidine joined
21:09
pyrimidine joined
21:21
pyrimidine joined
21:40
pyrimidine joined
21:51
pyrimidine joined
22:00
pyrimidine joined
22:20
pyrimidine joined
22:30
pyrimidine joined
|
|||
dalek | arVM/compunit_string_mem_share: 549e7d5 | timotimo++ | src/ (4 files): Revert "Revert "share some string's memory with compunit memory"" This reverts commit b8f72297ba13736efb7e01b28d199b158b18d7df. |
22:31 | |
arVM/compunit_string_mem_share: 406fa15 | timotimo++ | src/6model/reprs/MVMCompUnit.c: Revert "Revert "prevent access to un-deserialized strings in gc_free"" This reverts commit 47629f3230b784de52f66de19c97f3d3e1e1f29e. |
|||
MoarVM/compunit_string_mem_share: c85c15f | timotimo++ | src/6model/reprs/MVMCompUnit.c: | |||
MoarVM/compunit_string_mem_share: make sure previously shared strings get freed | |||
22:48
pyrimidine joined
22:50
pyrimidi_ joined
23:09
pyrimidine joined
23:10
SmokeMachine joined
|
|||
SmokeMachine | hi there! I got a segfault trying to run my perl6 code: gist.github.com/FCO/bb1bb1c0285fcf...8789beb21f | 23:12 | |
it occurs some times... | |||
but my code is very big... I'm trying to reduce it... | 23:13 | ||
23:22
pyrimidine joined
23:47
pyrimidine joined
23:50
d4l3k_ joined
23:59
pyrimidine joined
|