When building the latest of the IGC branch, commit: 887db2ff38ce82bb5f33aa128c76b578caba216d I am getting a SEGFAULT during temacs execution. running under a debugger, this occurs in root_find in igc.c `if (r->d.start == start)` (r is null in this case) walking the list of roots: p *global_igc->roots->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next provides: (igc_root_list) { next = NULL prev = 0x00000000006d5f00 d = { gc = 0x0000000000726e00 root = 0x00007fffe80012a8 start = 0x00000000006142e0 end = 0x0000000000622f20 label = 0x0000000000233fb9 "charset-table" ambig = true } } (lldb) p start (void *) 0x0000000000000000 (lldb) bt * thread #1, name = 'temacs', stop reason = signal SIGSEGV: address not mapped to object (fault address=0x20) frame #0: 0x000000000051c953 temacs`igc_xpalloc_lisp_objs_exact [inlined] root_find(start=0x0000000000000000) at igc.c:3111:8 frame #1: 0x000000000051c940 temacs`igc_xpalloc_lisp_objs_exact [inlined] igc_destroy_root_with_start(start=0x0000000000000000) at igc.c:3135:33 * frame #2: 0x000000000051c940 temacs`igc_xpalloc_lisp_objs_exact(pa=(struct Lisp_Symbol *) $7 = 0x0000000000685300, nitems=0x0000000000628e18, nitems_incr_min=, nitems_max=, item_size=, label="lface-id-to-name") at igc.c:3520:3 frame #3: 0x0000000000392fd1 temacs`Finternal_make_lisp_face(face=(struct Lisp_Symbol *) $13 = 0x000000000068d0c8, frame=) at xfaces.c:2993:8 frame #4: 0x000000000048981a temacs`eval_sub(form=) at eval.c:2703:15 frame #5: 0x000000000048d980 temacs`Flet [inlined] Fprogn(body=) at eval.c:455:13 frame #6: 0x000000000048d961 temacs`Flet(args=(struct Lisp_Cons *) $16 = 0x00007fffe71676d8) at eval.c:1203:9 frame #7: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #8: 0x000000000048ccf0 temacs`Fwhile [inlined] Fprogn(body=) at eval.c:455:13 frame #9: 0x000000000048ccd3 temacs`Fwhile [inlined] prog_ignore(body=) at eval.c:466:3 frame #10: 0x000000000048ccd3 temacs`Fwhile(args=) at eval.c:1224:7 frame #11: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #12: 0x000000000048d980 temacs`Flet [inlined] Fprogn(body=) at eval.c:455:13 frame #13: 0x000000000048d961 temacs`Flet(args=(struct Lisp_Cons *) $17 = 0x00007fffe7167768) at eval.c:1203:9 frame #14: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #15: 0x0000000000489b60 temacs`Fif [inlined] Fprogn(body=) at eval.c:455:13 frame #16: 0x0000000000489b40 temacs`Fif(args=) at eval.c:411:10 frame #17: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #18: 0x0000000000489de1 temacs`funcall_lambda [inlined] Fprogn(body=) at eval.c:455:13 frame #19: 0x0000000000489dd0 temacs`funcall_lambda(fun=(struct Lisp_Vector *) $19 = 0x00007fffe716fb80, nargs=39200, arg_vector=(struct Lisp_Symbol *) $25 = 0x0000800000681830) at eval.c:3452:15 frame #20: 0x000000000048ab14 temacs`apply_lambda(fun=(struct Lisp_Vector *) $19 = 0x00007fffe716fb80, args=, count=) at eval.c:3317:9 frame #21: 0x0000000000489028 temacs`eval_sub(form=) at eval.c:2789:9 frame #22: 0x0000000000489de1 temacs`funcall_lambda [inlined] Fprogn(body=) at eval.c:455:13 frame #23: 0x0000000000489dd0 temacs`funcall_lambda(fun=(struct Lisp_Vector *) $26 = 0x00007fffe7174d30, nargs=39200, arg_vector=(struct Lisp_Symbol *) $28 = 0x00008000006819d0) at eval.c:3452:15 frame #24: 0x000000000048ab14 temacs`apply_lambda(fun=(struct Lisp_Vector *) $26 = 0x00007fffe7174d30, args=, count=) at eval.c:3317:9 frame #25: 0x0000000000489028 temacs`eval_sub(form=) at eval.c:2789:9 frame #26: 0x0000000000489de1 temacs`funcall_lambda [inlined] Fprogn(body=) at eval.c:455:13 frame #27: 0x0000000000489dd0 temacs`funcall_lambda(fun=(struct Lisp_Vector *) $29 = 0x00007fffe7736e38, nargs=140737068522315, arg_vector=(struct Lisp_Symbol *) $31 = 0x0000800000681b70) at eval.c:3452:15 frame #28: 0x000000000048ab14 temacs`apply_lambda(fun=(struct Lisp_Vector *) $29 = 0x00007fffe7736e38, args=, count=) at eval.c:3317:9 frame #29: 0x0000000000489028 temacs`eval_sub(form=) at eval.c:2789:9 frame #30: 0x0000000000489b60 temacs`Fif [inlined] Fprogn(body=) at eval.c:455:13 frame #31: 0x0000000000489b40 temacs`Fif(args=) at eval.c:411:10 frame #32: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #33: 0x0000000000489de1 temacs`funcall_lambda [inlined] Fprogn(body=) at eval.c:455:13 frame #34: 0x0000000000489dd0 temacs`funcall_lambda(fun=(struct Lisp_Vector *) $32 = 0x00007fffe6fac7e8, nargs=140737078856675, arg_vector=(struct Lisp_Symbol *) $34 = 0x0000800000681df0) at eval.c:3452:15 frame #35: 0x000000000048ab14 temacs`apply_lambda(fun=(struct Lisp_Vector *) $32 = 0x00007fffe6fac7e8, args=, count=) at eval.c:3317:9 frame #36: 0x0000000000489028 temacs`eval_sub(form=) at eval.c:2789:9 frame #37: 0x00000000004b76e6 temacs`readevalloop_eager_expand_eval(val=, macroexpand=(struct Lisp_Symbol *) $36 = 0x0000800000681400) at lread.c:2389:13 frame #38: 0x00000000004bfa6e temacs`readevalloop(readcharfun=error: error: error: Multiple internal symbols found for 'buffer' id = {0x0000046a}, range = [0x00007ffff31feea8-0x00007ffff31feeb0), name="buffer" id = {0x00000427}, range = [0x00007ffff31fec00-0x00007ffff31fec08), name="buffer" id = {0x00000439}, range = [0x00007ffff31fece8-0x00007ffff31fecf0), name="buffer" id = {0x000004cd}, range = [0x00007ffff31ff420-0x00007ffff31ff428), name="buffer" id = {0x00000422}, range = [0x00007ffff31feba8-0x00007ffff31febb0), name="buffer" id = {0x00000432}, range = [0x00007ffff31feca8-0x00007ffff31fecb0), name="buffer" id = {0x000004bb}, range = [0x00007ffff31ff330-0x00007ffff31ff338), name="buffer" id = {0x000004bf}, range = [0x00007ffff31ff360-0x00007ffff31ff368), name="buffer" id = {0x0000041e}, range = [0x00007ffff31feb68-0x00007ffff31feb70), name="buffer" id = {0x000004c4}, range = [0x00007ffff31ff398-0x00007ffff31ff3a0), name="buffer" id = {0x00000417}, range = [0x00007ffff31feb00-0x00007ffff31feb08), name="buffer" id = {0x0000043e}, range = [0x00007ffff31fed40-0x00007ffff31fed48), name="buffer" id = {0x000004b7}, range = [0x00007ffff31ff2f8-0x00007ffff31ff300), name="buffer" id = {0x000004b3}, range = [0x00007ffff31ff298-0x00007ffff31ff2a0), name="buffer" id = {0x00000466}, range = [0x00007ffff31fee68-0x00007ffff31fee70), name="buffer" id = {0x0000046e}, range = [0x00007ffff31feee8-0x00007ffff31feef0), name="buffer" id = {0x0000042e}, range = [0x00007ffff31fec68-0x00007ffff31fec70), name="buffer" id = {0x00000445}, range = [0x00007ffff31feda8-0x00007ffff31fedb0), name="buffer" id = {0x000004e2}, range = [0x00007ffff31ff5a8-0x00007ffff31ff5b0), name="buffer" id = {0x000004dd}, range = [0x00007ffff31ff530-0x00007ffff31ff538), name="buffer" id = {0x000004e9}, range = [0x00007ffff31ff630-0x00007ffff31ff638), name="buffer" id = {0x0000048d}, range = [0x00007ffff31ff088-0x00007ffff31ff090), name="buffer" id = {0x000005ca}, range = [0x00007ffff31ffa70-0x00007ffff31ffa8e), name="buffer" id = {0x00000488}, range = [0x00007ffff31ff050-0x00007ffff31ff058), name="buffer" id = {0x000005c6}, range = [0x00007ffff31ffa60-0x00007ffff31ffa68), name="buffer" id = {0x000004ac}, range = [0x00007ffff31ff230-0x00007ffff31ff238), name="buffer" id = {0x00000484}, range = [0x00007ffff31ff020-0x00007ffff31ff028), name="buffer" id = {0x00000495}, range = [0x00007ffff31ff0e0-0x00007ffff31ff0e8), name="buffer" id = {0x000004d9}, range = [0x00007ffff31ff4c8-0x00007ffff31ff4d0), name="buffer" id = {0x0000047e}, range = [0x00007ffff31fef88-0x00007ffff31fef90), name="buffer" id = {0x000005c5}, range = [0x00007ffff31ffa58-0x00007ffff31ffa60), name="buffer" id = {0x0000049a}, range = [0x00007ffff31ff118-0x00007ffff31ff120), name="buffer" id = {0x000004d5}, range = [0x00007ffff31ff488-0x00007ffff31ff490), name="buffer" id = {0x000005c4}, range = [0x00007ffff31ffa48-0x00007ffff31ffa50), name="buffer" id = {0x00000473}, range = [0x00007ffff31fef40-0x00007ffff31fef48), name="buffer" id = {0x000004a2}, range = [0x00007ffff31ff170-0x00007ffff31ff178), name="buffer" id = {0x000004a6}, range = [0x00007ffff31ff1b8-0x00007ffff31ff1c0), name="buffer", infile0=0x0000000000000000, sourcename=(struct Lisp_String *) $39 = 0x00007fffe70d1d30, printflag=false, unibyte=(struct Lisp_Symbol *) $7 = 0x0000000000685300, readfun=(struct Lisp_Symbol *) $7 = 0x0000000000685300, start=(struct Lisp_Symbol *) $7 = 0x0000000000685300, end=) at lread.c:2571:15 frame #39: 0x00000000004c0e6f temacs`Feval_buffer(buffer=, printflag=(struct Lisp_Symbol *) $41 = 0x00007fffe7757238, filename=(struct Lisp_Symbol *) $7 = 0x0000000000685300, unibyte=(struct Lisp_Symbol *) $7 = 0x0000000000685300, do_allow_print=) at lread.c:2651:3 frame #40: 0x00000000004897d8 temacs`eval_sub(form=) at eval.c:2714:15 frame #41: 0x0000000000489b60 temacs`Fif [inlined] Fprogn(body=) at eval.c:455:13 frame #42: 0x0000000000489b40 temacs`Fif(args=) at eval.c:411:10 frame #43: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #44: 0x000000000048d980 temacs`Flet [inlined] Fprogn(body=) at eval.c:455:13 frame #45: 0x000000000048d961 temacs`Flet(args=(struct Lisp_Cons *) $43 = 0x00007fffe236d5b8) at eval.c:1203:9 frame #46: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #47: 0x000000000048d980 temacs`Flet [inlined] Fprogn(body=) at eval.c:455:13 frame #48: 0x000000000048d961 temacs`Flet(args=(struct Lisp_Cons *) $44 = 0x00007fffe236d0d8) at eval.c:1203:9 frame #49: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #50: 0x00000000004899f4 temacs`Funwind_protect(args=(struct Lisp_Cons *) $45 = 0x00007fffe236d810) at eval.c:1491:9 frame #51: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #52: 0x000000000048d980 temacs`Flet [inlined] Fprogn(body=) at eval.c:455:13 frame #53: 0x000000000048d961 temacs`Flet(args=(struct Lisp_Cons *) $46 = 0x00007fffe236cc50) at eval.c:1203:9 frame #54: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #55: 0x0000000000489b60 temacs`Fif [inlined] Fprogn(body=) at eval.c:455:13 frame #56: 0x0000000000489b40 temacs`Fif(args=) at eval.c:411:10 frame #57: 0x0000000000489676 temacs`eval_sub(form=) at eval.c:2651:30 frame #58: 0x0000000000489de1 temacs`funcall_lambda [inlined] Fprogn(body=) at eval.c:455:13 frame #59: 0x0000000000489dd0 temacs`funcall_lambda(fun=, nargs=, arg_vector=) at eval.c:3452:15 frame #60: 0x000000000048a432 temacs`Ffuncall(nargs=, args=(struct Lisp_Symbol *) $48 = 0x0000000000685840) at eval.c:3195:21 frame #61: 0x00000000004c0a15 temacs`Fload(file=(struct Lisp_Symbol *) $7 = 0x0000000000685300, noerror=, nomessage=(struct Lisp_Symbol *) $7 = 0x0000000000685300, nosuffix=, must_suffix=) at lread.c:1649:10 frame #62: 0x00000000004897d8 temacs`eval_sub(form=) at eval.c:2714:15 frame #63: 0x00000000004bfc45 temacs`readevalloop(readcharfun=(struct Lisp_Symbol *) $51 = 0x0000000000690708, infile0=0x00007fffffffd820, sourcename=(struct Lisp_String *) $53 = 0x00007ffff1cb6930, printflag=false, unibyte=(struct Lisp_Symbol *) $7 = 0x0000000000685300, readfun=(struct Lisp_Symbol *) $7 = 0x0000000000685300, start=(struct Lisp_Symbol *) $7 = 0x0000000000685300, end=) at lread.c:2573:15 frame #64: 0x00000000004c089c temacs`Fload(file=(struct Lisp_Cons *) $54 = 0x00007fffe70d1a18, noerror=, nomessage=(struct Lisp_Symbol *) $7 = 0x0000000000685300, nosuffix=, must_suffix=) at lread.c:1761:9 frame #65: 0x00000000004897d8 temacs`eval_sub(form=(struct Lisp_Cons *) $55 = 0x00007ffff1cb6670) at eval.c:2714:15 frame #66: 0x0000000000489a50 temacs`Feval(form=(struct Lisp_Cons *) $55 = 0x00007ffff1cb6670, lexical=(struct Lisp_Symbol *) $57 = 0x0000000000685338) at eval.c:2551:10 frame #67: 0x00000000003f7822 temacs`top_level_2 at keyboard.c:1196:21 frame #68: 0x0000000000487293 temacs`internal_condition_case(bfun=(temacs`top_level_2 at keyboard.c:1192:6), handlers=(struct Lisp_Symbol *) $60 = 0x00000000006853a8, hfun=(temacs`cmd_error at keyboard.c:982:1)) at eval.c:1707:25 frame #69: 0x00000000003f85b2 temacs`top_level_1(ignore=) at keyboard.c:1208:5 frame #70: 0x00000000004871bf temacs`internal_catch(tag=(struct Lisp_Symbol *) $63 = 0x000000000069aaa8, func=(temacs`top_level_1 at keyboard.c:1205:1), arg=(struct Lisp_Symbol *) $7 = 0x0000000000685300) at eval.c:1387:25 frame #71: 0x00000000003f7743 temacs`command_loop at keyboard.c:1157:2 frame #72: 0x00000000003ff726 temacs`recursive_edit_1 at keyboard.c:766:9 frame #73: 0x00000000003ffad6 temacs`Frecursive_edit at keyboard.c:849:3 frame #74: 0x00000000003f7077 temacs`main(argc=, argv=) at emacs.c:2604:3 frame #75: 0x00007ffff30115f5 libc.so.6`__libc_start_call_main + 117 frame #76: 0x00007ffff30116a8 libc.so.6`__libc_start_main@@GLIBC_2.34 + 136 frame #77: 0x00000000002befa5 temacs`_start + 37