sendto: Invalid argument

Fernando Rodriguez fernando at elec.gla.ac.uk
Thu May 17 14:18:42 UTC 2007


As further information, I did an strace to ping 127.0.0.1, below is what 
I got. 

I am particularly interested in the line (alhtough this might not be the 
cause for the error)

SYS_290(0x4, 0xbeedeb74, 0x40, 0, 0xb1a60) = -1 EINVAL (Invalid argument)

Maybe this is a kernel issue.  I am running:

# uname -a
Linux uclibc 2.6.14-uc0 #4 Thu May 17 12:19:44 BST 2007 armv4tl unknown


However, note that I have selected to compile against my kernel source 
header files and it makes no difference.


Strace output:

execve("/bin/ping", ["ping", "127.0.0.1"], [/* 15 vars */]) = 0
mmap2(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x400
05000
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=862, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
mmap2(NULL, 862, PROT_READ, MAP_SHARED, 4, 0) = 0x40006000
close(4)                                = 0
open("/lib/libcrypt.so.0", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=12892, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x4
0007000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\4\0\000"..., 
4096) =
 4096
mmap2(NULL, 118784, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x4000e000
mmap2(0x4000e000, 9168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 
0) = 0x4
000e000
mmap2(0x40018000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0x2) =
0x40018000
mmap2(0x40019000, 70864, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYM
OUS, -1, 0) = 0x40019000
close(4)                                = 0
munmap(0x40007000, 4096)                = 0
open("/lib/libm.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=45812, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x4
0007000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\320\22\0"..., 
4096) = 40
96
mmap2(NULL, 81920, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4002b000
mmap2(0x4002b000, 42036, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 
0) = 0x
4002b000
mmap2(0x4003d000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0xa) =
0x4003d000
close(4)                                = 0
munmap(0x40007000, 4096)                = 0
open("/lib/libgcc_s.so.1", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=30252, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x4
0007000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0X\25\0\000"..., 
4096) = 4
096
mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4003f000
mmap2(0x4003f000, 28792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 
0) = 0x
4003f000
mmap2(0x4004e000, 540, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0x7) = 0
x4004e000
close(4)                                = 0
munmap(0x40007000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=305744, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x4
0007000
read(4, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \253\0\000"..., 
4096) =
4096
mmap2(NULL, 356352, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x4004f000
mmap2(0x4004f000, 301804, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 
0) = 0
x4004f000
mmap2(0x400a0000, 5172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0x49) =
 0x400a0000
mmap2(0x400a2000, 16020, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYM
OUS, -1, 0) = 0x400a2000
close(4)                                = 0
munmap(0x40007000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=305744, ...}) = 0
close(4)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=305744, ...}) = 0
close(4)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=305744, ...}) = 0
close(4)                                = 0
munmap(0x40006000, 862)                 = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=21096, ...}) = 0
mprotect(0x40018000, 4096, PROT_READ)   = 0
mprotect(0x4003d000, 4096, PROT_READ)   = 0
mprotect(0x400a0000, 4096, PROT_READ)   = 0
mprotect(0x4000c000, 4096, PROT_READ)   = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo 
...}) =
 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo 
...}) =
 0
getuid32()                              = 0
getgid32()                              = 0
getpid()                                = 762
brk(0)                                  = 0xb4000
brk(0xb5000)                            = 0xb5000
write(1, "PING 127.0.0.1 (127.0.0.1): 56 d"..., 42) = 42
brk(0xb6000)                            = 0xb6000
open("/etc/protocols", O_RDONLY)        = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbeedeabc) = -1 ENOTTY 
(Inappropriate
ioctl for device)
brk(0xb7000)                            = 0xb7000
read(4, "# /etc/protocols:\n# $Id: protoco"..., 4096) = 1191
close(4)                                = 0
SYS_281(0x2, 0x3, 0x1, 0, 0xb4040)      = 4
getuid32()                              = 0
setuid32(0)                             = 0
SYS_294(0x4, 0x1, 0x6, 0x990fc, 0x4)    = 0
SYS_294(0x4, 0x1, 0x8, 0xbeedece4, 0x4) = 0
rt_sigaction(SIGINT, {0x54160, [INT], SA_RESTART|0x4000000}, {SIG_DFL}, 
8) = 0
gettimeofday({72, 408666}, NULL)        = 0
SYS_290(0x4, 0xbeedeb74, 0x40, 0, 0xb1a60) = -1 EINVAL (Invalid argument)
write(2, "ping", 4)                     = 4
write(2, ": ", 2)                       = 2
write(2, "sendto", 6)                   = 6
write(2, ": ", 2)                       = 2
write(2, "Invalid argument", 16)        = 16
write(2, "\n", 1)                       = 1
exit(1)                                 = ?

-- 
Dr. Fernando Rodriguez                  <fernando at elec.gla.ac.uk>
Dept. of E&E Engineering                voice: +44(0)141 330 4108
University of Glasgow                   FAX: +44(0)141 330 4907
Glasgow G12 8LT                        


Just put the carbon back where you found it.





More information about the uClibc mailing list