bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacs dumps core on exit under solaris 2.8


From: Luc Maisonobe
Subject: Re: emacs dumps core on exit under solaris 2.8
Date: Fri, 08 Nov 2002 13:54:17 +0100

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
(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) 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]