Strange behaviour with 0.9.29-snapshot and poptop

Pirmin Walthert infos at nappsoft.com
Tue Sep 30 21:23:27 UTC 2008


Hello

I'm creating a uclibc/busybox based rourter and came across strange
things the last two days. 

With 0.9.29 and linuxthreads.old everything works well (lighttp,
dropbear, fast-cgi, gpg, ...) except for asterisk that is craching from
time to time (the same version that runs absolutely stable on glibc
based systems). With the new linuxthreads from 0.9.29 a lot of
applications crash.

This is why I've changed to 0.9.29-snapshots. Choosing the new
linuxthreads I've no troubles at all with asterisk. Everything works
well except for the fact that it takes much longer to start compared to
glibc-based builds on the same plattform (I guess this is because of
older threading-code and the fact that asterisk runs with a lot of
threads?). So everything seems to be fine... As long as I do not open a
pptp-tunnel. => While the tunnel works fine, it causes tools like ping
and nslookup to segfault. As soon as I close the pptp tunnel everything
works fine again. Any suggestions?

Attached strace without pptp-tunnel and one with.

My system details: x86 (amd geode), busybox-1.12.1,
uclibc-0.9.29-snapshot, linux-2.6.26.5, gcc-4.1.2.

Regards, Pirmin
-------------- next part --------------
execve("/bin/ping", ["ping", "192.168.88.1"], [/* 13 vars */]) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f74000
stat("/etc/ld.so.cache", 0xbf97ab78)    = -1 ENOENT (No such file or directory)
stat("/etc/ld.so.preload", 0xbf97ad44)  = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=49836, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f73000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0D\24\0\0004\0\0\0|"..., 4096) = 4096
mmap2(NULL, 57344, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f65000
mmap2(0xb7f65000, 45960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xb7f65000
mmap2(0xb7f71000, 4124, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb) = 0xb7f71000
close(3)                                = 0
munmap(0xb7f73000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=302080, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f73000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\253\0\0004\0\0\0\360"..., 4096) = 4096
mmap2(NULL, 323584, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f16000
mmap2(0xb7f16000, 294568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xb7f16000
mmap2(0xb7f5e000, 5288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x48) = 0xb7f5e000
mmap2(0xb7f60000, 16492, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f60000
close(3)                                = 0
munmap(0xb7f73000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=302080, ...}) = 0
close(3)                                = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=21096, ...}) = 0
mprotect(0xb7f71000, 4096, PROT_READ)   = 0
mprotect(0xb7f5e000, 4096, PROT_READ)   = 0
mprotect(0xb7f7a000, 4096, PROT_READ)   = 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
getuid32()                              = 0
getpid()                                = 3422
socket(PF_NETLINK, SOCK_RAW, 0)         = 3
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=3422, groups=00000000}, [12]) = 0
time(NULL)                              = 1222805860
sendto(3, "\24\0\0\0\22\0\1\3d\211\342H\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\0d\211\342H^\r\0\0\0\0\4\3\1\0\0\0I\0\1\0\0\0\0\0\7"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 1928
brk(0)                                  = 0x8129000
brk(0x812a000)                          = 0x812a000
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0d\211\342H^\r\0\0\0\0\0\0\1\0\0\0I\0\1\0\0\0\0\0\7"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
sendto(3, "\24\0\0\0\26\0\1\3e\211\342H\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)=[{"0\0\0\0\24\0\2\0e\211\342H^\r\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 228
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0e\211\342H^\r\0\0\0\0\0\0\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
brk(0x812b000)                          = 0x812b000
close(3)                                = 0





-------------- next part --------------
# /tmp/strace ping 192.168.88.11
execve("/bin/ping", ["ping", "192.168.88.11"], [/* 13 vars */]) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc2000
stat("/etc/ld.so.cache", 0xbfbc75c8)    = -1 ENOENT (No such file or directory)
stat("/etc/ld.so.preload", 0xbfbc7794)  = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=49836, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc1000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0D\24\0\0004\0\0\0|"..., 4096) = 4096
mmap2(NULL, 57344, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb3000
mmap2(0xb7fb3000, 45960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xb7fb3000
mmap2(0xb7fbf000, 4124, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb) = 0xb7fbf000
close(3)                                = 0
munmap(0xb7fc1000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=302080, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc1000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\253\0\0004\0\0\0\360"..., 4096) = 4096
mmap2(NULL, 323584, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f64000
mmap2(0xb7f64000, 294568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xb7f64000
mmap2(0xb7fac000, 5288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x48) = 0xb7fac000
mmap2(0xb7fae000, 16492, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fae000
close(3)                                = 0
munmap(0xb7fc1000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=302080, ...}) = 0
close(3)                                = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=21096, ...}) = 0
mprotect(0xb7fbf000, 4096, PROT_READ)   = 0
mprotect(0xb7fac000, 4096, PROT_READ)   = 0
mprotect(0xb7fc8000, 4096, PROT_READ)   = 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
getuid32()                              = 0
getpid()                                = 3582
socket(PF_NETLINK, SOCK_RAW, 0)         = 3
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=3582, groups=00000000}, [12]) = 0
time(NULL)                              = 1222806277
sendto(3, "\24\0\0\0\22\0\1\3\5\213\342H\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\0\5\213\342H\376\r\0\0\0\0\4\3\1\0\0\0I\0\1\0\0\0\0\0\7"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 2148
brk(0)                                  = 0x8129000
brk(0x812a000)                          = 0x812a000
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\5\213\342H\376\r\0\0\0\0\0\0\1\0\0\0I\0\1\0\0\0\0\0\7"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
sendto(3, "\24\0\0\0\26\0\1\3\6\213\342H\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)=[{"0\0\0\0\24\0\2\0\6\213\342H\376\r\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 280
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\6\213\342H\376\r\0\0\0\0\0\0\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
brk(0x812b000)                          = 0x812b000
close(3)                                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


More information about the uClibc mailing list