Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 413697 - dev-python/twisted-12.0.0 fails tests (epoll) on glibc 2.15
Summary: dev-python/twisted-12.0.0 fails tests (epoll) on glibc 2.15
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL: http://twistedmatrix.com/trac/ticket/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-27 08:59 UTC by Patrick Lauer
Modified: 2016-02-10 09:50 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Lauer gentoo-dev 2012-04-27 08:59:57 UTC
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/var/tmp/portage/dev-python/twisted-12.0.0/temp/tests/usr/lib64/python2.7/site-packages/twisted/test/test_epoll.py", line 109, in test_controlAndWait
    _epoll.ET)
  File "_epoll.pyx", line 102, in twisted.python._epoll.epoll._control (twisted/python/_epoll.c:843)
    
exceptions.OverflowError: value too large to convert to int

twisted.test.test_epoll.EPoll.test_controlAndWait
-------------------------------------------------------------------------------
Ran 4223 tests in 49.417s

FAILED (skips=605, expectedFailures=5, errors=1, successes=3612)

Portage 2.1.10.57 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.15-r1, 3.3.1-vs2.3.3.2 x86_64)
=================================================================
System uname: Linux-3.3.1-vs2.3.3.2-x86_64-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.1
Timestamp of tree: Unknown
app-shells/bash:          4.2_p24-r1
dev-lang/python:          2.7.3, 3.2.2-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.9.3
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.5
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.7
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.3 (virtual/os-headers)
sys-libs/glibc:           2.15-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 mmx modules mudflap multilib ncurses nls nptl nptlonly openmp pam pcre pppd readline session sse sse2 ssl sysfs tcpd unicode xa 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 sheets 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="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Marien Zwart (RETIRED) gentoo-dev 2012-04-27 23:21:11 UTC
I've started debugging this. I believe it is caused by a change in the definition of EPOLLET in /usr/include/sys/epoll.h from glibc 2.14 to 2.15: it was "(1 << 31)" and is now "1u << 31". This changes twisted.python._epoll.ET from -2147483648 to 2147483648. The "flags" argument to the _control method the test calls is defined as "int flags", which it now overflows.

As the flags argument is actually used to populate the "flags" field in a struct epoll_event, and that field has always been a uint32_t, I think the new value of ET is actually the correct one and _epoll.pyx needs to be patched so the _control method takes an unsigned int, and ET has the positive value even when compiled with older glibc headers. I've not yet tried to write the patch for that, but intend to do so this weekend and pass it on to upstream.

The only user of the _epoll module in twisted itself is the epollreactor, and it does not use _epoll.ET. Nothing outside of twisted *should* use twisted.internet._epoll (note the underscore). So I think fixing this is not urgent: it's a real bug in an internal module, but it looks like only that internal module's tests are actually broken.
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2016-02-10 09:50:22 UTC
not present in gentoo.git anymore