Hi,

I'm having a "segmentation fault" problem when using ping6.

When testing on ARM9 platforms (i.MX25 and i.MX27), it returns the error:

r...@freescale ~$ ping6 ::1
PING ::1 (::1): 56 data bytes
Segmentation fault


Strace log:
------------------------------------------
$ strace ping6 ::1
execve("/bin/ping6", ["ping6", "::1"], [/* 12 vars */]) = 0
brk(0)                                  = 0x9b000
uname({sys="Linux", node="freescale", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001c000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/v5l/fast-mult/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v5l/fast-mult/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/v5l/fast-mult/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v5l/fast-mult", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/v5l/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v5l/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/v5l/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v5l", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/fast-mult/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/fast-mult/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/fast-mult/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/fast-mult", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/v5l/fast-mult/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v5l/fast-mult/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/v5l/fast-mult/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v5l/fast-mult", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/v5l/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v5l/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/v5l/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v5l", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/fast-mult/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/fast-mult/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/fast-mult/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/fast-mult", 0xbeafb2d8) = -1 ENOENT (No such file or directory) open("/lib/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/half", 0xbeafb2d8) = -1 ENOENT (No such file or directory)
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(\0\1\0\0\0\10C\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1346605, ...}) = 0
mmap2(NULL, 1134988, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40025000
mprotect(0x4012e000, 28672, PROT_NONE)  = 0
mmap2(0x40135000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x108) = 0x40135000 mmap2(0x40138000, 8588, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40138000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001d000 syscall_983045(0x4001d080, 0x4001d080, 0x40024058, 0x4001d758, 0x40, 0x40024058, 0, 0xf0005, 0x6fffff40, 0x8034, 0x40024000, 0xbeafbb5c, 0, 0xbeafb880, 0x400
mprotect(0x40135000, 8192, PROT_READ)   = 0
mprotect(0x40023000, 4096, PROT_READ)   = 0
getuid32()                              = 0
getpid()                                = 403
mq_notify(16, ptrace: umoven: Input/output error
{...})                    = 3
mq_getsetattr(3, {mq_flags=O_RDONLY|0x10, mq_maxmsg=0, mq_msgsize=0, mq_curmsg=12}, ptrace: umoven: Input/output error
{...}) = 0
SYS_286(0x3, 0xbeafb958, 0xbeafb964, 0x10, 0x3) = 0
gettimeofday({406, 103378}, NULL)       = 0
SYS_290(0x3, 0xbeafb914, 0x14, 0, 0xbeafb908) = 20
SYS_297(0x3, 0xbeafa8e4, 0, 0, 0xbeafa94c) = 108
SYS_297(0x3, 0xbeafa8e4, 0, 0, 0xbeafa94c) = 128
SYS_297(0x3, 0xbeafa8e4, 0, 0, 0xbeafa94c) = 20
close(3)                                = 0
brk(0)                                  = 0x9b000
brk(0xbc000)                            = 0xbc000
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(207, 16), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001e000
write(1, "PING ::1 (::1): 56 data bytes\n", 30PING ::1 (::1): 56 data bytes
) = 30
mq_notify(10, ptrace: umoven: Input/output error
{...})                    = 3
getuid32()                              = 0
setuid32(0)                             = 0
SYS_294(0x3, 0x3a, 0x1, 0xbeafba3c, 0x20) = 0
SYS_294(0x3, 0x1, 0x6, 0x7f2b0, 0x4)    = 0
SYS_294(0x3, 0x1, 0x8, 0xbeafba9c, 0x4) = 0
SYS_294(0x3, 0xff, 0x7, 0xbeafba9c, 0x4) = 0
SYS_294(0x3, 0x29, 0x8, 0x7f2b0, 0x4)   = 0
rt_sigaction(SIGINT, {0x20698, [INT], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
timer_delete(0x1)                       = 0
SYS_290(0x3, 0xbeafb898, 0x40, 0, 0x98cec) = 64
rt_sigaction(SIGALRM, {0x1fd24, [ALRM], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0 setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={1, 0}}, {it_interval={0, 0}, it_value={0, 0}}) = 0
SYS_297(0x3, 0xbeafba78, 0, 0x30, 0xbeafba9c) = 64
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 403 detached

------------------------------------------



When testing on ARM11 and ARM Cortex A8 platforms (i.MX31 and i.MX51), it works:

r...@freescale ~$ ping6 ::1
PING ::1 (::1): 56 data bytes
64 bytes from ::1: seq=0 ttl=64 time=0.331 ms
64 bytes from ::1: seq=1 ttl=64 time=0.214 ms
64 bytes from ::1: seq=2 ttl=64 time=0.176 ms
64 bytes from ::1: seq=3 ttl=64 time=0.155 ms

On all cases, I'm using Linux Kernel 2.6.35 (from Mainline) and Busybox 1.15.0

Does anybody have any idea?

Thanks in advance,

Rogerio Pimentel


_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to