14 Aug 20:05
Leaky JIT while running MonoDevelop
From: Casey Marshall <casey.s.marshall <at> gmail.com>
Subject: Leaky JIT while running MonoDevelop
Newsgroups: gmane.comp.gnome.mono.devel
Date: 2008-08-14 18:07:29 GMT
Subject: Leaky JIT while running MonoDevelop
Newsgroups: gmane.comp.gnome.mono.devel
Date: 2008-08-14 18:07:29 GMT
I've been seeing a memory leak -- or, maybe instead, "unbounded memory growth" -- while running MonoDevelop (SVN code of MD, mono-2-0 SVN of Mono). I've been running it under valgrind, and after running it overnight, I find traces like this in the output: > ==7947== 862,223,392 bytes in 1,737,838 blocks are still reachable in loss record 238 of 238 > ==7947== at 0x4C21F8F: memalign (vg_replace_malloc.c:460) > ==7947== by 0x4C22028: posix_memalign (vg_replace_malloc.c:569) > ==7947== by 0x507D299: (within /usr/lib/libglib-2.0.so.0.1600.4) > ==7947== by 0x507E0F0: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.1600.4) > ==7947== by 0x506035D: g_list_prepend (in /usr/lib/libglib-2.0.so.0.1600.4) > ==7947== by 0x432953: mono_arch_get_allocatable_int_vars (mini-amd64.c:910) > ==7947== by 0x5579A9: mini_method_compile (mini.c:12490) > ==7947== by 0x558CF8: mono_jit_compile_method (mini.c:12819) > ==7947== by 0x42C5A2: mono_magic_trampoline (mini-trampolines.c:249) > ==7947== by 0x415B164: ??? > ==7947== by 0x8FCA917: ??? > ==7947== by 0x85E7E9F: ??? (there are many other traces, but they're all two orders of magnitude smaller, in terms of memory size) I ran the same test again, this time with --optimize=-linears (which is where at least the above trace came from) and without --debug, and memory still grew, but not quite as quickly. I got another valgrind trace out of that run: > ==5807== 794,797,632 bytes in 1,601,948 blocks are still reachable in loss record 238 of 238 > ==5807== at 0x4C21F8F: memalign (vg_replace_malloc.c:460) > ==5807== by 0x4C22028: posix_memalign (vg_replace_malloc.c:569)(Continue reading)