Bug#208428: The adduser script also stalls if /etc/group contains long lines
Hello,
=-==-=
this seems to be a related problem. After upgrading to libc6 2.3.2-5 the
adduser script stalled every time I tried to add a new user. After doing
strace this came out:
[snip]
open("/etc/group", O_RDONLY) = 3
fcntl64(3, F_GETFD) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
_llseek(3, 0, [0], SEEK_CUR) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=9989, ...}) = 0
mmap2(NULL, 9989, PROT_READ, MAP_SHARED, 3, 0) = 0x22283000
_llseek(3, 9989, [9989], SEEK_SET) = 0
_llseek(3, 573, [573], SEEK_SET) = 0
munmap(0x22283000, 9989) = 0
close(3) = 0
open("/etc/group", O_RDONLY) = 3
fcntl64(3, F_GETFD) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
_llseek(3, 0, [0], SEEK_CUR) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=9989, ...}) = 0
mmap2(NULL, 9989, PROT_READ, MAP_SHARED, 3, 0) = 0x22283000
_llseek(3, 9989, [9989], SEEK_SET) = 0
_llseek(3, 573, [573], SEEK_SET) = 0
munmap(0x22283000, 9989) = 0
close(3) = 0
[snip]
This loop repeats itself ad infinitum. Unfortunately I don't know which
libc6 function went crazy here.
It is confirmed that this problem appears also in earlier patch levels of
libc6 2.3.2 (the 2.3.2-2 has the same bug). Contrary to what has been said
here, it doesn't help to remove the "compat" keyword from the
/etc/nsswitch.conf file, the problem remains. But it definitely appears
if some lines in /etc/group are unusually long. After removing these lines
from /etc/group the problem doesn't appear (and the adduser script works
fine).
If there is any information that can be useful to you don't hesitate to
contact me! Thanks!
Regards,
Peter
Reply to: