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

Reply via email to