XEmacs inline image display cause crash on 24bpp X.
1. $ xemacs -vanilla
2. C-x C-f imagefile
After broken (monochrome, vertical lined) image or nothing
is displayed, XEmacs crashes.
PNG, JPEG, TIFF, GIF formated image has this problem, and
XPM does't.
This is 100% reproductive in my one environment, but not
occur in other environment.
I heard some X server (for example, XFree86 SVGA I am using
in the environment) handle 24bpp images without padding to
32bit and this cause image display problem in some software
which handle image directly. I think XEmacs is one of them.
uname -a: Linux agenv4 2.0.36 #1 Thu Nov 19 12:33:18 JST 1998 i586 unknown
./configure '--compiler=egcc' '--with-mule' '--with-xim=no'
XEmacs 21.0-b61 "Poitou61" configured for `i586-pc-linux'.
Where should the build process find the source code? /var/local/src/xemacs/xemacs-21.0.61
What installation prefix should install use? /usr/local
What operating system and machine description files should XEmacs use?
`s/linux.h' and `m/intel386.h'
What compiler should XEmacs be built with? egcc -g -O3 -Wall -Wno-switch
Should XEmacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should XEmacs use the relocating allocator for buffers? yes
What window system should XEmacs use? x11
Where do we find X Windows header files? /usr/X11R6/include
Where do we find X Windows libraries? /usr/X11R6/lib
Compiling in support for XAUTH.
Compiling in support for XPM images.
Compiling in support for PNG image handling.
Compiling in support for (builtin) GIF image handling.
Compiling in support for JPEG image handling.
Compiling in support for TIFF image handling.
Compiling in support for X-Face message headers.
Compiling in native sound support.
Compiling in support for Berkeley DB.
Compiling in support for GNU DBM.
Compiling in support for ncurses.
Compiling in support for GPM (General Purpose Mouse).
Compiling in Mule (multi-lingual) support.
Compiling in support for Canna on Mule.
Compiling in support for proper session-management.
Using Lucid menubars.
Using Lucid scrollbars.
Using Motif dialog boxes.
Compiling in DLL support.
movemail will use "dot-locking" for locking mail spool files.
Using Lisp_Objects with minimal tagbits.
Compiling in extra code for debugging.
Compiling in code for checking XEmacs memory usage.
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: ---------------------------------------------------------
Lisp backtrace is empty, and
$ gdb /usr/local/bin/xemacs core
GNU gdb 4.17.m68k.objc.threads.hwwp.fpu.gnat
Copyright 1998 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 "i486-pc-linux-gnu"...
Core was generated by `/usr/local/bin/xemacs -vanilla'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libwcsmbs.so.0...done.
Reading symbols from /usr/X11R6/lib/libXm.so.1...done.
Reading symbols from /usr/lib/libcanna.so.1...done.
Reading symbols from /usr/lib/libRKC.so.1...done.
Reading symbols from /usr/lib/libcompface.so.1...done.
Reading symbols from /usr/lib/libtiff.so.3...done.
Reading symbols from /usr/lib/libpng.so.2...done.
Reading symbols from /usr/lib/libjpeg.so.62...done.
Reading symbols from /usr/lib/libz.so.1...done.
Reading symbols from /usr/X11R6/lib/libXpm.so.4...done.
Reading symbols from /usr/X11R6/lib/libXmu.so.6...done.
Reading symbols from /usr/X11R6/lib/libXt.so.6...done.
Reading symbols from /usr/X11R6/lib/libXext.so.6...done.
Reading symbols from /usr/X11R6/lib/libX11.so.6...done.
Reading symbols from /usr/X11R6/lib/libSM.so.6...done.
Reading symbols from /usr/X11R6/lib/libICE.so.6...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libdb.so.2...done.
Reading symbols from /usr/lib/libgdbm.so.1...done.
Reading symbols from /usr/lib/libgpm.so.1...done.
Reading symbols from /lib/libncurses.so.4...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /lib/libnss_files.so.1...done.
Reading symbols from /lib/libnss_dns.so.1...done.
Reading symbols from /lib/libresolv.so.2...done.
Reading symbols from /lib/libnss_compat.so.1...done.
Reading symbols from /lib/libnsl.so.1...done.
#0 0x4041159d in malloc ()
(gdb) where
#0 0x4041159d in malloc ()
#1 0x40411335 in malloc ()
#2 0x8083a2e in xmalloc_and_zero (size=20) at alloc.c:392
#3 0x80afc5e in Dynarr_newf (elsize=1) at dynarr.c:117
#4 0x80efcbf in convert_to_external_format (
ptr=0xbfff4a48 " ü:\b¸Jÿ¿îû\013\b\202", len=1, len_out=0xbfff4a00,
fmt=FORMAT_TERMINAL) at file-coding.c:2386
#5 0x8175164 in write_string_to_stdio_stream (stream=0x8360658, con=0x0,
str=0xbfff4a48 " ü:\b¸Jÿ¿îû\013\b\202", offset=0, len=1,
fmt=FORMAT_TERMINAL) at print.c:120
#6 0x81786ef in Fexternal_debugging_output (char_or_string=130,
stdout_p=137974484, device=137974484) at print.c:1536
#7 0x80bfbee in funcall_recording_as (recorded_as=138083332, nargs=1,
args=0xbfff4ad0) at eval.c:3193
#8 0x80c3614 in call1 (fn=138083332, arg0=130) at eval.c:3238
#9 0x8175789 in output_string (function=138083332,
nonreloc=0x821f2f0 " # (unwind-protect ...)\n", reloc=137974484,
offset=0, len=25) at print.c:252
#10 0x8178f03 in write_c_string (str=0x821f2f0 " # (unwind-protect ...)\n",
stream=138083332) at print.c:370
#11 0x80c2860 in Fbacktrace (stream=138083332, detailed=137974512)
at eval.c:4815
#12 0x80b9e95 in fatal_error_signal (sig=11) at emacs.c:245
#13 <signal handler called>
(gdb)
--
大石一雄 (OISHI Kazuo)