| Anonymous | Login | Signup for a new account | 11-10-2008 11:03 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0000940 | [uClibc] Architecture Specific | block | always | 07-10-06 12:11 | 11-04-06 10:34 | ||||
| Reporter | jalsot | View Status | public | ||||||
| Assigned To | uClibc | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | |||||||
| Summary | 0000940: iproute2 'OVERRUN: Bad address' on x86_64 | ||||||||
| Description |
Binaries from iproute2 from buildroot doesn't work on x86_64. It gives 'OVERRUN: Bad address' message. NETLINK is set in linux kernel, but it seems, the problem is in communication [see strace output]. On irc someboyd [mnemoc] has got the same issue. He had different gcc [gcc-4.1.1]. He has x86_64 as well. As he reported, on another architecture [I guess i686] the problem disappears with the same environment. He tried uclibc-0.9.28 as well without success. As he reported, with diet libc it works well with same version of kernel, iproute2 and compilation conditions. I also tried iproute2-2.6.16-060323 but didn't help. As we the traces shows, the problem might be with uClibc. |
||||||||
| Additional Information |
Host system: Ubuntu 6.0.6, 2.6.16.9, AMD64, gcc-4.0.3 Target system: buildroot r15663, x86_64, linux-2.6.17.4 Toolchain: uClibc-snapshot, gcc-3.4.6 strace output: execve("/sbin/ip", ["ip", "link"], [/* 15 vars */]) = 0 mmap(NULL, 40, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2cea940000 stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=2373, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 mmap(NULL, 2373, PROT_READ, MAP_SHARED, 3, 0) = 0x2b2cea941000 close(3) = 0 open("/lib/libresolv.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=2152, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2cea942000 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0H\3\0\0\0"..., 4096) = 2152 mmap(NULL, 1052672, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2ceaa40000 mmap(0x2b2ceaa40000, 920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2b2ceaa40000 mmap(0x2b2ceab40000, 1152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2b2ceab40000 close(3) = 0 munmap(0x2b2cea942000, 4096) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=141971, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2cea942000 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\34\0"..., 4096) = 4096 mmap(NULL, 1093632, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2ceab41000 mmap(0x2b2ceab41000, 40332, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2b2ceab41000 mmap(0x2b2ceac4b000, 816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa000) = 0x2b2ceac4b000 close(3) = 0 munmap(0x2b2cea942000, 4096) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=251656, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2cea942000 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\270\0\0"..., 4096) = 4096 mmap(NULL, 1318912, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b2ceac4c000 mmap(0x2b2ceac4c000, 246768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2b2ceac4c000 mmap(0x2b2cead88000, 3732, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3c000) = 0x2b2cead88000 mmap(0x2b2cead89000, 20384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b2cead89000 close(3) = 0 munmap(0x2b2cea942000, 4096) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=251656, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=251656, ...}) = 0 close(3) = 0 munmap(0x2b2cea941000, 2373) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 socket(PF_NETLINK, SOCK_RAW, 0) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [140737488388096], 4) = 0 bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=1154, groups=00000000}, [140737488355340]) = 0 time(NULL) = 1152565555 sendto(3, "\24\0\0\0\22\0\1\0034\301\262D\0\0\0\0\21\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{ptrace: umoven: Input/output error 0x7fff00000000, 16384}], msg_controllen=0, msg_flags=0}, 0) = 984 brk(0) = 0x522000 brk(0x523000) = 0x523000 recvmsg(3, 0x7fffc016c690, 0) = -1 EFAULT (Bad address) write(2, "OVERRUN", 7OVERRUN) = 7 write(2, ": ", 2: ) = 2 write(2, "Bad address", 11Bad address) = 11 write(2, "\n", 1 ) = 1 |
||||||||
| Attached Files | |||||||||
|
|
|||||||||
Notes |
|
|
(0001508) mnemoc 07-10-06 12:31 |
i have the same problem with iproute2's ip and BB's ip (1.1.3 and 1.2.0) against uclibc 0.9.28 and uclibc snapshot (random days during the last two weeks). gcc 4.1.1, using T2 (http://www.t2-project.org/) [^] instead of buildroot. i'm attaching the syscall traces of uclibc/iproute2 and then dietlibc/iproute2, both static with the same versions of everything (gcc=4.1.1). this issue happens on x86_64 and not on athlon xp or p4. no idea about other 64bits architectures. $ strace -vvfF ./uemb-2.3-trunk-mnemosyne-x86-64-opteron/sbin/ip addr show execve("./uemb-2.3-trunk-mnemosyne-x86-64-opteron/sbin/ip", ["./uemb-2.3-trunk-mnemosyne-x86-6"..., "addr", "show"], ["MANPATH=/usr/share/man", "SHELL=/bin/bash", "TERM=screen", "USER=amery", "HISTFILESIZE=50", "T2DOWNOPT=-alt-dir /voldata/down"..., "LS_COLORS=", "TERMCAP=SC|screen|VT 100/ANSI X3"..., "PAGER=less -R", "PATH=/command:/home/amery/bin:/c"..., "STY=8661.mnemoc", "BLOCKSIZE=K", "PWD=/home/amery/building/t2-trun"..., "INPUTRC=/etc/inputrc", "EDITOR=vi", "PS1=\\[\\033[1;34m\\][\\[\\033[1;36m\\"..., "SVN_SSH=ssh -i /home/amery/.ssh/"..., "HISTCONTROL=ignoredups", "HOME=/home/amery", "SHLVL=2", "LOGNAME=amery", "LESS=--ignore-case", "CVS_RSH=ssh", "WINDOW=4", "PKG_CONFIG_PATH=/usr/lib/pkgconf"..., "LESSOPEN=|lesspipe %s", "BROWSER=links", "INFOPATH=/usr/share/info", "OLDPWD=/home/amery/building/t2-t"..., "_=/usr/bin/strace"]) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {c_iflags=0x2504, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x7f\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {c_iflags=0x2504, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x7f\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0 socket(PF_NETLINK, SOCK_RAW, 0) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [140737488388096], 4) = 0 bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=5561, groups=00000000}, [18412476522519592972]) = 0 time(NULL) = 1152559095 sendto(3, "\24\0\0\0\22\0\1\3\370\247\262D\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{ptrace: umoven: Input/output error 0x7fff00000000, 16384}], msg_controllen=0, msg_flags=0}, 0) = 236 brk(0) = 0x636000 brk(0x637000) = 0x637000 recvmsg(3, 0x7fffff862d70, 0) = -1 EFAULT (Bad address) write(2, "OVERRUN", 7OVERRUN) = 7 write(2, ": ", 2: ) = 2 write(2, "Bad address", 11Bad address) = 11 write(2, "\n", 1 ) = 1 $ strace -vvfF ./dietemb-2.3-trunk-mnemosyne-x86-64-opteron/sbin/ip addr show execve("./dietemb-2.3-trunk-mnemosyne-x86-64-opteron/sbin/ip", ["./dietemb-2.3-trunk-mnemosyne-x8"..., "addr", "show"], ["MANPATH=/usr/share/man", "SHELL=/bin/bash", "TERM=screen", "USER=amery", "HISTFILESIZE=50", "T2DOWNOPT=-alt-dir /voldata/down"..., "LS_COLORS=", "TERMCAP=SC|screen|VT 100/ANSI X3"..., "PAGER=less -R", "PATH=/command:/home/amery/bin:/c"..., "STY=8661.mnemoc", "BLOCKSIZE=K", "PWD=/home/amery/building/t2-trun"..., "INPUTRC=/etc/inputrc", "EDITOR=vi", "PS1=\\[\\033[1;34m\\][\\[\\033[1;36m\\"..., "SVN_SSH=ssh -i /home/amery/.ssh/"..., "HISTCONTROL=ignoredups", "HOME=/home/amery", "SHLVL=2", "LOGNAME=amery", "LESS=--ignore-case", "CVS_RSH=ssh", "WINDOW=4", "PKG_CONFIG_PATH=/usr/lib/pkgconf"..., "LESSOPEN=|lesspipe %s", "BROWSER=links", "INFOPATH=/usr/share/info", "OLDPWD=/home/amery/building/t2-t"..., "_=/usr/bin/strace"]) = 0 socket(PF_NETLINK, SOCK_RAW, 0) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [140737488388096], 4) = 0 bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=5758, groups=00000000}, [18418382205630808076]) = 0 time(NULL) = 1152559188 sendto(3, "\24\0\0\0\22\0\1\3U\250\262D\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\354\0\0\0\20\0\2\0U\250\262D~\26\0\0\0\0\1\0\22\0\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 236 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2af0f5272000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2af0f5273000 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0U\250\262D~\26\0\0\0\0\0\0\22\0\0\0\303"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 20 sendto(3, "\24\0\0\0\26\0\1\3V\250\262D\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"D\0\0\0\24\0\2\0V\250\262D~\26\0\0\2\30\201\0\22\0\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 68 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2af0f5274000 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0V\250\262D~\26\0\0\0\0\0\0\22\0\0\0\10"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 20 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4 ioctl(4, SIOCGIFTXQLEN, 0x7fffff9b28e0) = 0 close(4) = 0 write(1, "18: dummy0: <BROADCAST,NOARP,UP>"..., 5718: dummy0: <BROADCAST,NOARP,UP> mtu 1500 qdisc noqueue ) = 57 write(1, " link/ether 06:4c:27:44:2e:92"..., 55 link/ether 06:4c:27:44:2e:92 brd ff:ff:ff:ff:ff:ff ) = 55 write(1, " inet 192.168.20.1/24 brd 192"..., 74 inet 192.168.20.1/24 brd 192.168.20.255 scope global secondary dummy0 ) = 74 _exit(0) |
|
(0001512) jalsot 07-10-06 15:06 |
What is interesting, e.g. 'ip link set eth0 mtu 1200' and 'ip rule' works partially: # ip rule 0: from all lookup local 32766: from all lookup main 32767: from all lookup default OVERRUN: Bad address |
|
(0001729) andersen 11-04-06 10:34 |
fixed with svn commit 16494 |
| Copyright © 2000 - 2006 Mantis Group |