all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* emacs dumps core on exit under solaris 2.8
@ 2002-11-06 14:14 Luc Maisonobe
  2002-11-07 15:08 ` Richard Stallman
  0 siblings, 1 reply; 3+ messages in thread
From: Luc Maisonobe @ 2002-11-06 14:14 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1039 bytes --]

Hello,

I am trying to compile emacs 21.2 on a solaris 2.8 computer, using gcc
3.2.

During the compilation process, the just built emacs is used to do
several thing (for example loading blessmail). Everything seem to work
fine except that upon exit, emacs dumps core. In this particular place,
this stops the make process. I noticed several prior crashes in the
previous lines.

I even reproduced this with the simple command :

  ./emacs -q -batch

After having read the MACHINE file and the PROBLEMS files, I have tried
to configure using --with-xim=no, but I still have this problem. The
post-mortem debugging session attached shows there is a segmentation
violation, but there is no information on where this comes from.

Here are some informations :

uname -a :
SunOS cepheus 5.8 Generic_108528-11 sun4u sparc SUNW,Ultra-5_10

emacs configured with :
  --prefix=/usr/local --with-x-toolkit=motif
  --infodir=/usr/local/info --with-sound=no
  --with-xim=no

compiler gcc 3.2

                                                       Luc

[-- Attachment #2: gdb-session --]
[-- Type: text/plain, Size: 5654 bytes --]

Current directory is /usr/local/src/redhat/BUILD/emacs-21.2/src/
GNU gdb 5.2.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 "sparc-sun-solaris2.8"...
Core was generated by `./emacs -q -batch'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/dt/lib/libXm.so.4...done.
Loaded symbols for /usr/dt/lib/libXm.so.4
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/openwin/lib/libXp.so.1...done.
Loaded symbols for /usr/openwin/lib/libXp.so.1
Reading symbols from /usr/openwin/lib/libXmu.so.4...done.
Loaded symbols for /usr/openwin/lib/libXmu.so.4
Reading symbols from /usr/openwin/lib/libXt.so.4...done.
Loaded symbols for /usr/openwin/lib/libXt.so.4
Reading symbols from /usr/openwin/lib/libSM.so.6...done.
Loaded symbols for /usr/openwin/lib/libSM.so.6
Reading symbols from /usr/openwin/lib/libICE.so.6...done.
Loaded symbols for /usr/openwin/lib/libICE.so.6
Reading symbols from /usr/openwin/lib/libXext.so.0...done.
Loaded symbols for /usr/openwin/lib/libXext.so.0
Reading symbols from /usr/local/lib/libpng.so.3...done.
Loaded symbols for /usr/local/lib/libpng.so.3
Reading symbols from /usr/lib/libm.so.1...done.
Loaded symbols for /usr/lib/libm.so.1
Reading symbols from /usr/openwin/lib/libX11.so.4...done.
Loaded symbols for /usr/openwin/lib/libX11.so.4
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libkstat.so.1...done.
Loaded symbols for /usr/lib/libkstat.so.1
Reading symbols from /usr/lib/libcurses.so.1...done.
Loaded symbols for /usr/lib/libcurses.so.1
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/openwin/lib/libdga.so.1...done.
Loaded symbols for /usr/openwin/lib/libdga.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
#0  0xfec9be4c in _libc_kill () from /usr/lib/libc.so.1
DISPLAY = :0.0
TERM = dumb
Breakpoint 1 at 0xd8bb8: file emacs.c, line 387.
Breakpoint 2 at 0xba4c4: file xterm.c, line 12018.
(gdb) bt
#0  0xfec9be4c in _libc_kill () from /usr/lib/libc.so.1
#1  0x000d8ba8 in fatal_error_signal (sig=11) at emacs.c:354
#2  <signal handler called>
#3  0x0004449c in __do_global_dtors_aux ()
#4  0x001b0760 in _fini ()
#5  0xfec1b968 in _exithandle () from /usr/lib/libc.so.1
#6  0xfec9bdf0 in exit () from /usr/lib/libc.so.1
#7  0x000da3d8 in Fkill_emacs (arg=271387700) at emacs.c:1830
#8  0x00141680 in Ffuncall (nargs=1, args=0xffbeeba4) at eval.c:2659
#9  0x00170f00 in Fbyte_code (bytestr=-4265056, vector=1, maxdepth=5) at bytecode.c:716
#10 0x00141ae0 in funcall_lambda (fun=1076306636, nargs=0, arg_vector=0xffbeed54) at eval.c:2851
#11 0x00141550 in Ffuncall (nargs=0, args=0xffbeed50) at eval.c:2716
#12 0x00170f00 in Fbyte_code (bytestr=-4264624, vector=0, maxdepth=5) at bytecode.c:716
#13 0x00141ae0 in funcall_lambda (fun=1076302700, nargs=0, arg_vector=0xffbeee70) at eval.c:2851
#14 0x00141998 in apply_lambda (fun=1076302700, args=2882560, eval_flag=1) at eval.c:2770
#15 0x001404a4 in Feval (form=1346824668) at eval.c:2071
#16 0x0013f1a4 in internal_condition_case (bfun=0xdb670 <top_level_2>, handlers=271509700, 
    hfun=0xdb314 <cmd_error>) at eval.c:1267
#17 0x000db6bc in top_level_1 () at keyboard.c:1262
#18 0x0013ece4 in internal_catch (tag=271462052, func=0xdb684 <top_level_1>, arg=271387652)
    at eval.c:1030
#19 0x000db5c8 in command_loop () at keyboard.c:1223
#20 0x000db058 in recursive_edit_1 () at keyboard.c:950
#21 0x000db1c0 in Frecursive_edit () at keyboard.c:1006
#22 0x000d9f24 in main (argc=3, argv=0xffbef474, envp=0x2bfc00) at emacs.c:1547
(gdb) info sharedlibrary
>From        To          Syms Read   Shared Object Library
0xff1485b0  0xff2d7380  Yes         /usr/dt/lib/libXm.so.4
0xff371b18  0xff375934  Yes         /usr/lib/libgen.so.1
0xff351c3c  0xff35681c  Yes         /usr/openwin/lib/libXp.so.1
0xff0d4e30  0xff0e1bb0  Yes         /usr/openwin/lib/libXmu.so.4
0xff06ea94  0xff0ae3c4  Yes         /usr/openwin/lib/libXt.so.4
0xff332758  0xff337c20  Yes         /usr/openwin/lib/libSM.so.6
0xff033d48  0xff041c08  Yes         /usr/openwin/lib/libICE.so.6
0xff003d78  0xff017174  Yes         /usr/openwin/lib/libXext.so.0
0xfefb5cac  0xfefd1018  Yes         /usr/local/lib/libpng.so.3
0xfef81fd0  0xfef90020  Yes         /usr/lib/libm.so.1
0xfee92510  0xfef031d0  Yes         /usr/openwin/lib/libX11.so.4
0xfef63868  0xfef69964  Yes         /usr/lib/libsocket.so.1
0xfed93ed4  0xfedfd39c  Yes         /usr/lib/libnsl.so.1
0xfef408c4  0xfef40efc  Yes         /usr/lib/libkstat.so.1
0xfed3c110  0xfed57da0  Yes         /usr/lib/libcurses.so.1
0xfec1b7f8  0xfec9be7c  Yes         /usr/lib/libc.so.1
0xff390850  0xff3908b0  Yes         /usr/lib/libdl.so.1
0xfee44920  0xfee50870  Yes         /usr/openwin/lib/libdga.so.1
0xfed10c34  0xfed12b80  Yes         /usr/lib/libmp.so.2
0xfed00534  0xfed035e8  Yes         /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
(gdb) 

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

* Re: emacs dumps core on exit under solaris 2.8
  2002-11-06 14:14 emacs dumps core on exit under solaris 2.8 Luc Maisonobe
@ 2002-11-07 15:08 ` Richard Stallman
  2002-11-08 12:54   ` Luc Maisonobe
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Stallman @ 2002-11-07 15:08 UTC (permalink / raw)
  Cc: bug-gnu-emacs

    #0  0xfec9be4c in _libc_kill () from /usr/lib/libc.so.1
    #1  0x000d8ba8 in fatal_error_signal (sig=11) at emacs.c:354
    #2  <signal handler called>
    #3  0x0004449c in __do_global_dtors_aux ()
    #4  0x001b0760 in _fini ()
    #5  0xfec1b968 in _exithandle () from /usr/lib/libc.so.1
    #6  0xfec9bdf0 in exit () from /usr/lib/libc.so.1

It looks like this is a matter of an error in the cleanup routine of
some library.  In cases like these, often the innermost stack frame
before the signal is not visible.  That stack frame might tell us
which library has the problem.

If you put a breakpoint at the start of __do_global_dtors_aux and then
step with si to see what functions it calls, you may be able to tell
which library it is.

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

* Re: emacs dumps core on exit under solaris 2.8
  2002-11-07 15:08 ` Richard Stallman
@ 2002-11-08 12:54   ` Luc Maisonobe
  0 siblings, 0 replies; 3+ messages in thread
From: Luc Maisonobe @ 2002-11-08 12:54 UTC (permalink / raw)
  Cc: bug-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 1025 bytes --]

Richard Stallman wrote:

> If you put a breakpoint at the start of __do_global_dtors_aux and then
> step with si to see what functions it calls, you may be able to tell
> which library it is.

Thanks a lot.

I tried this, but it seems the segmentation violation comes from within
__do_global_dtors_aux itself. You will find the gdb session attached,
with display/i $pc on, in order to get the instruction at each step. The
o1 register is null at this time, so it explains the violation. I don't
know what is in this register and why it is null.

So I have tried to remove some libraries using the configure option. All
works well when I remove libpng with the --without-png flag.

I tried to recompile both zlib 1.1.4 and libpng 1.2.5, just to make sure
everything was compiled with the same version of the gcc compiler, but
still had problems.

So I have dropped png support for now, and compile emacs using
--with-xim=no and --without-png.

Thanks for your help.

                                                        Luc

[-- Attachment #2: gdb-session --]
[-- Type: text/plain, Size: 3406 bytes --]

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /usr/local/src/redhat/BUILD/emacs-21.2/src/emacs -q -batch

Breakpoint 3, 0x00044468 in __do_global_dtors_aux ()
1: x/i $pc  0x44468 <__do_global_dtors_aux+4>:	sethi  %hi(0), %l1
(gdb) stepi
0x0004446c in __do_global_dtors_aux ()
1: x/i $pc  0x4446c <__do_global_dtors_aux+8>:	sethi  %hi(0x193000), %l7
(gdb) 
0x00044470 in __do_global_dtors_aux ()
1: x/i $pc  0x44470 <__do_global_dtors_aux+12>:	call  0x4445c <_start+116>
(gdb) 
0x00044474 in __do_global_dtors_aux ()
1: x/i $pc  0x44474 <__do_global_dtors_aux+16>:	
    add  %l7, 0x1c8, %l7	! 0x1931c8 <XtApplyToWidgets>
(gdb) 
0x0004445c in _start ()
1: x/i $pc  0x4445c <_start+116>:	retl 
(gdb) 
0x00044460 in _start ()
1: x/i $pc  0x44460 <_start+120>:	add  %o7, %l7, %l7
(gdb) 
0x00044478 in __do_global_dtors_aux ()
1: x/i $pc  0x44478 <__do_global_dtors_aux+20>:	or  %l1, 0xc, %o0
(gdb) 
0x0004447c in __do_global_dtors_aux ()
1: x/i $pc  0x4447c <__do_global_dtors_aux+24>:	ld  [ %l7 + %o0 ], %o1
(gdb) 
0x00044480 in __do_global_dtors_aux ()
1: x/i $pc  0x44480 <__do_global_dtors_aux+28>:	ldub  [ %o1 ], %o2
(gdb) 
0x00044484 in __do_global_dtors_aux ()
1: x/i $pc  0x44484 <__do_global_dtors_aux+32>:	cmp  %o2, 0
(gdb) 
0x00044488 in __do_global_dtors_aux ()
1: x/i $pc  0x44488 <__do_global_dtors_aux+36>:	
    bne  0x44508 <__do_global_dtors_aux+164>
(gdb) 
0x0004448c in __do_global_dtors_aux ()
1: x/i $pc  0x4448c <__do_global_dtors_aux+40>:	sethi  %hi(0), %o0
(gdb) 
0x00044490 in __do_global_dtors_aux ()
1: x/i $pc  0x44490 <__do_global_dtors_aux+44>:	or  %o0, 0x10, %o0	! 0x10
(gdb) 
0x00044494 in __do_global_dtors_aux ()
1: x/i $pc  0x44494 <__do_global_dtors_aux+48>:	ld  [ %l7 + %o0 ], %o0
(gdb) 
0x00044498 in __do_global_dtors_aux ()
1: x/i $pc  0x44498 <__do_global_dtors_aux+52>:	ld  [ %o0 ], %o1
(gdb) 
0x0004449c in __do_global_dtors_aux ()
1: x/i $pc  0x4449c <__do_global_dtors_aux+56>:	ld  [ %o1 ], %o1
(gdb) info reg
g0             0x0	0
g1             0xfec95e98	-20357480
g2             0x0	0
g3             0x0	0
g4             0x0	0
g5             0x0	0
g6             0x0	0
g7             0x0	0
o0             0x28fc44	2686020
o1             0x0	0
o2             0x0	0
o3             0xff3e2668	-12704152
o4             0x0	0
o5             0x0	0
sp             0xffbee820	4290701344
o7             0x44470	279664
l0             0x1	1
l1             0x0	0
l2             0xfec9bde8	-20333080
l3             0xfecba4d4	-20208428
l4             0xfec1b8d4	-20858668
l5             0x0	0
l6             0xff3e3c40	-12698560
l7             0x1d7638	1930808
i0             0xfec1b8d4	-20858668
i1             0x1b6	438
i2             0xfeff1904	-16836348
i3             0x0	0
i4             0xff3e2668	-12704152
i5             0xfec0eb08	-20911352
fp             0xffbee890	4290701456
i7             0x1b0758	1771352
y              0x0	0
psr            0xfe401007	-29356025	icc:-Z--, pil:0, s:0, ps:0, et:0, cwp:7
wim            0x0	0
tbr            0x0	0
pc             0x4449c	279708
npc            0x444a0	279712
fpsr           0x0	0	rd:N, tem:0, ns:0, ver:0, ftt:0, qne:0, fcc:=, aexc:0, cexc:0
cpsr           0x0	0
(gdb) stepi

Program received signal SIGSEGV, Segmentation fault.
0x0004449c in __do_global_dtors_aux ()
1: x/i $pc  0x4449c <__do_global_dtors_aux+56>:	ld  [ %o1 ], %o1
(gdb) 

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

end of thread, other threads:[~2002-11-08 12:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-06 14:14 emacs dumps core on exit under solaris 2.8 Luc Maisonobe
2002-11-07 15:08 ` Richard Stallman
2002-11-08 12:54   ` Luc Maisonobe

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.