I have setup Centos-3.1 on a Dell Optiplex GX1 this week. It has to
replace an old Compaq Deskpro I used as a firewall/router running the no
longer supported RedHat 7.1. I have the NAT firewall up and running, and
it works OK.
However, there is one thing bugging me. I cannot use any client software
that queries a nameserver. I tried to use "dig", "host" and "nslookup",
and they all segfault on me. As all these applications suffer from the
same problem, I think it has to be a general problem. Name resolution
itself works correct, and other than this I cannot find any real
indications of problems.
On the console I get this message:
"request_module[net-pf-10]: fork failed errno 1"
When I check /var/log/ksymoops/20040428.log, I see these two lines added:
"20040428 091551 start /sbin/modprobe -s -k -- net-pf-10 safemode=1
20040428 091551 probe ended"
When doing a strace I get this:
"[root@vuurmuur root]# strace nslookup
execve("/usr/bin/nslookup", ["nslookup"], [/* 23 vars */]) = 0
uname({sys="Linux", node="vuurmuur", ...}) = 0
brk(0) = 0x80566e8
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=58585, ...}) = 0
old_mmap(NULL, 58585, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40016000
close(3) = 0
open("/usr/lib/libdns.so.8", 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\35"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1021048, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40025000
old_mmap(NULL, 1021244, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40026000
old_mmap(0x4011c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xf6000) = 0x4011c000
old_mmap(0x4011f000, 1340, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4011f000
close(3) = 0
open("/lib/libcrypto.so.4", 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\360\252"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=976252, ...}) = 0
old_mmap(NULL, 989464, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40120000
old_mmap(0x401fd000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xdd000) = 0x401fd000
old_mmap(0x4020f000, 10520, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4020f000
close(3) = 0
open("/usr/lib/libisc.so.4", 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\0Pw\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=216216, ...}) = 0
old_mmap(NULL, 215168, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40212000
old_mmap(0x40246000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x34000) = 0x40246000
close(3) = 0
open("/lib/libnsl.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\0000<\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=91316, ...}) = 0
old_mmap(NULL, 85184, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40247000
old_mmap(0x40259000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x11000) = 0x40259000
old_mmap(0x4025a000, 7360, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4025a000
close(3) = 0
open("/lib/tls/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\300F\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=97576, ...}) = 0
old_mmap(NULL, 64852, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4025c000
old_mmap(0x40269000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xc000) = 0x40269000
old_mmap(0x4026a000, 7508, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4026a000
close(3) = 0
open("/lib/tls/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\0000X\1\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1567484, ...}) = 0
old_mmap(NULL, 1276748, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4026c000
old_mmap(0x4039e000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x131000) = 0x4039e000
old_mmap(0x403a2000, 6988, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x403a2000
close(3) = 0
open("/usr/kerberos/lib/libgssapi_krb5.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 H\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=73692, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x403a4000
old_mmap(NULL, 76664, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x403a5000
old_mmap(0x403b7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x11000) = 0x403b7000
close(3) = 0
open("/usr/kerberos/lib/libkrb5.so.3", 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\340\360"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=385220, ...}) = 0
old_mmap(NULL, 384604, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x403b8000
old_mmap(0x40414000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x5c000) = 0x40414000
close(3) = 0
open("/usr/kerberos/lib/libcom_err.so.3", 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\t\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=5572, ...}) = 0
old_mmap(NULL, 4552, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40416000
old_mmap(0x40417000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x1000) = 0x40417000
close(3) = 0
open("/usr/kerberos/lib/libk5crypto.so.3", 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\220\"\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=63880, ...}) = 0
old_mmap(NULL, 64436, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40418000
old_mmap(0x40427000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xf000) = 0x40427000
close(3) = 0
open("/lib/libresolv.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\360(\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=76452, ...}) = 0
old_mmap(NULL, 73604, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40428000
old_mmap(0x40437000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xf000) = 0x40437000
old_mmap(0x40438000, 8068, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40438000
close(3) = 0
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\0P\32\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=14672, ...}) = 0
old_mmap(NULL, 12148, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4043a000
old_mmap(0x4043c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x1000) = 0x4043c000
close(3) = 0
open("/usr/lib/libz.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\0\340\31"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=52584, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x4043d000
old_mmap(NULL, 55564, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4043e000
old_mmap(0x4044a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xb000) = 0x4044a000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x4044c000
set_thread_area({entry_number:-1 -> -1, base_addr:0x4044c080,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = -1 ENOSYS (Function
not implemented)
modify_ldt(1, {entry_number:0, base_addr:0x4044c080, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1,
seg_not_present:0, useable:1}, 16) = 0
munmap(0x40016000, 58585) = 0
set_tid_address(0x4044c0c8) = -1 ENOSYS (Function not
implemented)
rt_sigaction(SIGRTMIN, {0x40260620, [], SA_RESTORER|SA_SIGINFO,
0x40266e40}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
rt_sigaction(SIGINT, {0x40230290, ~[RTMIN], SA_RESTORER, 0x40266e48},
NULL, 8) = 0
rt_sigaction(SIGTERM, {0x40230290, ~[RTMIN], SA_RESTORER, 0x40266e48},
NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
rt_sigaction(SIGHUP, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT TERM], NULL, 8) = 0
getpid() = 2791
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
close(3) = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = -1 EAFNOSUPPORT (Address
family not supported by protocol)
futex(0x402461f0, FUTEX_WAKE, 2147483647) = -1 ENOSYS (Function not
implemented)
brk(0) = 0x80566e8
brk(0x80776e8) = 0x80776e8
brk(0) = 0x80776e8
brk(0x8078000) = 0x8078000
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4044d000
mprotect(0x4044d000, 4096, PROT_NONE) = 0
clone(child_stack=0x40c4db08,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED,
parent_tidptr=0x40c4dbf8, {entry_number:0, base_addr:0x40c4dbb0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1},
child_tidptr=0x40c4dbf8) = 2792
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++"
I don't really have a clue where to look next, and Google doesn't make
me much wiser either...
Thanks for any help I can get!
Tom