Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292717 - sys-apps/sandbox-2.2 causes emerges to hang
Summary: sys-apps/sandbox-2.2 causes emerges to hang
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Sandbox Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-10 19:28 UTC by Jeff Huffman
Modified: 2009-12-04 06:40 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 Jeff Huffman 2009-11-10 19:28:11 UTC
I upgraded sys-apps/portage to it's latest release candidate version (2.2_rc48), which depended on sys-apps/sandbox-2.2, so I keyworded that as well, after that was installed, most of my emerges started inexplicably hanging (make started its maximum number of parallel jobs, but they never returned (so no more could be started) and never took up any cpu time). It seems sandbox somehow causes gcc to hang. To be sure of this, I tried emerging with FEATURES="-sandbox" and the packages that had been consistently hanging compiled with no issue.

Reproducible: Always

Steps to Reproduce:
0. (possibly necessary) emerge sys-devel/gcc-4.3.4 and use gcc-config to set it as your default version to use
1. unmask and keyword, then emerge sys-apps/portage-2.2_rc48 and sys-apps/sandbox-2.2
2. try to emerge a package which requires the use of gcc and make to compile, if you want to copy me exactly, make it dev-lang/ruby-1.8.7_p174-r1

Actual Results:  
the emerge hangs just after make starts the maximum number of parallel jobs it can start, using no cpu time

Expected Results:  
the compile should complete successfully

Here's my emerge --info:
Portage 2.2_rc48 (default/linux/x86/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r4-i686-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-1.12.13
Timestamp of tree: Fri, 06 Nov 2009 20:30:01 +0000
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r1
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=k8 -mfpmath=sse -msse3 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/init.d /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=k8 -mfpmath=sse -msse3 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/portage/local/layman/mozilla /usr/portage/local/local"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac aalib acl acpi aim alsa amarok amazon anthy apache2 bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cddb cdr cjk cli consolekit cracklib crypt css cups cupsddk dbus dirac directfb dri dts dvd dvdr dvdread dxr2 eds emacs emboss encode evo fam fastcgi fat ffmpeg firefox flac fortran gd gif gnome gnutls gpm gstreamer gtk hal iconv immqt-bc java jpeg kde kpathsea lame latex ldap libnotify libsamplerate lm_sensors mad matroska mikmod mmap mmx mmxext modplug modules mozilla mp3 mp4 mpeg mplayer mudflap mule ncurses network nls nptl nptlonly ntfs ogg ogm openal opengl openmp pam pcre pdf perl png ppds pppd pulseaudio python qt qt3 qt3support qt4 quicktime readline reflection reiserfs ruby samba schroedinger scim sdl seamonkey session sndfile spell spl sse sse2 sse3 ssl startup-notification static subversion svg sysfs tcpd theora threads thunar tiff truetype unicode usb v4l v4l2 vcd vdpau vorbis win32codecs x264 x86 x86emu xcomposite xfs xine xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="nv vesa fbdev nvidia" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 SpanKY gentoo-dev 2009-11-14 16:54:40 UTC
probably your forcing of USE=static globally.  that setting makes no sense at all.
Comment 2 Zac Medico gentoo-dev 2009-11-14 20:20:24 UTC
In case it's some variant of bug 278895, you should use pstree or similar to check for subprocesses of sandbox.
Comment 3 Jeff Huffman 2009-11-15 12:51:14 UTC
(In reply to comment #1)
> probably your forcing of USE=static globally.  that setting makes no sense at
> all.
> 

It seems unlikely, as I've had that set for ages with no real issues, and the packages I'm compiling don't even use that flag. If you can explain how there's a connection feel free to elaborate.

I have that set because that packages that accept it are almost exclusively core system packages anyway, and I want my core system to still work if I ever have a major dynamic linking breakage. I had a bad experience once where I couldn't even run coreutils... I basically had to "total" the OS (to borrow a car term) and reinstall from stage3. I'm probably overly paranoid, but meh.

(In reply to comment #2)
> In case it's some variant of bug 278895, you should use pstree or similar to
> check for subprocesses of sandbox.
> 

It doesn't look like that bug. my pstree looks quite normal, the problem is that during the compile stage of my emerge, gcc never returns nor uses cpu time, it just stays running until forcibly killed.
Comment 4 SpanKY gentoo-dev 2009-11-15 19:28:07 UTC
maybe if you were closely following internal sandbox development you could make judgment calls about what could be related.  but i dont think you are.

i hate to point out the obvious, but a global USE=static applies to *every* package and not just core packages like coreutils.  so your statement still doesnt justify globally setting it.

the "recovery" aspect has also long been obsolete since busybox was included as the recovery shell.  it supplies way more static utils that coreutils ever will.

strace the hung process and see if it is stock on a futex