I have recently installed a version of vim with the mzscheme option enabled. And it sortof works except that some times it segfaults or has other memory corruption issues. So I enabled MZ_GC_CHECK when compiling vim, and now I get the corruption every single time on startup.<div>
<br></div><div>Here is the output from gdb when running it:</div><div><br></div><div><div>GNU gdb 6.3.50-20050815 (Apple version gdb-1820) (Sat Jun 16 02:40:11 UTC 2012)</div><div>Copyright 2004 Free Software Foundation, Inc.</div>
<div>GDB is free software, covered by the GNU General Public License, and you are</div><div>welcome to change it and/or distribute copies of it under certain conditions.</div><div>Type "show copying" to see the conditions.</div>
<div>There is absolutely no warranty for GDB. Type "show warranty" for details.</div><div>This GDB was configured as "x86_64-apple-darwin"...</div><div>warning: Unable to read symbols for Racket.framework/Versions/5.3.1.9_3m/Racket (file not found).</div>
<div><br></div><div>warning: Unable to read symbols from "Racket" (not yet mapped into memory).</div><div>Reading symbols for shared libraries .......... done</div><div><br></div><div>(gdb) run</div><div>Starting program: /Users/endobson/proj/vim/install/bin/vim</div>
<div>Reading symbols for shared libraries ++++.+++++....................................................................................................................................... done</div><div>Reading symbols for shared libraries . done</div>
<div>?: bad module path</div><div> in: #<bad-value></div><div> context...:</div><div> standard-module-name-resolver</div><div><br></div><div>Program received signal EXC_BAD_ACCESS, Could not access memory.</div>
<div>Reason: KERN_INVALID_ADDRESS at address: 0x00000000000000a0</div><div>0x0000000100328d99 in scheme_top_level_do_worker (dyn_state=0x0, k=0x7fff5fbfdd10, eb=1000, new_thread=1606409488) at fun.c:1227</div><div>1227 scheme_longjmp(*save, 1);</div>
<div>(gdb) bt</div><div>#0 0x0000000100328d99 in scheme_top_level_do_worker (dyn_state=0x0, k=0x7fff5fbfdd10, eb=1000, new_thread=1606409488) at fun.c:1227</div><div>#1 0x00000001003ff41e in _module_resolve (modidx=0x103004150, stx=0x103004068, env=0x0, load_it=1) at module.c:3860</div>
<div>#2 0x000000010041162a in parse_requires () at schthread.h:376</div><div>#3 0x00000001004122e4 in do_namespace_require () at module.c:7685</div><div>#4 0x00000001004123ce in scheme_namespace_require (r=0x103ec8008) at module.c:1316</div>
<div>#5 0x00000001001574dd in _mh_execute_header ()</div><div>#6 0x00000001001585d8 in _mh_execute_header ()</div><div>#7 0x000000010005bc43 in _mh_execute_header ()</div><div>#8 0x000000010004ca4a in _mh_execute_header ()</div>
<div>#9 0x000000010015f608 in _mh_execute_header ()</div><div>#10 0x00000001002a6093 in call_with_basic (data=0x103ec8008) at schthread.h:376</div><div>#11 0x00000001002a64a8 in scheme_main_setup (no_auto_statics=1606414024, _main=0x7fff5fbfe268, argc=6433496, argv=0x7fff5fbfe240) at salloc.c:194</div>
<div>#12 0x0000000100161fff in _mh_execute_header ()</div><div>#13 0x00007fff939eb7e1 in start ()</div><div>(gdb) </div></div><div><br></div><div>I can include more information if you can tell me what is useful.</div>