all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Compile failure on IRIX 6.5
@ 2005-02-20 17:59 Daichi Kawahata
  2005-02-21 10:21 ` Richard Stallman
  0 siblings, 1 reply; 4+ messages in thread
From: Daichi Kawahata @ 2005-02-20 17:59 UTC (permalink / raw)


Hi,

I've been having troubles since before at compile-time of Emacs.

IRIX 6.5.22m, Emacs CVS-HEAD, GCC 3.4.3

$ ./configure --with-gtk --without-xim
(snip)
Configured for `mips-sgi-irix6.5'.

  Where should the build process find the source code?    /opt/src/i18n/emacs
  What operating system and machine description files should Emacs use?
        `s/irix6-5.h' and `m/iris4d.h'
  What compiler should emacs be built with?               ccache gcc -O2 -g -W -Wall -Wformat=2
  Should Emacs use the GNU version of malloc?             yes
  Should Emacs use a relocating allocator for buffers?    no
  Should Emacs use mmap(2) for buffer allocation?         yes
  What window system should Emacs use?                    x11
  What toolkit should Emacs use?                          GTK
  Where do we find X Windows header files?                Standard dirs
  Where do we find X Windows libraries?                   Standard dirs
  Does Emacs use -lXaw3d?                                 no
  Does Emacs use -lXpm?                                   yes
  Does Emacs use -ljpeg?                                  yes
  Does Emacs use -ltiff?                                  yes
  Does Emacs use -lungif?                                 yes
  Does Emacs use -lpng?                                   yes
  Does Emacs use X toolkit scroll bars?                   yes
(snip)
$ gmake bootstrap
(snip)
Fatal error (11)gmake[1]: *** [autoloads] Segmentation fault (core dumped)
gmake[1]: Leaving directory `/opt/src/i18n/emacs/lisp'
gmake: *** [bootstrap-build] Error 2

Here is the backtrace of bootstrap-emacs with core generated by hand:

$ gdb ./bootstrap-emacs core
(snip)
#0  0x0fa61648 in _kill () at /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s:15
15      /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s: No such file or directory.
        in /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s
Current language:  auto; currently asm
DISPLAY = :0.0
TERM = kterm
Breakpoint 1 at 0x10108ab4
Breakpoint 2 at 0x100dd850
(gdb) bt full
#0  0x0fa61648 in _kill () at /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s:15
No locals.
#1  0x1010972c in fatal_error_signal ()
No symbol table info available.
#2  0x0c070260 in _SGIPT_libc_sigaction () from /usr/lib32/libpthread.so
No locals.
(gdb) l
15      /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s: No such file or directory.
        in /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s

Backtrace with dbx:

$ dbx ./bootstrap-emacs
dbx version 7.3.1 68542_Oct26 MR Oct 26 2000 17:50:34
Core from signal SIGSEGV: Segmentation violation
(dbx) where
>  0 _kill(0xa25f, 0xb, 0xffffffff, 0x0, 0x1, 0x4865058, 0x2, 0x0)
   ["/xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s":15, 0xfa61648]
   1 fatal_error_signal(sig = 11) ["/opt/src/i18n/emacs/src/emacs.c":422, 0x10109724]
   2 fatal_error_signal(sig = 11) ["/opt/src/i18n/emacs/src/emacs.c":422, 0x10109724]
   3 fatal_error_signal(sig = 11) ["/opt/src/i18n/emacs/src/emacs.c":422, 0x10109724]
   [...]
   97 fatal_error_signal(sig = 11) ["/opt/src/i18n/emacs/src/emacs.c":422, 0x10109724]
   98 fatal_error_signal(sig = 11) ["/opt/src/i18n/emacs/src/emacs.c":422, 0x10109724]
   99 fatal_error_signal(sig = 11) ["/opt/src/i18n/emacs/src/emacs.c":422, 0x10109724]
(dbx) list

         Source (of /xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/signal/kill.s) not available for Process    -1

Also, run-time debugging log with dbx (gdb won't work), manually newlined:

$ dbx ./bootstrap-emacs
(snip)
(dbx) run -q
Process 41625 (bootstrap-emacs) started
Process 41625: region 3 identical to prev ignored
Process 41625: region 5 identical to prev ignored
Process 41625: region 7 identical to prev ignored
Process 41625: region 9 identical to prev ignored
Process 41625: region 11 identical to prev ignored
Process 41625: region 13 identical to prev ignored
Process 41625: region 15 identical to prev ignored
Process 41625: region 17 identical to prev ignored
Process 41625: region 19 identical to prev ignored
Process 41625: region 21 identical to prev ignored
Process 41625: region 23 identical to prev ignored
Process 41625: region 25 identical to prev ignored
Process 41625: region 27 identical to prev ignored
Process 41625: region 29 identical to prev ignored
Process 41625: region 31 identical to prev ignored
Process 41625: region 33 identical to prev ignored
Process 41625: region 35 identical to prev ignored
Process 41625: region 37 identical to prev ignored
Process 41625: region 39 identical to prev ignored
Process 41625: region 41 identical to prev ignored
Process 41625: region 43 identical to prev ignored
Process 41625: region 45 identical to prev ignored
Process 41625: region 47 identical to prev ignored
Process 41625: region 49 identical to prev ignored
Process 41625: region 51 identical to prev ignored
Process 41625: region 53 identical to prev ignored
Process 41625: region 55 identical to prev ignored
Process 41625: region 57 identical to prev ignored
Process 41625: region 59 identical to prev ignored
Process 41625: region 61 identical to prev ignored
Process 41625: region 63 identical to prev ignored
Process 41625: region 65 identical to prev ignored
Process 41625: region 65 identical to prev ignored
Process 41625: region 65 identical to prev ignored
Process 41625 (bootstrap-emacs) stopped on signal SIGSEGV: Segmentation
  violation (handler sig_fixup_mask) at [print_object:1485 +0x8,0x101a622c]
1485  float_to_string (pigbuf, XFLOAT_DATA (obj));

(dbx) where

Thread 0x10000
>  0 print_object(obj = 65534, printcharfun = 272150529, escapeflag = 1) 
  ["/opt/src/i18n/emacs/src/print.c":1485, 0x101a622c]
   1 print_object(obj = 271797372, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   2 print_object(obj = -1, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   3 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   4 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   5 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   6 print_object(obj = 1919513390, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   7 print_object(obj = 1026568507, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   8 print_object(obj = 858995242, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   9 print_object(obj = 1818570596, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   10 print_object(obj = 762146671, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   11 print_object(obj = 1633905775, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   12 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   13 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   14 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   (snip)
   97 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   98 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]
   99 print_object(obj = 0, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1971, 0x101a64fc]

(dbx) list
>*1485          float_to_string (pigbuf, XFLOAT_DATA (obj));
  1486          strout (pigbuf, -1, -1, printcharfun, 0);
  1487        }
  1488        break;
  1489  
  1490      case Lisp_String:
  1491        if (!escapeflag)
  1492          print_string (obj, printcharfun);
  1493        else
  1494          {

(dbx) dump
print_object(obj = 65534, printcharfun = 272150529, escapeflag = 1)
   ["/opt/src/i18n/emacs/src/print.c":1485, 0x101a622c]
buf = 0x7ffd6fd0 = ""

It might still lack some info, please tell me what should I do if so.

Thanks in advance.
-- 
Daichi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Compile failure on IRIX 6.5
  2005-02-20 17:59 Compile failure on IRIX 6.5 Daichi Kawahata
@ 2005-02-21 10:21 ` Richard Stallman
  2005-02-23  1:36   ` Daichi Kawahata
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Stallman @ 2005-02-21 10:21 UTC (permalink / raw)
  Cc: emacs-devel

This looks like stack overflow printing an object that contains
a pointer to itself.  Could you verify this was stack overflow?

What is the value of Vprint_length?

    Also, run-time debugging log with dbx (gdb won't work), manually newlined:

Why won't GDB work?  Have you tried installing the latest GDB?
If that still fails, maybe it is a GDB bug--would you please report
the GDB bug?

Anyway, it is not a bug that Emacs can crash if you print a cyclic
structure with the wrong settings.  The question is, why is that
happening?  The crucial point for finding the Emacs bug is, what Lisp
program is trying to print something, and why, and why is that object
such as to get an error in printing.  For this, it would be useful to
look at the log of output from bootstrapping shortly before the crash.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Compile failure on IRIX 6.5
  2005-02-21 10:21 ` Richard Stallman
@ 2005-02-23  1:36   ` Daichi Kawahata
  2005-02-23 20:37     ` Richard Stallman
  0 siblings, 1 reply; 4+ messages in thread
From: Daichi Kawahata @ 2005-02-23  1:36 UTC (permalink / raw)
  Cc: emacs-devel

On Mon, 21 Feb 2005 05:21:59 -0500
Richard Stallman wrote:

> This looks like stack overflow printing an object that contains
> a pointer to itself.  Could you verify this was stack overflow?

I'm afraid I have no idea what can be considered stack overflow.

> What is the value of Vprint_length?

Although I don't know at where step of Vprint_length is required,

$ dbx ./bootstrap-emacs 
[...]
(dbx) run -q
Process 898774 (bootstrap-emacs) started
[...]
Process 898774 (bootstrap-emacs) stopped on signal SIGSEGV:
  Segmentation violation (handler sig_fixup_mask) at
  [print_object:1485 +0x8,0x101a622c]
1485  float_to_string (pigbuf, XFLOAT_DATA (obj));
(dbx) p Vprint_length
272150529 
(dbx)

> Anyway, it is not a bug that Emacs can crash if you print a
> cyclic structure with the wrong settings.

Could you tell me wrong settings of what/mine?

> The question is, why is that happening?  The crucial point for
> finding the Emacs bug is, what Lisp program is trying to print
> something,

Does that mean built-in/included Lisp program? as a total beginner,
I'd think option '-q' has Emacs not to take any initial/external
file.

> and why, and why is that object such as to get an error in
> printing.  For this, it would be useful to look at the log of
> output from bootstrapping shortly before the crash.

If it's allowed, I'll attach entire make.log, well I don't know
log of which (in the GDB or make process) you mentioned, but as
far as make process is concerned, output log just before the
crash is,

[...]
Dumping under names emacs and emacs-22.0.50
73668 pure bytes used
mv -f emacs bootstrap-emacs
gmake[1]: Leaving directory `/opt/src/i18n/emacs/src'
(cd lisp; gmake  bootstrap EMACS=../src/bootstrap-emacs)
gmake[1]: Entering directory `/opt/src/i18n/emacs/lisp'
wd=/opt/src/i18n/emacs/lisp; subdirs=`(cd $wd; find . -type d -print)`;
for file in $subdirs; do case $file in */Old | */RCS | */CVS | */CVS/*
| */.* | */. */* | */=* ) ;; *) wins="$wins $wd/$file" ;; esac; done; \
| for file in $wins; do \
   /opt/src/i18n/emacs/lisp/../update-subdirs $file; \
done;
wd=/opt/src/i18n/emacs/lisp; subdirs=`(cd $wd; find . -type d -print)`;
for file in $subdirs; do case $file in */Old | */RCS | */CVS | */CVS/*
| */.* | */. */* | */=* ) ;; *) wins="$wins $wd/$file" ;; esac; done; \
| echo Directories: $wins; \
../src/bootstrap-emacs -batch --no-site-file --multibyte -l autoload --
eval '(setq generated-autoload-file "/opt/src/i18n/emacs/lisp/
loaddefs.el")' -f batc h-update-autoloads $wins Directories: /opt/src/
i18n/emacs/lisp/. /opt/src/i18n/emacs/lisp/./net /opt/src/i18n/emacs/
lisp/./url /opt/src/i18n/emacs/lisp/./calc /opt/src/i18n/emacs/l isp/./
gnus /opt/src/i18n/emacs/lisp/./mail /opt/src/i18n/emacs/lisp/./mh-e /
opt/src/i18n/emacs/lisp/./play /opt/src/i18n/emacs/lisp/./term /opt/src/
i18n/em acs/lisp/./emacs-lisp /opt/src/i18n/emacs/lisp/./eshell /opt/
src/i18n/emacs/lisp/./calendar /opt/src/i18n/emacs/lisp/./
international /opt/src/i18n/emacs/li sp/./emulation /opt/src/i18n/emacs/
lisp/./language /opt/src/i18n/emacs/lisp/./textmodes /opt/src/i18n/
emacs/lisp/./progmodes /opt/src/i18n/emacs/lisp/./obs olete /opt/src/
i18n/emacs/lisp/./toolbar Fatal error (11)gmake[1]: *** [autoloads]
Segmentation fault (core dumped) gmake[1]: Leaving directory `/opt/src/
i18n/emacs/lisp' gmake: *** [bootstrap-build] Error 2

Regards,
-- 
Daichi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Compile failure on IRIX 6.5
  2005-02-23  1:36   ` Daichi Kawahata
@ 2005-02-23 20:37     ` Richard Stallman
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Stallman @ 2005-02-23 20:37 UTC (permalink / raw)
  Cc: emacs-devel

You must not expect us to intuit where the cause of this bug is.  That
is very hard.  If you want to fix this bug, you will have to debug it.
Nobody else can debug it, unless he can make it fail.

You may as well start by reading lisp.h and learning the format of
Lisp objects, so that you can figure out what each object mean.

    I'm afraid I have no idea what can be considered stack overflow.

Look at the stack pointer; you'll have to learn about the machine's
conventions to see what's a valid stack pointer value.

    (dbx) p Vprint_length
    272150529 

What does that number mean as a Lisp Object on your platform?
Is it nil?  Look in Qnil and see what you find.

    > The question is, why is that happening?  The crucial point for
    > finding the Emacs bug is, what Lisp program is trying to print
    > something,

    Does that mean built-in/included Lisp program? as a total beginner,
    I'd think option '-q' has Emacs not to take any initial/external
    file.

The task at hand is to find out what's happening.
Lisp code is being run.  What code, and why?

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-02-23 20:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-20 17:59 Compile failure on IRIX 6.5 Daichi Kawahata
2005-02-21 10:21 ` Richard Stallman
2005-02-23  1:36   ` Daichi Kawahata
2005-02-23 20:37     ` Richard Stallman

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.