Centos 5.3 tar e rpm sempre dão defeito de segmentação - você pode dizer por que da strace?

1

(Atualização: Hoje, o tar funciona sem segfault sem alterações conhecidas no sistema. O comando "rm" agora é segmentado. Argh! Talvez isso esteja sendo causado pelo ESXi? Ou talvez pelo hardware.)

Eu tenho um sistema Centos 5.3 em execução no VMWare ESXi. Tem funcionado por um bom tempo sem muito problema. Recentemente, no entanto, notei que o comando tar e o comando rpm me da uma falha de segmentação quando eu os executo.

Então, eu tentei usar strace (alguém achou isso sugerido online) e abaixo está o que eu recebo quando uso strace. Gostaria de saber como consertar meu sistema e como posso evitar que isso aconteça no futuro.

Obrigado antecipadamente!

A saída:

[root@wagon init.d]# strace -f rpm
execve("/bin/rpm", ["rpm"], [/* 20 vars */]) = 0
brk(0)                                  = 0x9e98000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=51424, ...}) = 0
mmap2(NULL, 51424, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f79000
close(3)                                = 0
open("/usr/lib/librpm-4.4.so", O_RDONLY) = 3
read(3, "7ELF
[root@wagon init.d]# strace -f rpm
execve("/bin/rpm", ["rpm"], [/* 20 vars */]) = 0
brk(0)                                  = 0x9e98000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=51424, ...}) = 0
mmap2(NULL, 51424, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f79000
close(3)                                = 0
open("/usr/lib/librpm-4.4.so", O_RDONLY) = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%07%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=378528, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
mmap2(NULL, 588416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xd43000
mmap2(0xd9d000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x59) = 0xd9d000
mmap2(0xda1000, 203392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xda1000
close(3)                                = 0
open("/usr/lib/librpmdb-4.4.so", O_RDONLY) = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P7%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1134540, ...}) = 0
mmap2(NULL, 1139296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x627000
mmap2(0x739000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x111) = 0x739000
mmap2(0x73d000, 608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x73d000
close(3)                                = 0
open("/lib/libselinux.so.1", O_RDONLY)  = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%05%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=91892, ...}) = 0
mmap2(NULL, 97112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xc25000
mmap2(0xc3b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15) = 0xc3b000
close(3)                                = 0
open("/usr/lib/librpmio-4.4.so", O_RDONLY) = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%'6%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=396276, ...}) = 0
mmap2(NULL, 540192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb64000
mmap2(0xbc3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5e) = 0xbc3000
mmap2(0xbc6000, 138784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xbc6000
close(3)                                = 0
open("/usr/lib/libpopt.so.0", O_RDONLY) = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=29008, ...}) = 0
mmap2(NULL, 31856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7c5000
mmap2(0x7cc000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0x7cc000
close(3)                                = 0
open("/usr/lib/libsqlite3.so.0", O_RDONLY) = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0=7%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=385180, ...}) = 0
mmap2(0xd6a000, 387072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x110000
mmap2(0x16d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5c) = 0x16d000
close(3)                                = 0
open("/usr/lib/libelf.so.1", O_RDONLY)  = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%00%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=87508, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f77000
mmap2(NULL, 90296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x9cf000
mmap2(0x9e4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0x9e4000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%04%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=206380, ...}) = 0
mmap2(NULL, 155760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x16f000
mmap2(0x194000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24) = 0x194000
close(3)                                = 0
open("/usr/lib/libz.so.1", O_RDONLY)    = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%053%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=75028, ...}) = 0
mmap2(0xc39000, 76400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x196000
mmap2(0x1a8000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11) = 0x1a8000
close(3)                                = 0
open("/usr/lib/libnss3.so", O_RDONLY)   = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%mr%pre%54%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1306252, ...}) = 0
mmap2(0x5714000, 1310584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5714000
mmap2(0x584e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x139) = 0x584e000
close(3)                                = 0
open("/usr/lib/libplds4.so", O_RDONLY)  = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0025%pre%54%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=11460, ...}) = 0
mmap2(0x585c000, 8672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x585c000
mmap2(0x585e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0x585e000
close(3)                                = 0
open("/usr/lib/libplc4.so", O_RDONLY)   = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0m5%pre%54%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=15556, ...}) = 0
mmap2(0x5856000, 12744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5856000
mmap2(0x5859000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0x5859000
close(3)                                = 0
open("/usr/lib/libnspr4.so", O_RDONLY)  = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P76%pre%54%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=228028, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f76000
mmap2(0x5861000, 232928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5861000
mmap2(0x5897000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36) = 0x5897000
mmap2(0x5898000, 7648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5898000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P\n%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=14644, ...}) = 0
mmap2(NULL, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a7000
mmap2(0x2a9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x2a9000
close(3)                                = 0
open("/lib/librt.so.1", O_RDONLY)       = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=42048, ...}) = 0
mmap2(NULL, 33324, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d0000
mmap2(0x7d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0x7d7000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%00H%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=123596, ...}) = 0
mmap2(NULL, 90592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x1a9000
mmap2(0x1bc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12) = 0x1bc000
mmap2(0x1be000, 4576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x1be000
close(3)                                = 0
open("/usr/lib/libbz2.so.1", O_RDONLY)  = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%04%pre%34%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=71852, ...}) = 0
mmap2(0x3f40000, 69128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f40000
mmap2(0x3f50000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x3f50000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0_%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1603392, ...}) = 0
mmap2(NULL, 1324452, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ab000
mmap2(0x3e9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e) = 0x3e9000
mmap2(0x3ec000, 9636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ec000
close(3)                                = 0
open("/lib/libsepol.so.1", O_RDONLY)    = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%066%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=242880, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f75000
mmap2(0xc68000, 286624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xc68000
mmap2(0xca3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3a) = 0xca3000
mmap2(0xca4000, 40864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xca4000
close(3)                                = 0
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%'%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=44992, ...}) = 0
mmap2(NULL, 48036, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x435000
mmap2(0x440000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa) = 0x440000
close(3)                                = 0
open("/usr/lib/libnssutil3.so", O_RDONLY) = 3
read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0o%pre%54%pre%%pre%%pre%"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=96764, ...}) = 0
mmap2(0x56fa000, 98028, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x56fa000
mmap2(0x570f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0x570f000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f74000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f73000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f736d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x3e9000, 8192, PROT_READ)     = 0
mprotect(0x1bc000, 4096, PROT_READ)     = 0
mprotect(0x7d7000, 4096, PROT_READ)     = 0
mprotect(0x2a9000, 4096, PROT_READ)     = 0
mprotect(0x194000, 4096, PROT_READ)     = 0
mprotect(0xff9000, 4096, PROT_READ)     = 0
munmap(0xb7f79000, 51424)               = 0
set_tid_address(0xb7f73718)             = 5604
set_robust_list(0xb7f73720, 0xc)        = 0
futex(0xbf9763c4, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x1ad3d0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x1ad2e0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="wagon.localdomain", ...}) = 0
access("/etc/selinux/", F_OK)           = 0
brk(0)                                  = 0x9e98000
brk(0x9eb9000)                          = 0x9eb9000
open("/etc/selinux/config", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=511, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f85000
read(3, "# This file controls the state o"..., 4096) = 511
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f85000, 4096)                = 0
open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f85000
read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 4096) = 587
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f85000, 4096)                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
[root@wagon init.d]# 
%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%07%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=378528, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000 mmap2(NULL, 588416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xd43000 mmap2(0xd9d000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x59) = 0xd9d000 mmap2(0xda1000, 203392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xda1000 close(3) = 0 open("/usr/lib/librpmdb-4.4.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P7%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1134540, ...}) = 0 mmap2(NULL, 1139296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x627000 mmap2(0x739000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x111) = 0x739000 mmap2(0x73d000, 608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x73d000 close(3) = 0 open("/lib/libselinux.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%05%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=91892, ...}) = 0 mmap2(NULL, 97112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xc25000 mmap2(0xc3b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15) = 0xc3b000 close(3) = 0 open("/usr/lib/librpmio-4.4.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%'6%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=396276, ...}) = 0 mmap2(NULL, 540192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb64000 mmap2(0xbc3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5e) = 0xbc3000 mmap2(0xbc6000, 138784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xbc6000 close(3) = 0 open("/usr/lib/libpopt.so.0", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=29008, ...}) = 0 mmap2(NULL, 31856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7c5000 mmap2(0x7cc000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0x7cc000 close(3) = 0 open("/usr/lib/libsqlite3.so.0", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0=7%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=385180, ...}) = 0 mmap2(0xd6a000, 387072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x110000 mmap2(0x16d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5c) = 0x16d000 close(3) = 0 open("/usr/lib/libelf.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%00%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=87508, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f77000 mmap2(NULL, 90296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x9cf000 mmap2(0x9e4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0x9e4000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%04%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=206380, ...}) = 0 mmap2(NULL, 155760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x16f000 mmap2(0x194000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24) = 0x194000 close(3) = 0 open("/usr/lib/libz.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%053%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=75028, ...}) = 0 mmap2(0xc39000, 76400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x196000 mmap2(0x1a8000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11) = 0x1a8000 close(3) = 0 open("/usr/lib/libnss3.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%mr%pre%54%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1306252, ...}) = 0 mmap2(0x5714000, 1310584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5714000 mmap2(0x584e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x139) = 0x584e000 close(3) = 0 open("/usr/lib/libplds4.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0025%pre%54%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=11460, ...}) = 0 mmap2(0x585c000, 8672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x585c000 mmap2(0x585e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0x585e000 close(3) = 0 open("/usr/lib/libplc4.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0m5%pre%54%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=15556, ...}) = 0 mmap2(0x5856000, 12744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5856000 mmap2(0x5859000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0x5859000 close(3) = 0 open("/usr/lib/libnspr4.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P76%pre%54%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=228028, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f76000 mmap2(0x5861000, 232928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5861000 mmap2(0x5897000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36) = 0x5897000 mmap2(0x5898000, 7648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5898000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P\n%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=14644, ...}) = 0 mmap2(NULL, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a7000 mmap2(0x2a9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x2a9000 close(3) = 0 open("/lib/librt.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=42048, ...}) = 0 mmap2(NULL, 33324, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d0000 mmap2(0x7d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0x7d7000 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%00H%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=123596, ...}) = 0 mmap2(NULL, 90592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x1a9000 mmap2(0x1bc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12) = 0x1bc000 mmap2(0x1be000, 4576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x1be000 close(3) = 0 open("/usr/lib/libbz2.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%04%pre%34%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=71852, ...}) = 0 mmap2(0x3f40000, 69128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f40000 mmap2(0x3f50000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x3f50000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0_%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1603392, ...}) = 0 mmap2(NULL, 1324452, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ab000 mmap2(0x3e9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e) = 0x3e9000 mmap2(0x3ec000, 9636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ec000 close(3) = 0 open("/lib/libsepol.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%066%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=242880, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f75000 mmap2(0xc68000, 286624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xc68000 mmap2(0xca3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3a) = 0xca3000 mmap2(0xca4000, 40864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xca4000 close(3) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%'%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=44992, ...}) = 0 mmap2(NULL, 48036, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x435000 mmap2(0x440000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa) = 0x440000 close(3) = 0 open("/usr/lib/libnssutil3.so", O_RDONLY) = 3 read(3, "7ELF%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0o%pre%54%pre%%pre%%pre%"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=96764, ...}) = 0 mmap2(0x56fa000, 98028, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x56fa000 mmap2(0x570f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0x570f000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f74000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f73000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f736d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 mprotect(0x3e9000, 8192, PROT_READ) = 0 mprotect(0x1bc000, 4096, PROT_READ) = 0 mprotect(0x7d7000, 4096, PROT_READ) = 0 mprotect(0x2a9000, 4096, PROT_READ) = 0 mprotect(0x194000, 4096, PROT_READ) = 0 mprotect(0xff9000, 4096, PROT_READ) = 0 munmap(0xb7f79000, 51424) = 0 set_tid_address(0xb7f73718) = 5604 set_robust_list(0xb7f73720, 0xc) = 0 futex(0xbf9763c4, FUTEX_WAKE_PRIVATE, 1) = 0 rt_sigaction(SIGRTMIN, {0x1ad3d0, [], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x1ad2e0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0 uname({sys="Linux", node="wagon.localdomain", ...}) = 0 access("/etc/selinux/", F_OK) = 0 brk(0) = 0x9e98000 brk(0x9eb9000) = 0x9eb9000 open("/etc/selinux/config", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=511, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f85000 read(3, "# This file controls the state o"..., 4096) = 511 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f85000, 4096) = 0 open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f85000 read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 4096) = 587 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f85000, 4096) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ [root@wagon init.d]#
    
por JR Lawhorne 11.07.2009 / 06:08

4 respostas

1

Ok, não tão complexo quanto eu pensava. O servidor foi comprometido e o gênio hacker estragou a instalação do kit raiz. Então, o efeito foi binarios segfaulting. Outro efeito foi o tráfego de rede inesperado do servidor. Obrigado a todos que responderam!

    
por 23.07.2009 / 22:40
2

Mesmo sem muita investigação, a partir da sua descrição de que alguns programas começaram a se fragmentar, eles começaram a funcionar corretamente enquanto outros começaram a falhar, você tem módulos de memória defeituosos ou uma pré-conexão quebrada.

Primeiro, pare todas as suas máquinas virtuais, reinicialize o host e execute um teste de memória. Você tem que fazer isso do lado de fora do ESXi. Se você encontrar algum defeito de memória, esse é o seu problema. Substitua o hardware.

Se nenhum defeito de memória foi encontrado, verifique se você está executando o último kernel disponível do CentOS para sua arquitetura.

Inicialize o host e o servidor novamente, o servidor no modo de usuário único (passe "single" para os parâmetros do kernel) e execute:

prelink -avf

Quando o prelink terminar, você deverá reinicializar o servidor. Você também pode fazer telinit u && init 3 para reiniciar a inicialização, mas é melhor reinicializar para assegurar que todos os binários serão recarregados com seus novos mapeamentos de memória.

    
por 13.07.2009 / 18:57
1

Isso é um palpite, mas tente desligar o SE-linix e ver se funciona.

Ele não deve ser segmentado, mas pode haver um arquivo que não pode ser aberto por causa do se-linux que o tar nunca pensou que aconteceria.

Se você tiver que instalar o rpm de origem para o tar, e compilá-lo com a depuração, execute-o no depurador para ver o motivo.

    
por 11.07.2009 / 10:07
0

Tudo bem, parece muito divertido.

Primeiro, você tem duas caixas idênticas e atualizadas (uma das quais não é segmentada)?

Se sim, verifique o md5sum nos binários que estão em segfault, certifique-se de que eles sejam iguais.

Em seguida, execute o ldd nos binários que estão falhando e, em seguida, execute o md5sum nas bibliotecas para ver se eles são diferentes.

Agora, supondo que as bibliotecas sejam as mesmas, algo está errado, provavelmente ambiente de máquina ou configuração, mas vamos ver se a strace lança alguma luz.

Para citar sua strace, perto do fim, você tem:

 open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3
 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f85000
 read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 4096) = 587
 read(3, "", 4096)                       = 0
 close(3)                                = 0
 munmap(0xb7f85000, 4096)                = 0

A próxima linha é a mensagem de segfault.

Na minha máquina CentOS 5.3 (rpm versão 4.4.2.3), meu rpm faz isso imediatamente:

open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=56458752, ...}) = 0
mmap(NULL, 56458752, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b36f9d01000
close(3)                                = 0

Eu arriscaria, assim, que o problema seja fechar a memória depois de ler / proc / mounts ou abrir / usr / lib / locale / locale-archive. Como o munmap () retornava 0, eu dava latido na árvore de localidade.

Por acaso, se sua configuração excluir a localidade, o próximo bloco que a minha executa é:

 open("/usr/lib/rpm/rpmpopt-4.4.2.3", O_RDONLY) = 3
 lseek(3, 0, SEEK_END)                   = 23100
 lseek(3, 0, SEEK_SET)                   = 0
 read(3, "#/*! \page config_rpmpopt Defaul"..., 23100) = 23100
 close(3)        

Boa sorte e deixe-nos saber o que você encontra.

    
por 13.07.2009 / 17:08