segfaults
Mark Hounschell <[email protected]> Sat, 11 Jan 2003 14:09:40 -0500
| Newsgroups | gmane.linux.ngpt.user |
|---|---|
| Message-ID | <[email protected]> |
I'm running a 2.4.20 kernel on a SuSE 8.1 box. The futex-2.4.19 patch applied but had to make a couple changes by hand. No biggie. Built, installed, then rebooted the new kernel after adding the
ngptinit command to my /etc/init.d/boot.local file and doing Then I did the following:
rpm -Uvh ngpt-2.2.0-1.src.rpm
rpm -ba /usr/src/packages/SPEC/ngpt.spec
rpm -Uvh --replacefiles /usr/src/packages/RPMS/i386/ngpt-2.2.0-1.i386.rpm
rpm -Uvh --replacefiles /usr/src/packages/RPMS/i386/ngpt-devel-2.2.0-1.i386.rpm
I rebuilt the rpms because I wasn't sure what gcc rev was used. I wanted to make sure it was with gcc-3.2.. I tried the original rpms first with the same results as below.
Reboot.......
Then I recompiled my app. It compiled and linked ok.. Then I did..
export LD_LIBARARY_PATH="/usr/lib:/lib:$LD_LIBARARY_PATH"
export LD_PRELOAD=libpthread.so.0
Then I ldd v67
harley:/home/markh/work/lcrs # ldd v67
libpthread.so.0 => /lib/libpthread.so.0 (0x4002b000)
libdl.so.2 => /lib/libdl.so.2 (0x40040000)
libpthread.so.22 => /usr/lib/libpthread.so.22 (0x40043000)
librt.so.1 => /lib/librt.so.1 (0x400f9000)
libm.so.6 => /lib/libm.so.6 (0x4010a000)
libc.so.6 => /lib/libc.so.6 (0x4012d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
My app segfaults ...
harley:/home/markh/work/lcrs # ./v67
Segmentation fault
Here is a short strace...
harley:/home/markh/work/lcrs # strace ./v67
execve("./v67", ["./v67"], [/* 60 vars */]) = 0
uname({sys="Linux", node="harley", ...}) = 0
brk(0) = 0x8148860
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=90309, ...}) = 0
mmap2(NULL, 90309, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3) = 0
open("/lib/libpthread.so.0", 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\300B\0"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=106013, ...}) = 0
mmap2(NULL, 85328, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002b000
mprotect(0x40039000, 27984, PROT_NONE) = 0
mmap2(0x40039000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xe) = 0x40039000
close(3) = 0
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.2", 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`\31\0\000"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=11832, ...}) = 0
mmap2(NULL, 11544, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40040000
mprotect(0x40042000, 3352, PROT_NONE) = 0
mmap2(0x40042000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1) = 0x40042000
close(3) = 0
open("/usr/lib/libpthread.so.22", 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@\207\0"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=270889, ...}) = 0
mmap2(NULL, 745416, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40043000
mprotect(0x40073000, 548808, PROT_NONE) = 0
mmap2(0x40073000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2f) = 0x40073000
mmap2(0x4007f000, 499656, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4007f000
close(3) = 0
open("/lib/librt.so.1", 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\0P\32\0\000"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=33743, ...}) = 0
mmap2(NULL, 68020, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400f9000
mprotect(0x400ff000, 43444, PROT_NONE) = 0
mmap2(0x400ff000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6) = 0x400ff000
mmap2(0x40100000, 39348, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40100000
close(3) = 0
open("/lib/libm.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@7\0\000"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=176463, ...}) = 0
mmap2(NULL, 140960, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4010a000
mprotect(0x4012c000, 1696, PROT_NONE) = 0
mmap2(0x4012c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x21) = 0x4012c000
close(3) = 0
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\300\205"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1312470, ...}) = 0
mmap2(NULL, 1169856, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4012d000
mprotect(0x40241000, 39360, PROT_NONE) = 0
mmap2(0x40241000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x113) = 0x40241000
mmap2(0x40247000, 14784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40247000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4024b000
munmap(0x40014000, 90309) = 0
getrlimit(0x3, 0xbffff36c) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0
getpid() = 25357
rt_sigaction(SIGRTMIN, {0x400338b0, [], 0x4000000}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x40033950, [], 0x4000000}, NULL, 8) = 0
rt_sigaction(SIGRT_2, {0x40033a80, [], 0x4000000}, NULL, 8) = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
??????
Thanks
Mark