Ping problems on Linux (CentOS, Red Hat, Fedora)

Hi guys,

I had a strange situation last week. The scenario was the following – any host that I pinged and it was not in my /etc/hosts list did not respond and it showed the following error:


[root@OptimusPrime bumble]# ping google.ro
ping: unknown host google.ro
[root@OptimusPrime bumble]#

The DNS query looked ok:


[root@OptimusPrime bumble]# nslookup google.ro
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   google.ro
Address: 82.77.159.222
Name:   google.ro
Address: 82.77.159.231
Name:   google.ro
Address: 82.77.159.251
Name:   google.ro
Address: 82.77.159.227
Name:   google.ro
Address: 82.77.159.241
Name:   google.ro
Address: 82.77.159.247
Name:   google.ro
Address: 82.77.159.232
Name:   google.ro
Address: 82.77.159.242
Name:   google.ro
Address: 82.77.159.221
Name:   google.ro
Address: 82.77.159.212
Name:   google.ro
Address: 82.77.159.236
Name:   google.ro
Address: 82.77.159.246
Name:   google.ro
Address: 82.77.159.217
Name:   google.ro
Address: 82.77.159.237
Name:   google.ro
Address: 82.77.159.226
Name:   google.ro
Address: 82.77.159.216

[root@OptimusPrime bumble]#

Also the /etc/resolv.conf file had nameserver 8.8.8.8 on the first line and the /etc/nsswitch.conf had the following entry hosts:      files dns

So which was the problem? Well I had no idea.. so I had to dig the situation:


[root@OptimusPrime bumble]# strace ping -c 1 www.google.ro
-bash: strace: command not found
[root@OptimusPrime bumble]# yum install strace
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: download.srv.ro
* extras: download.srv.ro
* rpmforge: mirror.atrpms.net
* updates: download.srv.ro

… but DNS is not working? 🙂 no problem, I added two entries in /etc/hosts (the mirror hosts).

After I installed strace I got this:


[root@OptimusPrime bumble]# strace ping -c 1 www.google.ro
execve("/bin/ping", ["ping", "-c", "1", "www.google.ro"], [/* 22 vars */]) = 0
brk(0)                                  = 0x89ec000
<span style="color: #000000;">access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)</span>
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=47082, ...}) = 0
mmap2(NULL, 47082, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fb6000
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\0000\261\330\0004\0\0\0"..., 512) = 512
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb5000
fstat64(3, {st_mode=S_IFREG|0755, st_size=84904, ...}) = 0
mmap2(NULL, 84168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x81e000
mmap2(0x82f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x82f000
mmap2(0x831000, 6344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x831000
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\0\220f\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1706232, ...}) = 0
mmap2(NULL, 1426884, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xcc1000
mmap2(0xe18000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x156) = 0xe18000
mmap2(0xe1b000, 9668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xe1b000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb4000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fb46c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xe18000, 8192, PROT_READ)     = 0
mprotect(0x82f000, 4096, PROT_READ)     = 0
mprotect(0x40e000, 4096, PROT_READ)     = 0
munmap(0xb7fb6000, 47082)               = 0
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3
getuid32()                              = 0
setuid32(0)                             = 0
brk(0)                                  = 0x89ec000
brk(0x8a0d000)                          = 0x8a0d000
getpid()                                = 20724
open("/etc/resolv.conf", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=164, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc1000
read(4, "nameserver 213.154.124.1\nnameser"..., 4096) = 164
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xb7fc1000, 4096)                = 0
uname({sys="Linux", node="OptimusPrime", ...}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
send(4, "\2\0\0\0\r\0\0\0\6\0\0\0hosts\0", 18, MSG_NOSIGNAL) = 18
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4, {msg_name(0)=NULL, msg_iov(2)=[{"hosts\0", 6}, {"\270O\3\0\0\0\0\0", 8}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {5}}, msg_flags=0}, 0) = 14
mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7f7f000
close(5)                                = 0
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
send(4, "\2\0\0\0\4\0\0\0\16\0\0\0www.google.ro\0", 26, MSG_NOSIGNAL) = 26
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=4, revents=POLLIN|POLLHUP}])
read(4, "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377\377\377\0\0\0\0\1\0\0\0", 32) = 32
close(4)                                = 0
write(2, "ping: unknown host www.google.ro"..., 33ping: unknown host www.google.ro
) = 33
exit_group(2)                           = ?
[root@OptimusPrime bumble]#

As you can see the “/etc/ld.so.preload” file is missing. I tried to find it with yum provides but no success, so I came with the idea that it could possible be from glibc so I did a yum install glic which actually upgraded my current one:


[root@OptimusPrime bumble]# yum install glibc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: download.srv.ro
* extras: download.srv.ro
* rpmforge: mirror.atrpms.net
* updates: download.srv.ro
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
--> Processing Dependency: glibc = 2.5-107 for package: glibc-headers
--> Processing Dependency: glibc = 2.5-107 for package: nscd
--> Processing Dependency: glibc = 2.5-107 for package: glibc-devel
---> Package glibc.i686 0:2.5-107.el5_9.5 set to be updated
--> Processing Dependency: glibc-common = 2.5-107.el5_9.5 for package: glibc
--> Running transaction check
---> Package glibc-common.i386 0:2.5-107.el5_9.5 set to be updated
---> Package glibc-devel.i386 0:2.5-107.el5_9.5 set to be updated
---> Package glibc-headers.i386 0:2.5-107.el5_9.5 set to be updated
---> Package nscd.i386 0:2.5-107.el5_9.5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================================================================================================
Package                                           Arch                                     Version                                                Repository                                   Size
=====================================================================================================================================================================================================
Updating:
glibc                                             i686                                     2.5-107.el5_9.5                                        updates                                     5.4 M
Updating for dependencies:
glibc-common                                      i386                                     2.5-107.el5_9.5                                        updates                                      16 M
glibc-devel                                       i386                                     2.5-107.el5_9.5                                        updates                                     2.1 M
glibc-headers                                     i386                                     2.5-107.el5_9.5                                        updates                                     610 k
nscd                                              i386                                     2.5-107.el5_9.5                                        updates                                     177 k

Transaction Summary
=====================================================================================================================================================================================================
Install       0 Package(s)
Upgrade       5 Package(s)

Total download size: 25 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): nscd-2.5-107.el5_9.5.i386.rpm                                                                                                                                          | 177 kB     00:00
(2/5): glibc-headers-2.5-107.el5_9.5.i386.rpm                                                                                                                                 | 610 kB     00:00
(3/5): glibc-devel-2.5-107.el5_9.5.i386.rpm                                                                                                                                   | 2.1 MB     00:00
(4/5): glibc-2.5-107.el5_9.5.i686.rpm                                                                                                                                         | 5.4 MB     00:01
(5/5): glibc-common-2.5-107.el5_9.5.i386.rpm                                                                                                                                  |  16 MB     00:04
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                2.8 MB/s |  25 MB     00:08
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating       : glibc-common                                                                                                                                                                 1/10
Updating       : glibc                                                                                                                                                                        2/10
Updating       : nscd                                                                                                                                                                         3/10
Updating       : glibc-headers                                                                                                                                                                4/10
Updating       : glibc-devel                                                                                                                                                                  5/10
Cleanup        : glibc-common                                                                                                                                                                 6/10
Cleanup        : nscd                                                                                                                                                                         7/10
Cleanup        : glibc-headers                                                                                                                                                                8/10
Cleanup        : glibc                                                                                                                                                                        9/10
Cleanup        : glibc-devel                                                                                                                                                                 10/10

Updated:
glibc.i686 0:2.5-107.el5_9.5

Dependency Updated:
glibc-common.i386 0:2.5-107.el5_9.5                glibc-devel.i386 0:2.5-107.el5_9.5                glibc-headers.i386 0:2.5-107.el5_9.5                nscd.i386 0:2.5-107.el5_9.5

Complete!
[root@OptimusPrime bumble]#

After doing all this steps I finally managed to get my DNS back 🙂


[root@OptimusPrime bumble]# ping -c 3 google.ro
PING google.ro (82.77.159.118) 56(84) bytes of data.
64 bytes from unresolved.rdstm.ro (82.77.159.118): icmp_seq=1 ttl=60 time=4.55 ms
64 bytes from unresolved.rdstm.ro (82.77.159.118): icmp_seq=2 ttl=60 time=4.80 ms
64 bytes from unresolved.rdstm.ro (82.77.159.118): icmp_seq=3 ttl=60 time=4.76 ms

--- google.ro ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 4.559/4.708/4.805/0.133 ms
[root@OptimusPrime bumble]#

It is strange anyway because the file is still missing:


[root@OptimusPrime bumble]# file /etc/ld.so.preload
/etc/ld.so.preload: ERROR: cannot open `/etc/ld.so.preload' (No such file or directory)
[root@OptimusPrime bumble]#

So I took another look at the strace command:


[root@OptimusPrime bumble]# strace ping -c 1 www.google.ro
execve("/bin/ping", ["ping", "-c", "1", "www.google.ro"], [/* 22 vars */]) = 0
brk(0)                                  = 0x896f000
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=47082, ...}) = 0
mmap2(NULL, 47082, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fd9000
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\0000!\0\0004\0\0\0"..., 512) = 512
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd8000
fstat64(3, {st_mode=S_IFREG|0755, st_size=83048, ...}) = 0
mmap2(NULL, 84168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x66a000
mmap2(0x67b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x67b000
mmap2(0x67d000, 6344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x67d000
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\0`\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1702816, ...}) = 0
mmap2(NULL, 1426884, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x205000
mmap2(0x35c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x156) = 0x35c000
mmap2(0x35f000, 9668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x35f000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd7000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fd76c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x35c000, 8192, PROT_READ)     = 0
mprotect(0x67b000, 4096, PROT_READ)     = 0
mprotect(0xb9f000, 4096, PROT_READ)     = 0
munmap(0xb7fd9000, 47082)               = 0
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3
getuid32()                              = 0
setuid32(0)                             = 0
brk(0)                                  = 0x896f000
brk(0x8990000)                          = 0x8990000
getpid()                                = 21113
open("/etc/resolv.conf", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=165, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe4000
read(4, "#nameserver 213.154.124.1\n#names"..., 4096) = 165
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xb7fe4000, 4096)                = 0
uname({sys="Linux", node="OptimusPrime", ...}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
send(4, "\2\0\0\0\r\0\0\0\6\0\0\0hosts\0", 18, MSG_NOSIGNAL) = 18
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=4, revents=POLLIN|POLLHUP}])
recvmsg(4, {msg_name(0)=NULL, msg_iov(2)=[{"hosts\0", 6}, {"\270O\3\0\0\0\0\0", 8}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {5}}, msg_flags=0}, 0) = 14
mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7fa2000
close(5)                                = 0
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
send(4, "\2\0\0\0\4\0\0\0\16\0\0\0www.google.ro\0", 26, MSG_NOSIGNAL) = 26
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=4, revents=POLLIN|POLLHUP}])
read(4, "\2\0\0\0\1\0\0\0\16\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\20\0\0\0\0\0\0\0", 32) = 32
readv(4, [{"www.google.ro\0", 14}, {"RM\237\347RM\237\354RM\237\362RM\237\331RM\237\361RM\237\324RM\237\336RM\237\373"..., 64}], 2) = 78
close(4)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("82.77.159.231")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(59689), sin_addr=inet_addr("192.168.1.100")}, [16]) = 0
close(4)                                = 0
setsockopt(3, SOL_RAW, ICMP_FILTER, ~(ICMP_ECHOREPLY|ICMP_DEST_UNREACH|ICMP_SOURCE_QUENCH|ICMP_REDIRECT|ICMP_TIME_EXCEEDED|ICMP_PARAMETERPROB), 4) = 0
setsockopt(3, SOL_IP, IP_RECVERR, [1], 4) = 0
setsockopt(3, SOL_SOCKET, SO_SNDBUF, [324], 4) = 0
setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65536], 4) = 0
getsockopt(3, SOL_SOCKET, SO_RCVBUF, [131072], [4]) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe4000
write(1, "PING www.google.ro (82.77.159.23"..., 57PING www.google.ro (82.77.159.231) 56(84) bytes of data.
) = 57
setsockopt(3, SOL_SOCKET, SO_TIMESTAMP, [1], 4) = 0
setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\1\0\0\0\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\1\0\0\0\0\0\0\0", 8) = 0
rt_sigaction(SIGINT, {0x754200, [], SA_INTERRUPT}, NULL, 8) = 0
rt_sigaction(SIGALRM, {0x754200, [], SA_INTERRUPT}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {0x754220, [], SA_INTERRUPT}, NULL, 8) = 0
gettimeofday({1376776911, 335945}, NULL) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCGWINSZ, {ws_row=52, ws_col=197, ws_xpixel=0, ws_ypixel=0}) = 0
gettimeofday({1376776911, 339034}, NULL) = 0
gettimeofday({1376776911, 339283}, NULL) = 0
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("82.77.159.231")}, msg_iov(1)=[{"\10\0\\7yR\0\1\317\362\17RS-\5\0\10\t\n\v\f\r\16\17\20\21\22\23\24\25\26\27"..., 64}], msg_controllen=0, msg_flags=0}, 0) = 64
setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={10, 0}}, NULL) = 0
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("82.77.159.231")}, msg_iov(1)=[{"E\0\0TOL\0\0<\1{\34RM\237\347\300\250\1d\0\0d7yR\0\1\317\362\17R"..., 192}], msg_controllen=20, {cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 84
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
send(4, "\2\0\0\0\6\0\0\0\4\0\0\0RM\237\347", 16, MSG_NOSIGNAL) = 16
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=4, revents=POLLIN|POLLHUP}])
read(4, "\2\0\0\0\1\0\0\0\24\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0", 32) = 32
readv(4, [{"unresolved.rdstm.ro\0", 20}, {"RM\237\347", 4}], 2) = 24
close(4)                                = 0
write(1, "64 bytes from unresolved.rdstm.r"..., 8264 bytes from unresolved.rdstm.ro (82.77.159.231): icmp_seq=1 ttl=60 time=4.33 ms
) = 82
write(1, "\n", 1
)                       = 1
write(1, "--- www.google.ro ping statistic"..., 38--- www.google.ro ping statistics ---
) = 38
write(1, "1 packets transmitted, 1 receive"..., 601 packets transmitted, 1 received, 0% packet loss, time 3ms
) = 60
write(1, "rtt min/avg/max/mdev = 4.333/4.3"..., 50rtt min/avg/max/mdev = 4.333/4.333/4.333/0.000 ms
) = 50
exit_group(0)                           = ?
[root@OptimusPrime bumble]#

I have saved the two traces in two different files (a.txt and b.txt) and ran sdiff on them and I got the following:


[root@OptimusPrime bumble]# sdiff a.txt b.txt
execve("/bin/ping", ["ping", "-c", "1", "www.google.ro"], [/*   execve("/bin/ping", ["ping", "-c", "1", "www.google.ro"], [/*
brk(0)                                  = 0x89ec000           | brk(0)                                  = 0x896f000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such
open("/etc/ld.so.cache", O_RDONLY)      = 3                     open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=47082, ...}) = 0      fstat64(3, {st_mode=S_IFREG|0644, st_size=47082, ...}) = 0
mmap2(NULL, 47082, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fb6000 | mmap2(NULL, 47082, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fd9000
close(3)                                = 0                     close(3)                                = 0
open("/lib/libresolv.so.2", O_RDONLY)   = 3                     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\0000\2 | read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000!\
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY | mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY
fstat64(3, {st_mode=S_IFREG|0755, st_size=84904, ...}) = 0    | fstat64(3, {st_mode=S_IFREG|0755, st_size=83048, ...}) = 0
mmap2(NULL, 84168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYW | mmap2(NULL, 84168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYW
mmap2(0x82f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F | mmap2(0x67b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F
mmap2(0x831000, 6344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F | mmap2(0x67d000, 6344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F
close(3)                                = 0                     close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3                     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\0\22 | read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0`\1
fstat64(3, {st_mode=S_IFREG|0755, st_size=1706232, ...}) = 0  | fstat64(3, {st_mode=S_IFREG|0755, st_size=1702816, ...}) = 0
mmap2(NULL, 1426884, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DEN | mmap2(NULL, 1426884, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DEN
mmap2(0xe18000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ | mmap2(0x35c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_
mmap2(0xe1b000, 9668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F | mmap2(0x35f000, 9668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F
close(3)                                = 0                     close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY | mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fb46c0,  | set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fd76c0,
mprotect(0xe18000, 8192, PROT_READ)     = 0                   | mprotect(0x35c000, 8192, PROT_READ)     = 0
mprotect(0x82f000, 4096, PROT_READ)     = 0                   | mprotect(0x67b000, 4096, PROT_READ)     = 0
mprotect(0x40e000, 4096, PROT_READ)     = 0                   | mprotect(0xb9f000, 4096, PROT_READ)     = 0
munmap(0xb7fb6000, 47082)               = 0                   | munmap(0xb7fd9000, 47082)               = 0
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3                     socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3
getuid32()                              = 0                     getuid32()                              = 0
setuid32(0)                             = 0                     setuid32(0)                             = 0
brk(0)                                  = 0x89ec000           | brk(0)                                  = 0x896f000
brk(0x8a0d000)                          = 0x8a0d000           | brk(0x8990000)                          = 0x8990000
getpid()                                = 20724               | getpid()                                = 21113
open("/etc/resolv.conf", O_RDONLY)      = 4                     open("/etc/resolv.conf", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=164, ...}) = 0      | fstat64(4, {st_mode=S_IFREG|0644, st_size=165, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY | mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY
read(4, "nameserver 213.154.124.1\nnameser"..., 4096) = 164   | read(4, "#nameserver 213.154.124.1\n#names"..., 4096) = 165
read(4, "", 4096)                       = 0                     read(4, "", 4096)                       = 0
close(4)                                = 0                     close(4)                                = 0
munmap(0xb7fc1000, 4096)                = 0                   | munmap(0xb7fe4000, 4096)                = 0
uname({sys="Linux", node="OptimusPrime", ...}) = 0              uname({sys="Linux", node="OptimusPrime", ...}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4                     socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0                     fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...   connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...
send(4, "\2\0\0\0\r\0\0\0\6\0\0\0hosts\0", 18, MSG_NOSIGNAL)    send(4, "\2\0\0\0\r\0\0\0\6\0\0\0hosts\0", 18, MSG_NOSIGNAL)
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([ | poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([
recvmsg(4, {msg_name(0)=NULL, msg_iov(2)=[{"hosts\0", 6}, {"\   recvmsg(4, {msg_name(0)=NULL, msg_iov(2)=[{"hosts\0", 6}, {"\
mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7f7f000 | mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7fa2000
close(5)                                = 0                     close(5)                                = 0
close(4)                                = 0                     close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4                     socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0                     fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...   connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...
send(4, "\2\0\0\0\4\0\0\0\16\0\0\0www.google.ro\0", 26, MSG_N   send(4, "\2\0\0\0\4\0\0\0\16\0\0\0www.google.ro\0", 26, MSG_N
poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([   poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([
read(4, "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377 | read(4, "\2\0\0\0\1\0\0\0\16\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\20
> readv(4, [{"www.google.ro\0", 14}, {"RM\237\347RM\237\354RM\2
> close(4)                                = 0
> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
> connect(4, {sa_family=AF_INET, sin_port=htons(1025), sin_addr
> getsockname(4, {sa_family=AF_INET, sin_port=htons(59689), sin
> close(4)                                = 0
> setsockopt(3, SOL_RAW, ICMP_FILTER, ~(ICMP_ECHOREPLY|ICMP_DES
> setsockopt(3, SOL_IP, IP_RECVERR, [1], 4) = 0
> setsockopt(3, SOL_SOCKET, SO_SNDBUF, [324], 4) = 0
> setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65536], 4) = 0
> getsockopt(3, SOL_SOCKET, SO_RCVBUF, [131072], [4]) = 0
> fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ..
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONY
> write(1, "PING www.google.ro (82.77.159.23"..., 57PING www.go
> ) = 57
> setsockopt(3, SOL_SOCKET, SO_TIMESTAMP, [1], 4) = 0
> setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\1\0\0\0\0\0\0\0", 8)
> setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\1\0\0\0\0\0\0\0", 8)
> rt_sigaction(SIGINT, {0x754200, [], SA_INTERRUPT}, NULL, 8) =
> rt_sigaction(SIGALRM, {0x754200, [], SA_INTERRUPT}, NULL, 8)
> rt_sigaction(SIGQUIT, {0x754220, [], SA_INTERRUPT}, NULL, 8)
> gettimeofday({1376776911, 335945}, NULL) = 0
> ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig ic
> ioctl(1, TIOCGWINSZ, {ws_row=52, ws_col=197, ws_xpixel=0, ws_
> gettimeofday({1376776911, 339034}, NULL) = 0
> gettimeofday({1376776911, 339283}, NULL) = 0
> sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0
> setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={10, 0}}
> recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0
> socket(PF_FILE, SOCK_STREAM, 0)         = 4
> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"...
> send(4, "\2\0\0\0\6\0\0\0\4\0\0\0RM\237\347", 16, MSG_NOSIGNA
> poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([
> read(4, "\2\0\0\0\1\0\0\0\24\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\1\
> readv(4, [{"unresolved.rdstm.ro\0", 20}, {"RM\237\347", 4}],
close(4)                                = 0                     close(4)                                = 0
write(2, "ping: unknown host www.google.ro"..., 33ping: unkno | write(1, "64 bytes from unresolved.rdstm.r"..., 8264 bytes fr
) = 33                                                        | ) = 82
exit_group(2)                                                 | write(1, "\n", 1
> )                       = 1
> write(1, "--- www.google.ro ping statistic"..., 38--- www.goo
> ) = 38
> write(1, "1 packets transmitted, 1 receive"..., 601 packets t
> ) = 60
> write(1, "rtt min/avg/max/mdev = 4.333/4.3"..., 50rtt min/avg
> ) = 50
> exit_group(0)                           = ?
[root@OptimusPrime bumble]#

I still can’t see why didn’t work first time but I’m glad that I got it fixed. Maybe some one can comment to this article and help us understand 😛

Thanks for your time