Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 516170 - dev-ruby/thread_safe-0.3.1 deadlocks in its test suite on alpha
Summary: dev-ruby/thread_safe-0.3.1 deadlocks in its test suite on alpha
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 487178
  Show dependency tree
 
Reported: 2014-07-03 15:12 UTC by Tobias Klausmann (RETIRED)
Modified: 2014-07-07 11:58 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 Tobias Klausmann (RETIRED) gentoo-dev 2014-07-03 15:12:36 UTC
>>> Emerging (1 of 1) dev-ruby/thread_safe-0.3.1
 * thread_safe-0.3.1.gem SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                    [ ok ]
>>> Unpacking source...
 * Running unpack phase for all ...
 * Unpacking .gem file... ...                                                                                                                    [ ok ]
 * Uncompressing metadata ...                                                                                                                    [ ok ]
 * Unpacking data.tar.gz ...                                                                                                                     [ ok ]
>>> Source unpacked in /var/tmp/portage/dev-ruby/thread_safe-0.3.1/work
>>> Preparing source in /var/tmp/portage/dev-ruby/thread_safe-0.3.1/work ...
 * Running prepare phase for all ...
 * Running source copy phase for ruby19 ...
 * Running source copy phase for ruby20 ...
 * Running prepare phase for ruby19 ...
 * Running prepare phase for ruby20 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-ruby/thread_safe-0.3.1/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-ruby/thread_safe-0.3.1/work ...
 * Running compile phase for all ...
>>> Source compiled.
 * Running test phase for ruby19 ...
Run options: 

# Running tests:

.....................................................


And then it just hangs there, for minutes, probably hours.

stracing the leaf process yields this:

[pid 29306] <... futex resumed> )       = -1 EAGAIN (Resource temporarily unavailable)
[pid 29307] <... futex resumed> )       = 0
[pid 29306] futex(0x120aeee50, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 29307] futex(0x120aeee50, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 29305] <... futex resumed> )       = 1
[pid 29302] futex(0x120aeee7c, FUTEX_WAIT_PRIVATE, 14541367, NULL <unfinished ...>
[pid 29305] futex(0x120aeee50, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29301] <... futex resumed> )       = -1 EAGAIN (Resource temporarily unavailable)
[pid 29305] <... futex resumed> )       = 1
[pid 29303] <... futex resumed> )       = 0
[pid 29305] futex(0x120aeee7c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x120aeee78, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
[pid 29303] futex(0x120aeee50, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 29305] <... futex resumed> )       = 1
[pid 29304] <... futex resumed> )       = 0
[pid 29305] futex(0x120aeee50, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29304] futex(0x120aeee50, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29306] <... futex resumed> )       = 0
[pid 29307] <... futex resumed> )       = 0
[pid 29306] futex(0x120aeee50, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29307] futex(0x120aeee78, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 29306] <... futex resumed> )       = 1
[pid 29305] <... futex resumed> )       = 1
[pid 29306] futex(0x120aeee78, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29305] futex(0x120aeee50, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 29307] <... futex resumed> )       = 0
[pid 29306] <... futex resumed> )       = 1
[pid 29307] futex(0x120aeee50, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29306] futex(0x120aeee7c, FUTEX_WAIT_PRIVATE, 14541385, NULL <unfinished ...>
[pid 29307] <... futex resumed> )       = 1
[pid 29305] <... futex resumed> )       = 0
[pid 29307] futex(0x120aeee78, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29305] futex(0x120aeee50, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 29307] <... futex resumed> )       = 0
[pid 29305] <... futex resumed> )       = 0
[pid 29307] futex(0x120aeee7c, FUTEX_WAIT_PRIVATE, 14541386, NULL <unfinished ...>
[pid 29305] futex(0x120aeee7c, FUTEX_WAIT_PRIVATE, 14541387, NULL <unfinished ...>
[pid 29307] <... futex resumed> )       = -1 EAGAIN (Resource temporarily unavailable)
[pid 29304] <... futex resumed> )       = 1
[pid 29307] futex(0x120aeee7c, FUTEX_WAIT_PRIVATE, 14541387, NULL <unfinished ...>
 <detached ...>


The irony is strong with this one.

# emerge --info
Portage 2.2.8-r1 (default/linux/alpha/13.0, gcc-4.7.3, glibc-2.17, 3.15.0 alpha)
=================================================================
System uname: Linux-3.15.0-alpha-EV68AL-with-gentoo-2.2
KiB Mem:     8305216 total,   3905448 free
KiB Swap:     977912 total,    902720 free
Timestamp of tree: Thu, 03 Jul 2014 13:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5-r3, 3.3.3
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="alpha"
ACCEPT_LICENSE="* -@EULA"
CBUILD="alpha-unknown-linux-gnu"
CFLAGS="-mieee -pipe -O2 -mcpu=ev67"
CHOST="alpha-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-mieee -pipe -O2 -mcpu=ev67"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.tiscali.nl/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirror.netcologne.de/gentoo/"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-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="/usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="acl alpha bash-completion berkdb bzip2 cli cracklib crypt cxx dri fortran ftp gdbm iconv ipv6 mmap modules ncurses nls nptl nptlonly offensive pam pcre readline recode session sharedmem sockets ssl tcpd unicode vim vim-pager zlib" ALSA_CARDS="ali5451 als4000 bt87x ca0106 cmipci emu10k1 ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 maestro3 trident usb-audio via82xx ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 author" 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 ublox ubx" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Hans de Graaff gentoo-dev Security 2014-07-06 08:43:55 UTC
dev-ruby/thread_safe-0.3.4 is the latest version, could you please try that version instead?

For reference, running the tests on an amd64 i7 takes 21min.
Comment 2 Tobias Klausmann (RETIRED) gentoo-dev 2014-07-07 11:58:50 UTC
So I kept it running over the weekend.

Turns out the test suite takes a mere two hours. That has to be a new record for the time vs. code size of test suites :-/

I also suspect the "may take ten minutes" warning in the ebuild should be updated.