After updating glibc on a stable box, vsftpd refuses fork() when accepting connections strace output after accepting connection: phoenix # strace -f -p$(pidof vsftpd) Process 32042 attached - interrupt to quit accept(3, {sa_family=AF_INET, sin_port=htons(56714), sin_addr=inet_addr("XXX.XXX.XXX.XXX")}, [16]) = 4 clone(Process 711 attached child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4b8247b9d0) = 711 [pid 32042] close(4) = 0 [pid 32042] accept(3, <unfinished ...> [pid 711] prctl(PR_SET_PDEATHSIG, 9) = 0 [pid 711] close(3) = 0 [pid 711] dup2(4, 0) = 0 [pid 711] dup2(4, 1) = 1 [pid 711] dup2(4, 2) = 2 [pid 711] close(4) = 0 [pid 711] fstat(0, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 [pid 711] getpeername(0, {sa_family=AF_INET, sin_port=htons(56714), sin_addr=inet_addr("188.221.166.114")}, [16]) = 0 [pid 711] getsockname(0, {sa_family=AF_INET, sin_port=htons(21), sin_addr=inet_addr("192.168.2.5")}, [16]) = 0 [pid 711] socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3 [pid 711] connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) [pid 711] close(3) = 0 [pid 711] socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3 [pid 711] connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) [pid 711] close(3) = 0 [pid 711] open("/etc/nsswitch.conf", O_RDONLY) = 3 [pid 711] fstat(3, {st_mode=S_IFREG|0644, st_size=508, ...}) = 0 [pid 711] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4b8248e000 [pid 711] read(3, "# /etc/nsswitch.conf:\n# $Header:"..., 4096) = 508 [pid 711] read(3, "", 4096) = 0 [pid 711] close(3) = 0 [pid 711] munmap(0x7f4b8248e000, 4096) = 0 [pid 711] open("/etc/ld.so.cache", O_RDONLY) = 3 [pid 711] fstat(3, {st_mode=S_IFREG|0644, st_size=64900, ...}) = 0 [pid 711] mmap(NULL, 64900, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4b8247f000 [pid 711] close(3) = 0 [pid 711] open("/lib64/libnss_compat.so.2", O_RDONLY) = 3 [pid 711] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \23\0\0\0\0\0\0"..., 832) = 832 [pid 711] fstat(3, {st_mode=S_IFREG|0755, st_size=31368, ...}) = 0 [pid 711] mmap(NULL, 2127008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4b80eb1000 [pid 711] mprotect(0x7f4b80eb8000, 2093056, PROT_NONE) = 0 [pid 711] mmap(0x7f4b810b7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f4b810b7000 [pid 711] close(3) = 0 [pid 711] open("/lib64/libnsl.so.1", O_RDONLY) = 3 [pid 711] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000@\0\0\0\0\0\0"..., 832) = 832 [pid 711] fstat(3, {st_mode=S_IFREG|0755, st_size=84720, ...}) = 0 [pid 711] mmap(NULL, 2190000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4b80c9a000 [pid 711] mprotect(0x7f4b80cae000, 2093056, PROT_NONE) = 0 [pid 711] mmap(0x7f4b80ead000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f4b80ead000 [pid 711] mmap(0x7f4b80eaf000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4b80eaf000 [pid 711] close(3) = 0 [pid 711] mprotect(0x7f4b80ead000, 4096, PROT_READ) = 0 [pid 711] mprotect(0x7f4b810b7000, 4096, PROT_READ) = 0 [pid 711] munmap(0x7f4b8247f000, 64900) = 0 [pid 711] open("/etc/ld.so.cache", O_RDONLY) = 3 [pid 711] fstat(3, {st_mode=S_IFREG|0644, st_size=64900, ...}) = 0 [pid 711] mmap(NULL, 64900, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4b8247f000 [pid 711] close(3) = 0 [pid 711] open("/lib64/libnss_nis.so.2", O_RDONLY) = 3 [pid 711] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200 \0\0\0\0\0\0"..., 832) = 832 [pid 711] fstat(3, {st_mode=S_IFREG|0755, st_size=43312, ...}) = 0 [pid 711] mmap(NULL, 2139320, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4b80a8f000 [pid 711] mprotect(0x7f4b80a99000, 2093056, PROT_NONE) = 0 [pid 711] mmap(0x7f4b80c98000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f4b80c98000 [pid 711] close(3) = 0 [pid 711] open("/lib64/libnss_files.so.2", O_RDONLY) = 3 [pid 711] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\"\0\0\0\0\0\0"..., 832) = 832 [pid 711] fstat(3, {st_mode=S_IFREG|0755, st_size=51480, ...}) = 0 [pid 711] mmap(NULL, 2147768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4b80882000 [pid 711] mprotect(0x7f4b8088e000, 2093056, PROT_NONE) = 0 [pid 711] mmap(0x7f4b80a8d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f4b80a8d000 [pid 711] close(3) = 0 [pid 711] mprotect(0x7f4b80a8d000, 4096, PROT_READ) = 0 [pid 711] mprotect(0x7f4b80c98000, 4096, PROT_READ) = 0 [pid 711] munmap(0x7f4b8247f000, 64900) = 0 [pid 711] open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3 [pid 711] fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) [pid 711] lseek(3, 0, SEEK_CUR) = 0 [pid 711] fstat(3, {st_mode=S_IFREG|0644, st_size=2440, ...}) = 0 [pid 711] mmap(NULL, 2440, PROT_READ, MAP_SHARED, 3, 0) = 0x7f4b8248e000 [pid 711] lseek(3, 2440, SEEK_SET) = 2440 [pid 711] munmap(0x7f4b8248e000, 2440) = 0 [pid 711] close(3) = 0 [pid 711] --- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} (Segmentation fault) --- Process 711 detached <... accept resumed> 0x7fffe5a641d0, [28]) = ? ERESTARTSYS (To be restarted) --- {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=711, si_status=SIGSEGV, si_utime=0, si_stime=0} (Child exited) --- alarm(1) = 0 rt_sigreturn(0x1) = -1 EINTR (Interrupted system call) alarm(0) = 1 wait4(-1, NULL, WNOHANG, NULL) = 711 wait4(-1, NULL, WNOHANG, NULL) = -1 ECHILD (No child processes) accept(3,
Portage 2.1.10.41 (default/linux/amd64/10.0/server, gcc-4.5.3, glibc-2.13-r4, 3.1.6-gentoo-darth-vader x86_64) ================================================================= System uname: Linux-3.1.6-gentoo-darth-vader-x86_64-AMD_Athlon-tm-_64_Processor_2800+-with-gentoo-2.0.3 Timestamp of tree: Unknown app-shells/bash: 4.1_p9 dev-lang/python: 2.7.2-r3, 3.1.4-r3 dev-util/cmake: 2.8.6-r4 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r1 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=k8 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/openvpn/easy-rsa /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=k8 -pipe" DISTDIR="/mnt/F/mirror/sources/distfiles/" FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles metadata-transfer news nodoc parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu,--enable-new-dtags -Wl,--as-needed" MAKEOPTS="-j2" PKGDIR="/mnt/F/mirror/packages/phoenix/" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/home/hwoarang/development/gentoo-cvs/gentoo-x86" PORTDIR_OVERLAY="" SYNC="rsync://files.gentoo.gr/gentoo-portage" USE="3dnow 3dnowext a52 aac acl amd64 apache2 avahi berkdb bzip2 cli cracklib crypt css cxx dri ffmpeg flac fortran gdbm gpm iconv ipv6 javascript joystick latin1 lm_sensors mdnsresponder-compat mmx mmxext modules mudflap multilib mysql ncurses nls nptl nptlonly ogg openmp pam pcre perl posix pppd python readline samba server session snmp sqlite sse sse2 sse3 ssl symlink sysfs tcpd threads transcode truetype type1 unicode vim-syntax vorbis wma xif xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Scary. Have you talked to upstream? I'm between workplaces but will have a look as fast as possible.
(In reply to comment #2) > Scary. Have you talked to upstream? I'm between workplaces but will have a look > as fast as possible. I quickly looked at their website but I couldn't find a sane way to report bugs
fwiw, I assigned this bug to toolchain@ because they may have a clue on what is going on. I can't test a testing glibc on this box. Feel free to re-assign this bug if it is not a glibc bug
I can't reproduce this... just logged in successfully to a server using sys-libs/glibc-2.13-r4 net-ftp/vsftpd-2.3.4
Here is a backtrace (gdb) set follow-fork-mode child (gdb) run /etc/vsftpd/vsftpd.conf Starting program: /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf [New process 23093] Program received signal SIGSEGV, Segmentation fault. [Switching to process 23093] 0x00007ffff6a209b5 in _nss_compat_getpwnam_r () from /lib64/libnss_compat.so.2 (gdb) backtrace #0 0x00007ffff6a209b5 in _nss_compat_getpwnam_r () from /lib64/libnss_compat.so.2 #1 0x00007ffff70e2b4d in getpwnam_r () from /lib64/libc.so.6 #2 0x00007ffff70e2508 in getpwnam () from /lib64/libc.so.6 #3 0x0000000000403e8c in ?? () #4 0x00007ffff705debd in __libc_start_main () from /lib64/libc.so.6 #5 0x00000000004038e9 in ?? () #6 0x00007fffffffe498 in ?? () #7 0x000000000000001c in ?? () #8 0x0000000000000002 in ?? () #9 0x00007fffffffe6c3 in ?? () #10 0x00007fffffffe6d4 in ?? () #11 0x0000000000000000 in ?? ()
Well, I issued emerge -e system and seems to have fixed it. Now idea what the problem might have been. Since I can't reproduce it anymore, I am closing it as invalid