Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 160637 - squid 2.6.x with epoll support doesn't work on alpha
Summary: squid 2.6.x with epoll support doesn't work on alpha
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: Alpha Linux
: High critical (vote)
Assignee: Alpha Porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-07 06:58 UTC by Mark L Pappin
Modified: 2007-02-02 06:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
epoll-test.c (epoll-test.c,195 bytes, text/plain)
2007-01-31 16:33 UTC, Jose Luis Rivero (yoswink) (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark L Pappin 2007-01-07 06:58:50 UTC
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
Comment 1 Alin Năstac (RETIRED) gentoo-dev 2007-01-08 16:17:48 UTC
Fixed in 2.6.6-r2.
Comment 2 Jose Luis Rivero (yoswink) (RETIRED) gentoo-dev 2007-01-31 16:30:12 UTC
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
-----------------------
Comment 3 Jose Luis Rivero (yoswink) (RETIRED) gentoo-dev 2007-01-31 16:33:59 UTC
Created attachment 108765 [details]
epoll-test.c

Stupid epoll test to show problems with epoll support.
Comment 4 SpanKY gentoo-dev 2007-02-01 04:21:51 UTC
alpha kernel headers define __NR_sys_epoll_XXX instead of __NR_epoll_XXX so glibc creates syscall stubs for the epoll functions on alpha
Comment 5 SpanKY gentoo-dev 2007-02-01 04:28:10 UTC
erm didnt mean to close
Comment 6 Jose Luis Rivero (yoswink) (RETIRED) gentoo-dev 2007-02-01 16:40:36 UTC
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?
Comment 7 SpanKY gentoo-dev 2007-02-01 19:37:38 UTC
epoll is common code in the kernel

just change your alpha headers by fixing the epoll defines and see if glibc then works
Comment 8 SpanKY gentoo-dev 2007-02-02 06:32:12 UTC
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