OS info ====== Kernel : 2.6.20.1 #4 Thu Mar 1 01:01:16 EST 2007 i686 i686 i386 GNU/Linux CentOS release 4.4 (Final) rpm -qf /bin/ping iputils-20020927-18.EL4.3 ping google.com PING google.com (72.14.207.99) 56(84) bytes of data. 64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=0 ttl=240 time=53.3 ms 64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=1 ttl=237 time=48.8 ms 64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=2 ttl=237 time=48.7 ms /usr/local/nagios/libexec/check_ping -vvv -H 72.14.207.99 -w 100.0,20% -c 500.0,60% -p 5 Segmentation fault gdb debug info ================== gdb check_ping GNU gdb Red Hat Linux (6.3.0.0-1.132.EL4rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run -H 207.218.234.146 -w 100.0,20% -c 500.0,60% -p 5 Starting program: /usr/local/nagios/libexec/check_ping -H 72.14.207.99 -w 100.0,20% -c 500.0,60% -p 5 Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0xffffe000 Program received signal SIGSEGV, Segmentation fault. 0x4664c2bb in strlen () from /lib/tls/libc.so.6 (gdb) Segmentation fault Strace output =============== strace -f -o strace.output /usr/local/nagios/libexec/check_ping -H 72.14.207.99 -w 100.0,20% -c 500.0,60% -p 5 8504 execve("/usr/local/nagios/libexec/check_ping", ["/usr/local/nagios/libexec/check_"..., "-H", "72.14.207.99", "-w", "100.0,20%", "-c", "500.0,60%", "-p", "5"], [/* 28 vars */]) = 0 8504 uname({sys="Linux", node="xerophyte.lncare.com", ...}) = 0 8504 brk(0) = 0x804f000 8504 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 8504 open("/etc/ld.so.cache", O_RDONLY) = 3 8504 fstat64(3, {st_mode=S_IFREG|0644, st_size=44526, ...}) = 0 8504 old_mmap(NULL, 44526, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f15000 8504 close(3) = 0 8504 open("/lib/libnsl.so.1", O_RDONLY) = 3 8504 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\307"..., 512) = 512 8504 fstat64(3, {st_mode=S_IFREG|0755, st_size=97144, ...}) = 0 8504 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f14000 8504 old_mmap(0x46799000, 88072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x46799000 8504 old_mmap(0x467ab000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x467ab000 8504 old_mmap(0x467ad000, 6152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x467ad000 8504 close(3) = 0 8504 open("/lib/libresolv.so.2", O_RDONLY) = 3 8504 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\3603{F"..., 512) = 512 8504 fstat64(3, {st_mode=S_IFREG|0755, st_size=81184, ...}) = 0 8504 old_mmap(0x467b1000, 75944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x467b1000 8504 old_mmap(0x467c0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x467c0000 8504 old_mmap(0x467c2000, 6312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x467c2000 8504 close(3) = 0 8504 open("/lib/tls/libc.so.6", O_RDONLY) = 3 8504 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320~_F"..., 512) = 512 8504 fstat64(3, {st_mode=S_IFREG|0755, st_size=1525004, ...}) = 0 8504 old_mmap(0x465e3000, 1223900, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x465e3000 8504 old_mmap(0x46708000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x124000) = 0x46708000 8504 old_mmap(0x4670c000, 7388, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4670c000 8504 close(3) = 0 8504 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f13000 8504 mprotect(0x46708000, 8192, PROT_READ) = 0 8504 mprotect(0x467c0000, 4096, PROT_READ) = 0 8504 mprotect(0x467ab000, 4096, PROT_READ) = 0 8504 mprotect(0x465df000, 4096, PROT_READ) = 0 8504 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f136c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 8504 munmap(0xb7f15000, 44526) = 0 8504 brk(0) = 0x804f000 8504 brk(0x8070000) = 0x8070000 8504 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3 8504 fstat64(3, {st_mode=S_IFREG|0644, st_size=48506624, ...}) = 0 8504 mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d13000 8504 close(3) = 0 8504 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 8504 connect(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("72.14.207.99")}, 16) = 0 8504 getsockname(3, {sa_family=AF_INET, sin_port=htons(33400), sin_addr=inet_addr("207.44.188.61")}, [16]) = 0 8504 close(3) = 0 8504 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 8504 connect(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("72.14.207.99")}, 16) = 0 8504 getsockname(3, {sa_family=AF_INET, sin_port=htons(33400), sin_addr=inet_addr("207.44.188.61")}, [16]) = 0 8504 close(3) = 0 8504 rt_sigaction(SIGALRM, {0x804bb18, [ALRM], SA_RESTART}, {SIG_DFL}, 8) = 0 8504 alarm(11) = 0 8504 --- SIGSEGV (Segmentation fault) @ 0 (0) --- 8504 +++ killed by SIGSEGV +++