I've recompiled xemacs21 packages with debugging, and I've installed the libx11 debug packages. Here's the new backtrace:
(gdb) bt #0 0x55746c79 in XFontsOfFontSet (font_set=0x0, font_struct_list=0xffffb094, font_name_list=0xffffb090) at ../../src/FSWrap.c:216 #1 0x081f404b in XlwMenuInitialize (request=0xffffb128, new=0x85988b0, args=0xffffb5d8, num_args=0xffffb0f4) at xlwmenu.c:2928 #2 0x556e2df8 in XtInitializeWidgetClass () from /usr/lib/libXt.so.6 #3 0x556e337d in XtInitializeWidgetClass () from /usr/lib/libXt.so.6 #4 0x556e37e3 in _XtCreateWidget () from /usr/lib/libXt.so.6 #5 0x556e3a70 in XtCreateWidget () from /usr/lib/libXt.so.6 #6 0x081f95b6 in xlw_create_menubar (instance=0x8598730) at lwlib-Xlw.c:132 #7 0x081edbfd in lw_make_widget (id=65537, parent=0x8567218, pop_up_p=0 '\0') at lwlib.c:941 #8 0x080d978a in set_frame_menubar (f=0x8566408, deep_p=1, first_time_p=1) at menubar-x.c:607 #9 0x081cae7a in x_create_widgets (f=0x8566408, lisp_window_id=<value optimized out>, parent=1441354048) at frame-x.c:2001 #10 0x08134de9 in Fmake_frame (props=1441354048, device=138439056) at frame.c:399 #11 0x080bbf9d in Ffuncall (nargs=3, args=0xffffb924) at eval.c:3536 #12 0x08093619 in execute_optimized_program ( program=0x85662f0 "�\210�?�&�f�\"�\027�r\v\"\022�r�t�\"@\"\211\020\026\020�r!\025�016\021!\210�211\024\207", stack_depth=<value optimized out>, constants_data=0x55f271b4) at bytecode.c:748 #13 0x080958d8 in funcall_compiled_function (fun=1442382140, nargs=0, args=0xffffba58) at bytecode.c:519 #14 0x080bbeca in Ffuncall (nargs=1, args=0xffffba54) at eval.c:3572 #15 0x08093619 in execute_optimized_program ( program=0x833a548 "\vA\035�\032\031�r!\025\b��\004�\210�!�\004�\210\f�\017\016\035�\v��f!�! \210�\210*�\210�\210r�!q\210�\210�!\210\016!��\005\016\" \210)���\b��\004�\210�\210�026#��\004�!)\207", stack_depth=<value optimized out>, constants_data=0x55f1169c) at bytecode.c:748 #16 0x080958d8 in funcall_compiled_function (fun=1442350024, nargs=0, args=0xffffbb10) at bytecode.c:519 #17 0x080bb461 in Feval (form=1441523500) at eval.c:3392 #18 0x080bf52a in condition_case_1 (handlers=1441518748, bfun=0x80bac50 <Feval>, barg=1441523500, hfun=0x80c2210 <run_condition_case_handlers>, harg=1441328992) at eval.c:1652 #19 0x080c254b in condition_case_3 (bodyform=1441523500, var=1441328992, handlers=1441518748) at eval.c:1730 #20 0x0809323b in execute_rare_opcode (stack_ptr=0x0, program_ptr=0x8336eb1 "\210�r!\025\016.�\016��016.��$!\0267�!\210\016&�\005�!\210�026&�\210\016(�\005�!\210�026([EMAIL PROTECTED]"\210)\0168�\003�\207", opcode=Bcondition_case) at bytecode.c:1273 #21 0x08093f59 in execute_optimized_program ( program=0x8336e20 "\b�\005�!\207�020�\211\034�\025\fG\rGW�\016�r!�f!k�\005�f!\025)�r!\025�\210�\210\v�\a�!�\002�033�016/\0160\"\022\v�\t��n\"�"\210\n�\004�\210�n\0161\016+\0162\v%\210�\210)\016,�\022\016-�\016��0163!\016-\"�#\210\016,�\024\016+�\006�0164!\210�0165!\210�0166!\210�031��217\210�r!\025\016.�\016��016.��$!\0267�!\210\016&�\005�!\210�026&�\210\016(�\005�!\210�026(\t�\b�..., stack_depth=<value optimized out>, constants_data=0x55f11d68) at bytecode.c:658 #22 0x080958d8 in funcall_compiled_function (fun=1442350864, nargs=0, args=0xffffbdf0) at bytecode.c:519 #23 0x080bb461 in Feval (form=1441446640) at eval.c:3392 #24 0x080bf52a in condition_case_1 (handlers=1441353664, bfun=0x80bac50 <Feval>, barg=1441446640, hfun=0x809e5d0 <cmd_error>, harg=1441354048) at eval.c:1652 #25 0x0809e98c in top_level_1 (dummy=1441354048) at cmdloop.c:206 #26 0x080ba4bf in internal_catch (tag=1441155952, func=0x809e950 <top_level_1>, arg=1441354048, threw=0x0) at eval.c:1318 #27 0x0809e82e in initial_command_loop (load_me=1441354048) at cmdloop.c:285 #28 0x080b7ff0 in xemacs_21_4_19_i386_debian_linux (argc=1, argv=0xffffc204, envp=0xffffc20c, restart=0) at emacs.c:2460 #29 0x080b8c87 in main (argc=0, argv=0x8377b58, envp=0x0) at emacs.c:2892 XFontsOfFontSet is in libx11-6. The nearest XEmacs code is #6, this function: static Widget xlw_create_menubar (widget_instance* instance) { Arg al [1]; Widget widget; XtSetArg (al [0], XtNmenu, instance->info->val); widget = XtCreateWidget (instance->info->name, xlwMenuWidgetClass, instance->parent, al, 1); XtAddCallback (widget, XtNopen, pre_hook, (XtPointer)instance); XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); return widget; } The line that crashes is "widget = XtCreateWidget..." Here's what's inside "instance": (gdb) p instance->info $1 = (struct _widget_info *) 0x8582fd0 (gdb) p instance->info->name $2 = 0x8579258 "menubar" (gdb) p instance->parent $3 = (Widget) 0x8567218 (gdb) p *instance->parent $4 = {core = {self = 0x8567218, widget_class = 0x822f740, parent = 0x8566f90, xrm_name = 2978, being_destroyed = 0 '\0', destroy_callbacks = 0x0, constraints = 0x0, x = 0, y = 0, width = 0, height = 0, border_width = 1, managed = 0 '\0', sensitive = 1 '\001', ancestor_sensitive = 1 '\001', event_table = 0x0, tm = {translations = 0x0, proc_table = 0x0, current_state = 0x0, lastEventTime = 0}, accelerators = 0x0, border_pixel = 0, border_pixmap = 2, popup_list = 0x0, num_popups = 0, name = 0x852779b "container", screen = 0x83fb140, colormap = 32, window = 0, depth = 24, background_pixel = 16777215, background_pixmap = 2, visible = 1 '\001', mapped_when_managed = 1 '\001'}} (gdb) p *instance $5 = {widget = 0x0, parent = 0x8567218, pop_up_p = 0 '\0', info = 0x8582fd0, next = 0x0} (gdb) p al[0] $6 = {{name = 0x820c96a "menu", value = 139956840}} (gdb) p al[1] $7 = {name = 0x8579250 ".xpm\021", value = 140085040} It'd be nice if someone could comment on whether this bug is probably XEmacs or libx11 (or libxt). Thanks, Nick Lewycky