[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sigsev for 2 different prgramms before main
From: |
Dumas Patrice |
Subject: |
sigsev for 2 different prgramms before main |
Date: |
Wed, 5 Sep 2001 22:35:32 +0200 |
User-agent: |
Mutt/1.2.5i |
Hi,
I use linux redhat 7.0 glibc-2.2.4.
I compiled 2 different software, and the 2 get a SIGSEV signal in the same way,
before they reach the main. So I think this is a libc issue, but I am not
really sure.
When I use gdb, a breakpoint in main doesn't stop the programm, here is a
session:
(gdb) set args -x /usr/local/share/wv/wvHtml.xml chp1Franck.doc >
chp1Franck.html
(gdb) break main
Breakpoint 1 at 0x804a997: file ./wvWare.c, line 256.
(gdb) run
Starting program: /usr/local/bin/wvWare -x /usr/local/share/wv/wvHtml.xml
chp1Franck.doc > chp1Franck.html
Program received signal SIGSEGV, Segmentation fault.
0x4000ae90 in ?? ()
(gdb)
A strace give:
execve("/usr/local/bin/wvWare", ["wvWare", "-x",
"/usr/local/share/wv/wvHtml.xml", "chp1Franck.doc"], [/* 23
vars */]) = 0
uname({sys="Linux", node="zeus", ...}) = 0
brk(0) = 0x80e04d4
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, 0xbfffec2c) = -1 ENOSYS (Function not implemented)
fstat(3, {st_mode=S_IFREG|0644, st_size=37358, ...}) = 0
old_mmap(NULL, 37358, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40016000
close(3) = 0
open("/usr/lib/libpng.so.2", O_RDONLY) = 3
read(3, "address@hidden"..., 1024) = 1024
fstat(3, {st_mode=S_IFREG|0755, st_size=129052, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40020000
old_mmap(NULL, 132060, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40021000
mprotect(0x40040000, 5084, PROT_NONE) = 0
old_mmap(0x40040000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1e000) = 0x40040000
a lot more of such lines for the different library used by the programm, and in
the end
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\230\303"..., 1024) =
1024
fstat(3, {st_mode=S_IFREG|0755, st_size=5703506, ...}) = 0
old_mmap(NULL, 1258856, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40236000
mprotect(0x40360000, 38248, PROT_NONE) = 0
old_mmap(0x40360000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x129000) = 0x40360000
old_mmap(0x40366000, 13672, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40366000
close(3) = 0
mprotect(0x40042000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x40042000, 49152, PROT_READ|PROT_EXEC) = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
gcc 2.96. gcc options when compiling:
CFLAGS = -g -O2 -DHAVE_CONFIG_H -I/usr/lib/glib/include -ansi -pedantic -I.
-I./ -I$(srcdir)/ -I$(srcdir)/magick/ -I$(srcdir)/expat/xmlparse/
-DXMLCONFIG=\"$(datadir)/wv/wvConfig.xml\"
-DHTMLCONFIG=\"$(datadir)/wv/wvHtml.xml\" -I$(srcdir)/libole2/
-I$(srcdir)/oledecod/ -I/usr/local/include/freetype2 -I/usr/X11R6/include
-I/usr/local/include
The same happen with ssh-agent. The gcc options are here:
CFLAGS=-g -O2 -Wall
here is the end of strace:
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\230\303"..., 1024) =
1024
fstat(3, {st_mode=S_IFREG|0755, st_size=5703506, ...}) = 0
old_mmap(NULL, 1258856, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4012e000
mprotect(0x40258000, 38248, PROT_NONE) = 0
old_mmap(0x40258000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x129000) = 0x40258000
old_mmap(0x4025e000, 13672, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4025e000
close(3) = 0
mprotect(0x40049000, 708608, PROT_READ|PROT_WRITE) = 0
mprotect(0x40049000, 708608, PROT_READ|PROT_EXEC) = 0
mprotect(0x40021000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x40021000, 49152, PROT_READ|PROT_EXEC) = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
I don't know what to do nor what is wrong. I had never such things before, but
I
only recently upgraded the glib, so I though it could be linked.
Pat
Pat
- sigsev for 2 different prgramms before main,
Dumas Patrice <=