I've seen this crash in two different cases:
- when exiting xemacs without saving changes to a file
- when attempting to update packages
I'm certain this problem will occur any time xemacs attempts to create a
simple question dialog box. It crashes during a call to XmProcessTraversal
made in the make_dialog function of lwlib-Xm.c.
I did some further digging into the core with gdb and found that the
'value' variable which is passed to XmProcessTraversal as the widget id is
0, hence the crash. This will occur if the text_input_slot, radio_box and
list are all false. I've hacked around the problem by making the following
change to the make_dialog function in lwlib/lwlib-Xm.c:
# diff lwlib-Xm.c lwlib-Xm.c.orig
1272c1272
< else if (value != 0)
---
else
It now displays a somewhat strange looking yet functional question dialog
box, but it doesn't crash.
Platform: HP L2000 running HPUX 11.0
Here's the stack trace:
(gdb) bt
#0 0xc01f45a0 in kill () from /usr/lib/libc.2
#1 0x94fdc in fatal_error_signal (sig=2138629244) at emacs.c:264
#2 <signal handler called>
#3 0xc32a14c0 in XtWidgetToApplicationContext () from
/usr/lib/X11R6/libXt.3
#4 0xc3976ac0 in XmProcessTraversal () from /usr/lib/libXm.4
#5 0x1a8b38 in make_dialog (name=0x0, parent=0x7f7076d5, pop_up_p=80 'P',
shell_title=0x40309200 "@0\222", icon_name=0x1cbc2c "dbox-question",
text_input_slot=0 '\000', radio_box=0 '\000', list=0 '\000',
left_buttons=6, right_buttons=0) at lwlib-Xm.c:1275
#6 0x1a91f4 in xm_create_dialog (instance=0x40305f80) at lwlib-Xm.c:1482
#7 0x1a04a0 in instantiate_widget_instance (instance=0x40305f80) at
lwlib.c:866
#8 0x1a05dc in lw_make_widget (id=0, parent=0x40274e00, pop_up_p=1 '\001')
at lwlib.c:345
#9 0x1a10c0 in lw_create_widget (type=0x400b9280 "Q6BR0", name=0x1bc298
"dialog", id=65540, val=0x40286f40, parent=0x40274e00, pop_up_p=1,
pre_activate_cb=0, selection_cb=0x400b5772 <dbox_selection_callback>,
post_activate_cb=0) at lwlib.c:918
#10 0xb9634 in x_popup_dialog_box (f=0x40274e00, dbox_desc=0) at
dialog-x.c:228
#11 0xb20a0 in Fpopup_dialog_box (dbox_desc=1075093796) at dialog.c:77
#12 0x9a408 in funcall_recording_as (recorded_as=0, nargs=1,
args=0x7f7f3980) at eval.c:3197
#13 0x9f8a0 in Ffuncall (nargs=0, args=0x7f717d50) at eval.c:3238
#14 0x6ed78 in Fbyte_code (bytestr=2139044040, vector=2139044088,
maxdepth=1) at bytecode.c:416
#15 0x7f7f3980 in ?? ()
#16 0x94fdc in fatal_error_signal (sig=1074498056) at emacs.c:264
If you need any further info, let me know.
Regards,
Steve
UNIX Systems Administrator
Amadeus Services Ltd, UK