[Bug: 21.5-b26+CVS] Crash in GC

Jerry James Jerry.James at usu.edu
Thu Apr 27 14:37:57 EDT 2006


================================================================
Dear Bug Team!

I am running the latest CVS (as of this morning) plus my pending lwlib
patch on an x86_64 platform.  I was viewing a text document and hit
Ctrl-Home to go to the top when this crash happened.


Fatal Error: Received SIGSEGV (11) for address 0x8019c

Fatal error (11).

Your files have been auto-saved.
Use `M-x recover-session' to recover them.

Your version of XEmacs was distributed with a PROBLEMS file that may describe
your crash, and with luck a workaround.  Please check it first, but do report
the crash anyway.

Please report this bug by invoking M-x report-emacs-bug, or by selecting
`Send Bug Report' from the Help menu.  If that won't work, send ordinary
email to `xemacs-beta at xemacs.org'.  *MAKE SURE* to include this entire
output from this crash, especially including the Lisp backtrace, as well as
the XEmacs configuration from M-x describe-installation (or equivalently,
the file `Installation' in the top of the build tree).

*Please* try *hard* to obtain a C stack backtrace; without it, we are unlikely
to be able to analyze the problem.  Locate the core file produced as a result
of this crash (often called `core' or `core.<process-id>', and located in
the directory in which you started XEmacs or your home directory), and type

  gdb /usr/local/test/bin/xemacs core

then type `where' at the debugger prompt.  No GDB on your system?  You may
have DBX, or XDB, or SDB.  (Ask your system administrator if you need help.)
If no core file was produced, enable them (often with `ulimit -c unlimited')
in case of future recurrance of the crash.

Lisp backtrace follows:

  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  ("(in garbage collection)" "[internal]")
  # (unwind-protect ...)
  ("execute_internal_event()" "[internal]")
  (dispatch-event "[internal]")
  # (condition-case ... . error)
  # (catch top-level ...)

Here's the C backtrace:

(gdb) bt
#0  0x00000033ac92fbe7 in ?? () from /lib64/libc.so.6
#1  0x00000000004c2f65 in fatal_error_signal (sig=6)
    at /home/james/Projects/xemacs/xemacs-21.5/src/emacs.c:3792
#2  <signal handler called>
#3  0x00000033ac92fbe7 in ?? () from /lib64/libc.so.6
#4  0x00000000004c2f80 in fatal_error_signal (sig=11)
    at /home/james/Projects/xemacs/xemacs-21.5/src/emacs.c:3790
#5  <signal handler called>
#6  lispdesc_indirect_count_1 (code=-2, idesc=Variable "idesc" is not available.)
    at /home/james/Projects/xemacs/xemacs-21.5/src/gc.c:373
#7  0x000000000056320c in kkcc_marking (cnt=100000)
    at /home/james/Projects/xemacs/xemacs-21.5/src/lrecord.h:1917
#8  0x00000000005632dc in gc_resume_mark (incremental=Variable "incremental" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/gc.c:1878
#9  0x00000000005635e0 in gc_1 (incremental=1)
    at /home/james/Projects/xemacs/xemacs-21.5/src/gc.c:1913
#10 0x00000000005636b0 in gc (incremental=1)
    at /home/james/Projects/xemacs/xemacs-21.5/src/gc.c:1945
#11 0x00000000004d0365 in Ffuncall (nargs=2, args=0x7fffffd0cf00)
    at /home/james/Projects/xemacs/xemacs-21.5/src/eval.c:3822
#12 0x00000000004d0f87 in call1 (fn=Variable "fn" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/eval.c:4545
#13 0x00000000004e1db0 in execute_internal_event (event=84134392)
    at /home/james/Projects/xemacs/xemacs-21.5/src/event-stream.c:3102
#14 0x00000000004e8ff2 in Fdispatch_event (event=84134392)
    at /home/james/Projects/xemacs/xemacs-21.5/src/event-stream.c:4644
#15 0x00000000004850d9 in Fcommand_loop_1 ()
    at /home/james/Projects/xemacs/xemacs-21.5/src/cmdloop.c:600
#16 0x00000000004851ce in command_loop_1 (unused_dummy=Variable "unused_dummy" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/cmdloop.c:505
#17 0x00000000004cb7bf in condition_case_1 (handlers=Variable "handlers" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/eval.c:1924
#18 0x0000000000485305 in command_loop_2 (unused_dummy=Variable "unused_dummy" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/cmdloop.c:262
#19 0x00000000004c9db0 in internal_catch (tag=Variable "tag" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/eval.c:1530
#20 0x0000000000485544 in initial_command_loop (load_me=Variable "load_me" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/cmdloop.c:313
#21 0x00000000004c3e77 in xemacs_21_5_b26_x86_64_unknown_linux (argc=1,
    argv=0x7fffffd0d5d8, unused_envp=Variable "unused_envp" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/emacs.c:2666
#22 0x00000000004c4af7 in main (argc=Variable "argc" is not available.
)
    at /home/james/Projects/xemacs/xemacs-21.5/src/emacs.c:3110

Contrary to the print statement above, the crash is not due to address
0x8019c.  It is due to address 0x10008019c (the value of irdata), which
is 32 bytes past 0x10008017c (the value of the idata parameter in frame
6).  This is because the print statement in vdb-posix.c that prints the
addresses prints them as integers.  On my platform, integers are 32 bits
and addresses are 64 bits, so the print statement chops off the upper 32
bits.

Note that the idata parameter in frame 6 is already bad: that address is
not accessible in GDB.

GDB and GCC don't seem to like each other very much on this platform
(Fedora Core 5 for x86_64); note all the "is not available" messages in
that backtrace.  I can't visit anything meaningful in stack frame 7.  I
even compiled with -g3 this time, because I had the same thing happen to
me when compiling with -g, but it does not seem to have helped at all.
A quick test with -O0 -g3 shows that the problem persists even then.

I'll save the core file in case someone can tell me what to do with it.

================================================================

System Info to help track down your bug:
---------------------------------------

uname -a: Linux jerrypc.cs.usu.edu 2.6.16-1.2096_FC5 #1 SMP Wed Apr 19 05:14:26 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux

../xemacs-21.5/configure '--prefix=/usr/local/test' '--with-cflags=-march=nocona -mfpmath=sse -pipe -D_FORTIFY_SOURCE=1' '--with-cflags-optimization=-O2' '--with-cflags-debugging=-g3' '--enable-dialogs=athena' '--enable-widgets=athena' '--enable-external-widget' '--with-xft=emacs,menubars,tabs,gauges' '--with-mule' '--with-xim=xlib' '--with-mail-locking=lockf' '--with-pop' '--with-pdump' '--with-newgc' '--with-memory-usage-stats' '--without-wnn'


XEmacs 21.5-b26 "endive" (+CVS-20060424) configured for `x86_64-unknown-linux'.

Compilation Environment and Installation Defaults:
  Source code location:              /home/james/Projects/xemacs/xemacs-21.5
  Installation prefix:               /usr/local/test
  Operating system description file: `s/linux.h'
  Machine description file:          `m/x86_64.h'
  Compiler version:                  gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3)
    - GCC specs file:                specs.
    - Compiler command:              gcc   -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wunused-parameter -g3 -O2 -march=nocona -mfpmath=sse -pipe -D_FORTIFY_SOURCE=1
  libc version:                      glibc-2.4-4
glibc-2.4-4
  Relocating allocator for buffers:  no
  GNU version of malloc:             yes
    - Using Doug Lea's new malloc from the GNU C Library.

Window System:
  Compiling in support for the X window system:
    - X Windows headers location:                 
    - X Windows libraries location:               
    - Handling WM_COMMAND properly.
    - Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
  Compiling in support for the Athena widget set:
    - Athena headers location:                    X11/Xaw
    - Athena library to link:                     Xaw
  Using Lucid menubars.
    - Using Xft to render antialiased fonts in menubars.
      WARNING: This feature will be replaced with a face.
  Using Lucid scrollbars.
  Using Athena dialog boxes.
  Using Athena native widgets.
    - Using Xft to render antialiased fonts in tab controls.
      WARNING: This feature will be replaced with a face.
    - Using Xft to render antialiased fonts in progress bars.
      WARNING: This feature will be replaced with a face.
      WARNING: This feature not yet implemented; setting ignored.

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.
  Compiling in support for X-Face message headers.

Sound:
  Compiling in support for sound (native).
  Compiling in support for ALSA (Advanced Linux Sound Architecture).

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:
  Compiling in support for Mule (multi-lingual Emacs).
  Compiling in support for XIM (X11R5+ I18N input method).
    - Using raw Xlib to provide XIM support.
  Compiling in support for Canna on Mule.

Mail:
  Compiling in support for POP mail retrieval.
  Compiling in support for "lockf" mail spool file locking method.

Other Features:
  Inhibiting IPv6 canonicalization at startup.
  Compiling in support for dynamic shared object modules.
  Using the new GC mark algorithms (KKCC).
  WARNING: ---------------------------------------------------------
  WARNING: The new algorithms are experimental. They are enabled by
  WARNING: default for this release. Use `--disable-kkcc' to
  WARNING: turn it off.
  WARNING: ---------------------------------------------------------
  Using the new incremental garbage collector and the new allocator.
  Using POSIX sigaction() to install fault handler.
  Using the new portable dumper.
  Compiling in support for extra debugging code.
  Compiling in support for runtime error checking.
  WARNING: ---------------------------------------------------------
  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:
----------------------
(/usr/local/test/lib/xemacs/mule-packages/lisp/mule-base/korea-util
/usr/local/test/lib/xemacs-21.5-b26/lisp/mule/korea-util
/usr/local/test/lib/xemacs/mule-packages/lisp/mule-base/japan-util
/usr/local/test/lib/xemacs-21.5-b26/lisp/mule/japan-util
/usr/local/test/lib/xemacs/mule-packages/lisp/mule-base/china-util
/usr/local/test/lib/xemacs-21.5-b26/lisp/mule/china-util
/usr/local/test/lib/xemacs/mule-packages/lisp/mule-base/ethio-util
/usr/local/test/lib/xemacs-21.5-b26/lisp/mule/ethio-util
/usr/local/test/lib/xemacs/mule-packages/lisp/mule-base/viet-util
/usr/local/test/lib/xemacs-21.5-b26/lisp/mule/viet-util
/usr/local/test/lib/xemacs/mule-packages/lisp/mule-base/cyril-util
/usr/local/test/lib/xemacs-21.5-b26/lisp/mule/cyril-util
/usr/local/test/lib/xemacs/mule-packages/lisp/mule-ucs/unicode
/usr/local/test/lib/xemacs-21.5-b26/lisp/unicode
/usr/local/test/lib/xemacs/xemacs-packages/lisp/xemacs-base/regexp-opt
/usr/local/test/lib/xemacs-21.5-b26/lisp/regexp-opt
/usr/local/test/lib/xemacs/xemacs-packages/lisp/xemacs-base/easy-mmode
/usr/local/test/lib/xemacs-21.5-b26/lisp/easy-mmode
/usr/local/test/lib/xemacs/xemacs-packages/lisp/build/build-report
/usr/local/test/lib/xemacs-21.5-b26/lisp/build-report)


Installed XEmacs Packages:
-------------------------



Installed Modules:
-----------------


Features:
--------

(xemacsbug shadow time-stamp latin-unity-tables latin-euro-standards
latin-euro-latin10 latin-euro-latin9 latin-euro-latin8 latin-euro-latin7
latin-unity-vars latin-unity parse-time gnus-picon sort gnus-fun earcon
gnus-audio gnus-cite smiley annotations gnus-async gnus-bcklg gnus-dup gnus-ml
disp-table view-less view pop3 byte-optimize bytecomp byte-compile nnml
nndraft nnmh bbdb-gnus bbdb-snarf mail-extr gnus-agent gnus-srvr gnus-score
score-mode nnvirtual nntp gnus-cache gnus-diary nndiary gnus-topic spam
spam-stat bbdb-com hashcash gnus-uu gnus-msg gnus-art mm-uu mml2015 pgg
pgg-parse pgg-def mm-view gnus-sum nnoo gnus-group gnus-undo nnmail
mail-source bbdb timezone gnus-start gnus-spec gnus-int gnus-range message mml
mml-sec mml-smime smime dig mm-decode mm-bodies mm-encode mailcap lpr
mail-parse rfc2045 rfc2231 rfc2047 qp ietf-drums mail-abbrevs sendmail rfc822
mailheader canlock sha1 hex-util gnus-win gnus gnus-ems gnus-xmas messagexmas
nnheader nnheaderxm gnus-util netrc time-date mail-utils mm-util mail-prsvr
wid-edit icomplete paren blink-paren font-lock cus-face vc-hooks tramp-smb
tramp efs-cu regexp-opt executable advice advice-preload shell comint ring
password format-spec timer-funcs trampver tex-site ediff-hook jka-compr
zenirc-autoloads xwem-autoloads xslt-process-autoloads xslide-autoloads
xlib-autoloads xetla-autoloads xemacs-devel-autoloads xemacs-base-autoloads
x-symbol-autoloads w3-autoloads vm-autoloads viper-autoloads
view-process-autoloads vhdl-autoloads vc-autoloads tramp-autoloads
tpu-autoloads tm-autoloads time-autoloads textools-autoloads
text-modes-autoloads texinfo-autoloads supercite-autoloads strokes-autoloads
speedbar-autoloads slider-autoloads sieve-autoloads sh-script-autoloads
sgml-autoloads semantic-autoloads scheme-autoloads ruby-modes-autoloads
rmail-autoloads riece-autoloads reftex-autoloads re-builder-autoloads
python-modes-autoloads psgml-autoloads ps-print-autoloads prog-modes-autoloads
pgg-autoloads perl-modes-autoloads pcomplete-autoloads pcl-cvs-autoloads
pc-autoloads os-utils-autoloads oo-browser-autoloads ocaml-autoloads
net-utils-autoloads misc-games-autoloads mine-autoloads mh-e-autoloads
mew-autoloads mailcrypt-autoloads mail-lib-autoloads jde-autoloads
ispell-autoloads ilisp-autoloads igrep-autoloads idlwave-autoloads
ibuffer-autoloads hyperbole-autoloads hm--html-menus-autoloads
haskell-mode-autoloads gnus-autoloads gnats-autoloads games-autoloads
fsf-compat-autoloads fortran-modes-autoloads forms-autoloads
footnote-autoloads eudc-autoloads eterm-autoloads eshell-autoloads
escreen-autoloads erc-autoloads emerge-autoloads eieio-autoloads efs-autoloads
edt-autoloads edit-utils-autoloads ediff-autoloads edebug-autoloads
ecrypto-autoloads ecb-autoloads docbookide-autoloads dired-autoloads
dictionary-autoloads debug-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
skk-autoloads mule-ucs-autoloads mule-base-autoloads lookup-autoloads
leim-autoloads latin-unity-autoloads egg-its-autoloads edict-autoloads
modules-autoloads mule-autoloads auto-autoloads loadhist rsz-minibuf auto-show
fontl-hooks canna-leim tibetan lao devanagari indian slovenian czech romanian
ccl code-cmds gutter-items menubar-items x-menubar mode-motion mouse behavior
itimer auto-save lisp-mode easymenu easy-mmode iso8859-1 page buff-menu
lib-complete cus-file derived newcomment env text-props fontconfig frame
obsolete cus-start custom widget cl-extra cl cl-19 packages backquote unicode
font-mgr lucid-scrollbars cut-buffer xft-fonts lucid-menubars external-widget
athena-dialogs x c-balloon-help tty-frames tty toolbar native-sound alsa-sound
scrollbar unix-processes multicast network-streams subprocesses modules
menu-accelerator-support menubar berkeley-db md5 xemacs xim mule gutter tiff
png gif jpeg xface xpm xbm lisp-float-type file-coding linux dialog devices
window-system base64)


Recent keystrokes:
-----------------

[Censored, and irrelevant to this bug report]


Recent messages (most recent first):
-----------------------------------

[Censored, and irrelevant to this bug report]

-- 
Jerry James, Assistant Professor        Jerry.James at usu.edu
Computer Science Department             http://www.cs.usu.edu/~jerry/
Utah State University




More information about the XEmacs-Beta mailing list