[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libc6 2.0.6 coredumps portmap (was Re: Libc6 2.0.5c has a leak in inet_ntoa)



On 10 Dec 1997, Miquel van Smoorenburg wrote:

> Yep, download libc6_2.0.6-0.2 (prerelease 2) from
> ftp://ftp.ods.com/pub/linux/ and send david@debian.org an email
> with your experiences ..
> 
> Has been running fine here for two or three weeks.

seems to cause portmap to core dump....which messes up nfs.

here's what strace says:

# strace /usr/sbin/portmap -d -v

execve("/usr/sbin/portmap", ["portmap", "-d", "-v"], [/* 39 vars */]) = 0
brk(0)                                  = 0x804f43c
open("/etc/ld.so.preload", O_RDONLY)    = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
mmap(0, 16, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x4000c000
close(3)                                = 0
open("/lib/nfslock.so", O_RDONLY)       = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000d000
munmap(0x4000d000, 4096)                = 0
mmap(0, 7868, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4000d000
mprotect(0x4000e000, 3772, PROT_NONE)   = 0
mmap(0x4000e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4000e000
close(3)                                = 0
munmap(0x4000c000, 16)                  = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
mmap(0, 9821, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000f000
close(3)                                = 0
open("/lib/libnsl.so.1", O_RDONLY)      = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000c000
munmap(0x4000c000, 4096)                = 0
mmap(0, 21556, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40012000
mprotect(0x40016000, 5172, PROT_NONE)   = 0
mmap(0x40016000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0x40016000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000c000
munmap(0x4000c000, 4096)                = 0
mmap(0, 663036, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40018000
mprotect(0x400a7000, 77308, PROT_NONE)  = 0
mmap(0x400a7000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x8e000) = 0x400a7000
mmap(0x400ae000, 48636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400ae000
close(3)                                = 0
mprotect(0x40018000, 585728, PROT_READ|PROT_WRITE) = 0
mprotect(0x40018000, 585728, PROT_READ|PROT_EXEC) = 0
mprotect(0x40012000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x40012000, 16384, PROT_READ|PROT_EXEC) = 0
personality(PER_LINUX)                  = 0
getpid()                                = 1376
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
bind(3, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
getpid()                                = 1376
bind(3, {sin_family=AF_INET, sin_port=htons(704), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EINVAL (Invalid argument)
bind(3, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EINVAL (Invalid argument)
getsockname(3, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
brk(0)                                  = 0x804f43c
brk(0x804f484)                          = 0x804f484
brk(0x8050000)                          = 0x8050000
brk(0x8053000)                          = 0x8053000
getrlimit(RLIMIT_NOFILE, {rlim_cur=256, rlim_max=256}) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
bind(4, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
bind(4, {sin_family=AF_INET, sin_port=htons(705), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EINVAL (Invalid argument)
bind(4, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EINVAL (Invalid argument)
getsockname(4, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
listen(4, 2)                            = 0
setuid(1)                               = 0
sigaction(SIGINT, {0x804a7b0, [], SA_STACK|SA_RESTART|SA_INTERRUPT|SA_ONESHOT|0x7fffa90}, {SIG_DFL}) = 0
sigaction(SIGCHLD, {SIG_IGN}, {SIG_DFL}) = 0
select(256, [3 4], NULL, NULL, NULL)    = 1 (in [3])

working fine up until now.

at this point, on another VC i run "/etc/init.d/netstd_nfs start", and
portmap coredumps. 


recvfrom(3, "5\205!\362\0\0\0\0\0\0\0\2\0\1\206"..., 8800, 0, {sin_family=AF_INET, sin_port=htons(707), sin_addr=inet_addr("127.0.0.1")}, [16]) = 56
write(2, "server: about do a switch\n", 26server: about do a switch
) = 26
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
ioctl(5, SIOCGIFCONF, 0xbfffd4b8)       = 0
ioctl(5, SIOCGIFFLAGS, 0xbffff4c0)      = 0
ioctl(5, SIOCGIFADDR, 0xbffff4c0)       = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++


hosts.allow is set up correctly for portmap.  allows my local net numbers
and 127.0.0.1 and 255.255.255.255/0.0.0.0 as specified in
/usr/doc/netbase/portmapper.txt.gz


any ideas?

craig




--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: