This bug report will be sent to the XEmacs Development Team,
not to your local site managers!!
Please write in English, because the XEmacs maintainers do not have
translators to read other languages for them.
Please describe as succinctly as possible:
- What happened.
- What you thought should have happened.
- Precisely what you were doing at the time.
Please also include any C or lisp back-traces that you may have.
================================================================
Dear Bug Team!
From: "Vladimir G. Ivanovic" <vladimir(a)acm.org>
To: #xemacs-beta
Cc:
Fcc: outbox
Subject:
--------
This crash is reproducible. Here' what I did:
$ xemacs -vanilla --load mh-e
M-x mh-visit-folder RET outbox RET RET
M-x mh-show
M-x mh-previous-undeleted-msg
This crash only happens when the message I am `mh-show'-ing is a message
with a large attachment (the tainted message), and I then
`mh-previous-undeleted-msg' to another message. It seems that once I
`mh-show' the tainted message, I'm primed for a crash which appears
whenever I navigate to another message.
The tainted message was created with `mime-editor/insert-file' and is ~3
MB in length. Any message with a large attachment will cause a crash.
I've appended a gdb stack trace and deleted the sections below that
don't apply (since this instance of xemacs is not the one having the
problem.)
--- Vladimir
--------
Vladimir G. Ivanovic
http://leonora.org/~vladimir
2770 Cowper St. vladimir(a)acm.org
Palo Alto, CA 94306-2447 +1 650 678 8014
================================================================
System Info to help track down your bug:
---------------------------------------
uname -a: Linux
bach.leonora.org 2.4.18-4smp #1 SMP Thu May 2 18:32:34 EDT 2002 i686
unknown
./configure '--debug'
XEmacs 21.5-b6 "bok choi" configured for `i686-pc-linux'.
Compilation / Installation:
Source code location: /usr/local/src/xemacs-21.5.6
Installation prefix: /usr/local
Operating system description file: `s/linux.h'
Machine description file: `m/intel386.h'
Compiler: gcc -g -O3 -Wall -Wno-switch -Winline
-Wmissing-prototypes -Wsign-compare -Wshadow
Relocating allocator for buffers: no
GNU version of malloc: yes
- Using Doug Lea's new malloc from the GNU C Library.
Linking with `-z nocombreloc'.
- Consider configuring with --pdump.
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
Using Lucid menubars.
Using Lucid scrollbars.
Using Motif dialog boxes.
Using Motif native widgets.
TTY:
Compiling in support for ncurses.
Compiling in support for GPM (General Purpose Mouse).
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Sound:
Compiling in support for sound (native).
Compiling in support for ESD (Enlightened Sound Daemon).
Databases:
Compiling in support for Berkeley database.
Compiling in support for LDAP.
Compiling in support for PostgreSQL.
- Using PostgreSQL header file: libpq-fe.h
- Using PostgreSQL V7 bindings.
Internationalization:
Mail:
Compiling in support for "dot-locking" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Compiling in support for extra debugging code.
WARNING: ---------------------------------------------------------
WARNING: Compiling in support for runtime error checking.
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
Load-Path Lisp Shadows:
----------------------
(/home/vladimir/emacs/setnu
/usr/local/lib/xemacs/xemacs-packages/lisp/edit-utils/setnu
/home/vladimir/emacs/scroll-in-place
/usr/local/lib/xemacs/xemacs-packages/lisp/edit-utils/scroll-in-place
/home/vladimir/emacs/foldout
/usr/local/lib/xemacs/xemacs-packages/lisp/edit-utils/foldout
/home/vladimir/emacs/ilisp
/usr/local/lib/xemacs/xemacs-packages/lisp/ilisp/ilisp
/home/vladimir/emacs/mh-comp
/usr/local/lib/xemacs/xemacs-packages/lisp/mh-e/mh-comp
/home/vladimir/emacs/mode-compile
/usr/local/lib/xemacs/xemacs-packages/lisp/prog-modes/mode-compile
/home/vladimir/emacs/crontab
/usr/local/lib/xemacs/xemacs-packages/lisp/text-modes/crontab
/home/vladimir/emacs/elp
/usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-devel/elp)
Installed XEmacs Packages:
-------------------------
((zenirc:version 1.13 :type regular)
(xslt-process :version 1.07 :type regular)
(xslide :version 1.02 :type regular)
(xemacs-devel :version 1.44 :type single-file)
(xemacs-base :version 1.63 :type regular)
(w3 :version 1.23 :type regular)
(vm :version 7.04 :type regular)
(viper :version 1.34 :type regular)
(view-process :version 1.11 :type regular)
(vhdl :version 1.15 :type regular)
(vc-cc :version 1.18 :type regular)
(vc :version 1.3 :type regular)
(tramp :version 1.05 :type regular)
(tpu :version 1.12 :type regular)
(tooltalk :version 1.13 :type regular)
(tm :version 1.32 :type regular)
(time :version 1.11 :type regular)
(textools :version 1.12 :type regular)
(text-modes :version 1.43 :type single-file)
(texinfo :version 1.2 :type regular)
(supercite :version 1.19 :type regular)
(strokes :version 1.08 :type regular)
(speedbar :version 1.23 :type regular)
(sounds-wav :version 1.1 :type regular)
(sounds-au :version 1.1 :type regular)
(slider :version 1.13 :type regular)
(sieve :version 1.02 :type regular)
(sh-script :version 1.15 :type regular)
(sgml :version 1.08 :type regular)
(semantic :version 1.12 :type regular)
(scheme :version 1.11 :type regular)
(rmail :version 1.13 :type regular)
(reftex :version 1.25 :type regular)
(psgml :version 1.28 :type regular)
(ps-print :version 1.04 :type regular)
(prog-modes
:version
1
.56
:type
single-file)
(pcomplete :version 1.01 :type regular)
(pcl-cvs :version 1.61 :type regular)
(pc :version 1.22 :type single-file)
(os-utils :version 1.28 :type single-file)
(net-utils :version 1.24 :type single-file)
(mmm-mode :version 1.0 :type regular)
(misc-games :version 1.15 :type single-file)
(mine :version 1.14 :type regular)
(mh-e :version 1.14 :type regular)
(mew :version 1.17 :type regular)
(mailcrypt :version 2.11 :type regular)
(mail-lib :version 1.46 :type regular)
(liece :version 1.04 :type regular)
(jde :version 1.35 :type regular)
(ispell :version 1.24 :type regular)
(ilisp :version 1.22 :type regular)
(igrep :version 1.08 :type regular)
(idlwave :version 1.25 :type regular)
(ibuffer :version 1.07 :type regular)
(hm--html-menus :version 1.18 :type regular)
(haskell-mode :version 1.04 :type regular)
(gnus :version 1.6 :type regular)
(gnats :version 1.14 :type regular)
(games :version 1.13 :type regular)
(fsf-compat :version 1.11 :type single-file)
(frame-icon :version 1.09 :type regular)
(forms :version 1.14 :type regular)
(footnote :version 1.15 :type regular)
(eudc :version 1.36 :type regular)
(eterm :version 1.13 :type regular)
(eshell :version 1.03 :type regular)
(emerge :version 1.09 :type regular)
(elib :version 1.1 :type single-file)
(eieio :version 1.02 :type regular)
(efs :version 1.29 :type regular)
(edt :version 1.12 :type regular)
(edit-utils :version 1.85 :type single-file)
(ediff :version 1.41 :type regular)
(edebug :version 1.14 :type regular)
(dired :version 1.12 :type regular)
(dictionary :version 1.11 :type regular)
(debug :version 1.15 :type regular)
(crisp :version 1.12 :type regular)
(cookie :version 1.14 :type regular)
(clearcase :version 1.03 :type regular)
(cc-mode :version 1.28 :type regular)
(calendar :version 1.18 :type regular)
(calc :version 1.23 :type regular)
(c-support :version 1.16 :type single-file)
(build :version 1.05 :type regular)
(bbdb :version 1.2 :type regular)
(auctex :version 1.31 :type regular)
(apel :version 1.23 :type regular)
(ada :version 1.1 :type regular))
Features:
--------
(xemacsbug shadow byte-optimize bytecomp byte-compile tabify mel-b
view-less view hyper-apropos ebuff-menu electric efs-cu font disp-table
paren blink-paren blink-cursor vc vc-hooks tags etags supercite
mail-extr regi skeleton shell-font pending-del edmacro tmh-comp
mime-setup message-mime tm-edit signature tm-ew-e tm-setup tm-mh-e
tm-partial tm-image images mule-sysdp tm-pgp tm-play tm-view tm-text
tm-parse tm-ew-d tm-def mel std11 tl-misc tl-str tl-atype atype tl-seq
tl-list alist cless file-detect path-util emu invisible inv-xemacs
mcharset mcs-ltn1 pcustom poem poem-ltn1 pces pces-xfc pces-20 broken
poe-xemacs timer overlay poe pym static apel-ver product mh-comp
mh-utils mh-e highlight-headers ispell gnus gnus-ems gnus-xmas wid-edit
message messagexmas mml mm-decode mm-encode mailcap mm-bodies uudecode
mail-parse rfc2045 rfc2231 rfc2047 qp ietf-drums mail-abbrevs sendmail
rfc822 mailheader gnus-util time-date parse-time nnheader nnheaderxm
mail-utils mm-util mail-prsvr func-menu fshell shell comint ring
font-lock filladapt x-compose jka-compr tex-site time cus-face
zenirc-autoloads xslt-process-autoloads xslide-autoloads
xemacs-devel-autoloads xemacs-base-autoloads w3-autoloads vm-autoloads
viper-autoloads view-process-autoloads vhdl-autoloads vc-cc-autoloads
vc-autoloads tramp-autoloads tpu-autoloads tooltalk-autoloads
tm-autoloads time-autoloads textools-autoloads text-modes-autoloads
texinfo-autoloads supercite-autoloads strokes-autoloads
speedbar-autoloads sounds-wav-autoloads sounds-au-autoloads
slider-autoloads sieve-autoloads sh-script-autoloads sgml-autoloads
semantic-autoloads scheme-autoloads rmail-autoloads reftex-autoloads
psgml-autoloads ps-print-autoloads prog-modes-autoloads
pcomplete-autoloads pcl-cvs-autoloads pc-autoloads os-utils-autoloads
net-utils-autoloads mmm-mode-autoloads misc-games-autoloads
mine-autoloads mh-e-autoloads mew-autoloads mailcrypt-autoloads
mail-lib-autoloads liece-autoloads jde-autoloads ispell-autoloads
ilisp-autoloads igrep-autoloads idlwave-autoloads ibuffer-autoloads
hm--html-menus-autoloads haskell-mode-autoloads gnus-autoloads
gnats-autoloads games-autoloads fsf-compat-autoloads
frame-icon-autoloads forms-autoloads footnote-autoloads eudc-autoloads
eterm-autoloads eshell-autoloads emerge-autoloads elib-autoloads
eieio-autoloads efs-autoloads edt-autoloads edit-utils-autoloads
ediff-autoloads edebug-autoloads dired-autoloads dictionary-autoloads
debug-autoloads crisp-autoloads cookie-autoloads clearcase-autoloads
cc-mode-autoloads calendar-autoloads calc-autoloads c-support-autoloads
build-autoloads bbdb-autoloads auctex-autoloads apel-autoloads
ada-autoloads src-autoloads loadhist rsz-minibuf auto-show fontl-hooks
x-iso8859-1 code-cmds gutter-items menubar-items x-menubar mode-motion
mouse behavior itimer auto-save lisp-mode easymenu iso8859-1 page
buff-menu lib-complete cus-file derived frame env text-props obsolete
cus-start custom widget cl-extra mini-cl cl cl-19 packages backquote
very-early-lisp postgresqlv7 postgresql unicode lucid-scrollbars
cut-buffer lucid-menubars motif-dialogs x c-balloon-help tty-frames tty
toolbar esd-sound native-sound scrollbar unix-processes multicast
network-streams subprocesses modules menu-accelerator-support menubar
berkeley-db md5 xemacs gutter tiff png gif jpeg xpm xbm lisp-float-type
file-coding linux dialog devices window-system base64)
Recent keystrokes:
-----------------
[ do not apply ]
Recent messages (most recent first):
-----------------------------------
[ do not apply ]
--- Vladimir
--------
Vladimir G. Ivanovic
http://leonora.org/~vladimir
2770 Cowper St. vladimir(a)acm.org
Palo Alto, CA 94306-2447 +1 650 678 8014
-------
bach:vladimir$ gdb /usr/local/bin/xemacs
GNU gdb Red Hat Linux (5.1.92-1)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run -vanilla --load mh-e
Starting program: /usr/local/bin/xemacs-21.5-b6 -vanilla --load mh-e
Fatal error: assertion failed, file alloc.c, line 1861, i == (Bytecount)
XSTRING_ASCII_BEGIN (str) || (i > MAX_STRING_ASCII_BEGIN && (Bytecount)
XSTRING_ASCII_BEGIN (str) == (Bytecount) MAX_STRING_ASCII_BEGIN)
Program received signal SIGABRT, Aborted.
0x42029241 in kill () from /lib/i686/libc.so.6
(gdb) where
#0 0x42029241 in kill () from /lib/i686/libc.so.6
#1 0x4202902a in raise () from /lib/i686/libc.so.6
#2 0x4202a7d2 in abort () from /lib/i686/libc.so.6
#3 0x080c495b in assert_failed (file=0x8241eed "alloc.c", line=1861,
expr=0x8241680 "i == (Bytecount) XSTRING_ASCII_BEGIN (str) || (i >
MAX_STRING_ASCII_BEGIN && (Bytecount) XSTRING_ASCII_BEGIN (str) == (Bytecount)
MAX_STRING_ASCII_BEGIN)") at emacs.c:3540
#4 0x08088a16 in init_string_ascii_begin (string=140095796) at alloc.c:1861
#5 0x08168f53 in make_string_from_buffer_1 (buf=0x8664b80, pos=1,
length=3242632, no_extents=0) at insdel.c:1643
#6 0x081690ae in make_string_from_buffer (buf=0x8664b80, pos=1,
length=3242632) at insdel.c:1653
#7 0x081ee09d in record_delete (b=0x8664b80, beg=1, length=3242632)
at undo.c:176
#8 0x081680ff in buffer_delete_range (buf=0x8664b80, from=1, to=3242633,
flags=0) at insdel.c:1407
#9 0x080939a9 in Ferase_buffer (buffer=137050900) at buffer.c:1597
#10 0x080ca6cb in Ffuncall (nargs=1, args=0xbfffd5b4) at eval.c:3488
#11 0x080983d9 in execute_optimized_program (
program=0x862edf8 "\vq\210\016$\016%\016&\016'Æ\n!\016(\031\035\030\036
\036!\034Ç\r!¬\006ÈÉ\n\"\210\tq\210\r\016\"k?nÊ \210Ë
\210ÌÍ!«\005ÎÍ!\210\f«\021ÏÐÑÒ\f;\004Ó\fD\r%\210ª\005Ô\r!\210eb\210\016!«\rÕe\016
\b#\210eb\210ª\004Ö \210\016#×a¬\004Ø\026#ÙØ!\210Ú \210\r\026\"Ø\026)ÛÜ!\210ÝØ!\210Þ
\210ß\016*\v\n#C\026+---Type <return> to continue, or q <return> to quit---
\vq\210Ø\211\026,.\006\207)", stack_depth=6, constants_data=0x8630308)
at bytecode.c:745
#12 0x08097f50 in funcall_compiled_function (fun=140820056, nargs=2,
args=0xbfffd988) at bytecode.c:517
#13 0x080ca8a2 in Ffuncall (nargs=3, args=0xbfffd984) at eval.c:3523
#14 0x080983d9 in execute_optimized_program (
program=0x863dd18 "\r¬\005ÆÇ!\025Ç\026\032\016\e\016\034È\n!\031\030\034ÉÊ
!§«\nÉÊ !Ë kª\bÉÊ !Ë a¬\004Ì \210Ë
\036\035Í\n!\210\016\036«\005Îp!\210Ï\216\t«\025Ð\r\f\"\016\037k«\feb\210\b¬\vÑ
\210ª\006Ò\r\f\"\210-Ó TÔ U¬\tÕÓ \016 Z!\210Ö×!\210\r\vs¬\005\r\vB\023ØÙ!\207le
cA", stack_depth=4, constants_data=0x86330e8)
at bytecode.c:745
#15 0x08097f50 in funcall_compiled_function (fun=140820028, nargs=1,
args=0xbfffdd58) at bytecode.c:517
#16 0x080ca8a2 in Ffuncall (nargs=2, args=0xbfffdd54) at eval.c:3523
#17 0x080983d9 in execute_optimized_program (
program=0x85e7fc0 "\v«\n\n¬\004\t«\004Ä \210Å\b!\207(", stack_depth=2,
constants_data=0x86330b8) at bytecode.c:745
#18 0x08097f50 in funcall_compiled_function (fun=139286244, nargs=1,
args=0xbfffe118) at bytecode.c:517
#19 0x080ca8a2 in Ffuncall (nargs=2, args=0xbfffe114) at eval.c:3523
#20 0x080983d9 in execute_optimized_program (
program=0x85df0e8 "\t\004Â\b!\207", stack_depth=2,
constants_data=0x8633098) at bytecode.c:745
---Type <return> to continue, or q <return> to quit---
#21 0x08097f50 in funcall_compiled_function (fun=139286216, nargs=0,
args=0xbfffe4d8) at bytecode.c:517
#22 0x080ca8a2 in Ffuncall (nargs=1, args=0xbfffe4d4) at eval.c:3523
#23 0x080983d9 in execute_optimized_program (
program=0x86e9bd0 "Ä\022Åy\210Æ\tÇÅ\b$«\004È \207É\v!\004Ê\v!\207",
stack_depth=5, constants_data=0x8646ff8) at bytecode.c:745
#24 0x08097f50 in funcall_compiled_function (fun=140821624, nargs=1,
args=0xbfffe8a4) at bytecode.c:517
#25 0x080ca8a2 in Ffuncall (nargs=2, args=0xbfffe8a0) at eval.c:3523
#26 0x0809d3ce in Fcall_interactively (function=140780412,
record_flag=137050900, keys=137050900) at callint.c:998
#27 0x080c8e19 in Fcommand_execute (cmd=140780412, record_flag=137050900,
keys=137050900) at eval.c:2929
#28 0x080dead4 in execute_command_event (command_builder=0x85aa9f8,
event=137399524) at event-stream.c:4069
#29 0x080df74f in Fdispatch_event (event=137399524) at event-stream.c:4404
#30 0x080a48ce in Fcommand_loop_1 () at cmdloop.c:585
#31 0x080a4b47 in command_loop_1 (dummy=137050900) at cmdloop.c:497
#32 0x080c6dbf in condition_case_1 (handlers=137050996,
bfun=0x80a4b08 <command_loop_1>, barg=137050900,
hfun=0x80a4bac <cmd_error>, harg=137050900) at eval.c:1692
#33 0x080a4d84 in command_loop_2 (dummy=137050900) at cmdloop.c:259
#34 0x080c6ba5 in internal_catch (tag=137127308,
---Type <return> to continue, or q <return> to quit---
func=0x80a4d3c <command_loop_2>, arg=137050900, threw=0x0) at eval.c:1323
#35 0x080a40bf in initial_command_loop (load_me=137050900) at cmdloop.c:308
#36 0x080c2da9 in xemacs_21_5_b6_i686_pc_linux () at emacs.c:2312
#37 0x080c352e in main () at emacs.c:2749
#38 0x42017499 in __libc_start_main () from /lib/i686/libc.so.6
(gdb) cont
Continuing.
Fatal error (6).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
If you have access to the PROBLEMS file that came with your
version of XEmacs, please check to see if your crash is described
there, as there may be a workaround available.
Otherwise, please report this bug by running the send-pr
script included with XEmacs, or selecting `Send Bug Report'
from the help menu.
As a last resort send ordinary email to `crashes(a)xemacs.org'.
*MAKE SURE* to include the information in the command
M-x describe-installation.
If at all possible, *please* try to obtain a C stack backtrace;
it will help us immensely in determining what went wrong.
To do this, locate the core file that was produced as a result
of this crash (it's usually called `core' and is located in the
directory in which you started the editor, or maybe in your home
directory), and type
gdb /usr/local/bin/xemacs-21.5-b6 core
then type `where' when the debugger prompt comes up.
(If you don't have GDB on your system, you might have DBX,
or XDB, or SDB. A similar procedure should work for all of
these. Ask your system administrator if you need more help.)
Lisp backtrace follows:
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
erase-buffer()
# bind (formfile clean-message-header invisible-headers visible-headers msg-filename
show-buffer folder msg-num)
mh-display-msg(1202 "+outbox")
# (unwind-protect ...)
# bind (mh-in-show-buffer-saved-window folder clean-message-header show-window msg)
mh-show-msg(nil)
# bind (message)
mh-show(nil)
# bind (msg)
mh-maybe-show()
# bind (arg)
mh-previous-undeleted-msg(1)
# bind (command-debug-status)
call-interactively(mh-previous-undeleted-msg)
# (condition-case ... . error)
# (catch top-level ...)
Program received signal SIGABRT, Aborted.
0x42029241 in kill () from /lib/i686/libc.so.6
(gdb) quit
The program is running. Exit anyway? (y or n) y