After 'emerge --update --newuse --deep world', squid children die with (squid): comm_select_init: epoll_create(): (78) Function not implemented in /var/log/messages. Reproducible: Always Steps to Reproduce: 1. emerge --update --newuse --deep world 2. /etc/init.d/squid stop #in case it thinks the old one's still running 3. /etc/init.d/squid start 4. netstat -a --inet -n|grep 3128 #very empty list 5. tail /var/log/messages|grep squid #not very empty Actual Results: squid dies. Expected Results: squid runs. Portage 2.1.2_rc4-r6 (default-linux/alpha/2006.1/server, gcc-3.3.6, glibc-2.3.6-r5, 2.6.14.2 alpha) ================================================================= System uname: 2.6.14.2 alpha EV56 Gentoo Base System version 1.12.8 Last Sync: Sat, 06 Jan 2007 08:20:01 +0000 distcc 2.18.3 alpha-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.6, 2.4.4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.19 ACCEPT_KEYWORDS="alpha ~alpha" AUTOCLEAN="yes" CBUILD="alpha-unknown-linux-gnu" CFLAGS="-mieee -O2 -mcpu=ev56 " CHOST="alpha-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-mieee -O2 -mcpu=ev56 " DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="X alpha apache2 berkdb bitmap-fonts cli cracklib crypt cups dlloader dri fortran gdbm iconv ipv6 isdnlog ldap libg++ mailwrapper mysql ncurses nls nptl nptlonly pam pcre perl ppds pppd python readline reflection session snmp spl ssl tcpd truetype truetype-fonts type1-fonts udev unicode xml xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" USERLAND="GNU" VIDEO_CARDS="cirrus ati dummy fbdev glint mga nv rendition s3 s3virge savage siliconmotion sisusb tdfx tga v4l vga voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Fixed in 2.6.6-r2.
Reopening. The problem still persists on alpha, although the patch in the ebuild was correct. (thanks Alin). Current stable (2.6.7) and testing (2.6.9) are affected. The bug seems to be in the epoll support on alpha itself. Squid cries with: (squid): comm_select_init: epoll_create(): (78) Function not implemented I need a bit help from our toolchain ninjas: The kernel epoll support is enabled (compiled as built-in) but I can't find the place where the system is claiming to not implement epoll (probably glibc?). System info: ------------ gcc-3.4.6 glibc-2.3.6-r4, kernel 2.6.14.2 binutils: 2.16.1-r3 virtual/os-headers: 2.6.11-r4 I'll attach a lame test to show the compilation failure: ----------------------- # gcc epoll-test.c /tmp/ccG9b873.o: In function `main': : warning: warning: epoll_create is not implemented and will always fail -----------------------
Created attachment 108765 [details] epoll-test.c Stupid epoll test to show problems with epoll support.
alpha kernel headers define __NR_sys_epoll_XXX instead of __NR_epoll_XXX so glibc creates syscall stubs for the epoll functions on alpha
erm didnt mean to close
Thanks SPanKY. Does it mean epoll support in alpha is not implemented? or kernel headers are wrong and should be fixed? or .. another thing I can't see?
epoll is common code in the kernel just change your alpha headers by fixing the epoll defines and see if glibc then works
moved to LKML (alpha team has had cc on the issue) i'll apply the patch to next linux-headers version and then you just have to re-emerge glibc to get the epoll funcs