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