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