I first noticed this when attempting to update btrfs-progs to 0.19.11. With my default feature set (userfetch userpriv usersandbox parallel-fetch), the git-clone command just stalls indefinitely: >>> Emerging (1 of 1) sys-fs/btrfs-progs-0.19.11 >>> Unpacking source... GIT update --> repository: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git at the commit: 8935d8436147f86dfbda3d8b8175a77b654b8abc commit: 1957076ab4fefa47b6efed3da541bc974c83eed7 branch: master storage directory: "/usr/portage/distfiles/egit-src/btrfs-progs.git" checkout type: bare repository Cloning into '/var/tmp/portage/sys-fs/btrfs-progs-0.19.11/work/btrfs-progs-0.19.11'... And it stays there seemingly forever. If I remove usersandbox "git clone" is finished in less than two seconds and the ebuild goes through as expected. Running in a sandbox (rather than usersandbox) also stalls the cloning. This seems to be intended behaviour as doing a git-clone inside a sandbox should not be able to fetch a file from the network, but shouldn't it print an error or disable that feature temporarily rather than just "stall" there? Reproducible: Always Steps to Reproduce: 1. Use FEATURES="userpriv usersandbox" 2. emerge sys-fs/btrfs-progs-0.19.11 Actual Results: Unpack stage stalls at cloning stage. Expected Results: Git-clone should complete successfully. dev-vcs/git-1.7.8.6 > emerge --info Portage 2.1.10.65 (default/linux/x86/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r3, 3.2.21-gentoo-64 x86_64) ================================================================= System uname: Linux-3.2.21-gentoo-64-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9550_@_2.66GHz-with-gentoo-2.1 Timestamp of tree: Fri, 06 Jul 2012 21:15:01 +0000 app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.3-r2, 3.2.3 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.6 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r3 Repositories: gentoo Local ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=native -Os -fomit-frame-pointer -pipe -fno-var-tracking" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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" CXXFLAGS="-march=native -Os -fomit-frame-pointer -pipe -fno-var-tracking" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -march=i686 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -march=i686 -pipe" GENTOO_MIRRORS="ftp://gentoo.imj.fr/pub/gentoo/ ftp://mirror.netcologne.de/gentoo/ ftp://ftp.fi.muni.cz/pub/linux/gentoo/" LANG="fr_FR.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="fr_FR fr en_GB en es_MX es" MAKEOPTS="-j3 -s" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--timeout=300" 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="/etc/portage/overlay" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow X a52 aac acpi alsa avi berkdb boundschecking bzip2 cairo canna cdda cdr cjk cli cracklib crypt cscope cups curl cxx dbus dedicated dga divx divx4linux dlloader dri dts dvd dvdr dvdread emboss encode exif fam fbcon fbsplash ffmpeg fftw flac foomaticdb fortran freewnn gd gdbm gif gimp ginac gmedia gpm gstreamer gtk gtk2 gtkhtml hal hddtemp howl iconv idn imap imlib innodb inotify introspection ipv6 ithreads jabber java java6 jikes joystick jpeg lame lcms libnotify libsamplerate libwww lm_sensors lzma mad madwifi matroska mbox mmx mng modplug modules mp3 mp4 mpeg mplayer mudflap musepack ncurses nls nptl nsplugin ogg opengl openmp pam pango pcre pdf pdflib perl png ppds pppd python quicktime readline realmedia scanner schroedinger sdl session speex spell sse ssl svg svga tcpd tetex theora threads tiff timidity truetype udev udisks unicode upower usb v4l v4l2 vaapi vdpau vidix vim-syntax vorbis webkit win32codecs wma wmf wmp wxwidgets x264 x86 xcb xcomposite xface xft xine xml xml2 xorg xscreensaver xv xvid zlib" ALSA_CARDS="hda-intel" 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="evdev keyboard mouse synaptics wacom joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr_FR fr en_GB en es_MX es" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="plustek pixma" USERLAND="GNU" VIDEO_CARDS="nouveau vesa" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
what if you build sandbox with CFLAGS='-O2 -pipe' ?
I recompiled sandbox using CFLAGS="-O2 -pipe" LDFLAGS unset and there's no change in the result. git still stalls. I wondered if it is related to my /var/tmp/portage being tmpfs, but mounting an external hard-drive on it didn't change the outcome, neither. htop reports the stalled command as: sandbox "/usr/lib/portage/bin/ebuild.sh" unpack /bin/bash /usr/lib/portage/bin/ebuild.sh unpack /bin/bash /usr/lib/portage/bin/ebuild.sh unpack git clone -l -s -n /usr/portage/distfiles/egit-src/btrfs-progs.git /var/tmp/portage/sys-f git clone -l -s -n /usr/portage/distfiles/egit-src/btrfs-progs.git /var/tmp/portage/sys-fs/btrfs-progs-0.19.11/work/btrfs-progs-0.19.11 git-upload-pack /usr/portage/distfiles/egit-src/btrfs-progs.git /var/tmp/portage/sys-fs/btrfs-progs-0.19.11/work/btrfs-progs-0.19.11 I have no idea on what other information I can provide to be of help.
please capture strace -ff of the git clone and attach it here.
I haven't used strace before, so maybe I am doing this wrong. I tried this command (I had to switch to btrfs-progs-9999 because the original ebuild I used no longer uses git): strace -ff -o btrfs emerge -av1 "=sys-fs/btrfs-progs-9999" And when I do this, the sandbox command dies when trying to ptrace with an "operation not permitted" message (because it is already being traced?): >>> Emerging (1 of 1) sys-fs/btrfs-progs-9999 >>> Unpacking source... GIT update --> repository: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git at the commit: 043a63924c9831ac52ce38f0365b9bfd628fb6a3 branch: master storage directory: "/usr/portage/distfiles/egit-src/btrfs-progs.git" checkout type: bare repository Cloning into '/var/tmp/portage/sys-fs/btrfs-progs-9999/work/btrfs-progs-9999'... ISE:_do_ptrace ptrace(PTRACE_TRACEME, ..., 0x00000000, 0x00000000): Operation not permitted /usr/lib/libsandbox.so(+0x278e)[0xf778578e] /usr/lib/libsandbox.so(+0x27fd)[0xf77857fd] /usr/lib/libsandbox.so(+0x4111)[0xf7787111] /usr/lib/libsandbox.so(+0x4c91)[0xf7787c91] /usr/lib/libsandbox.so(+0x507d)[0xf778807d] /usr/lib/libsandbox.so(execvp+0x1c8)[0xf778afc3] git[0x80db5a3] /proc/13328/cmdline: git clone -l -s -n /usr/portage/distfiles/egit-src/btrfs-progs.git /var/tmp/portage/sys-fs/btrfs-progs-9999/work/btrfs-progs-9999 fatal: The remote end hung up unexpectedly Trying to attach to an already running git-clone process doesn't give any useful information... > strace -p 13722 (git clone -l -s -n /usr/portage/distfiles/egit-src/btrfs-progs.git /var/tmp/portage/sys-fs/btrfs-progs-9999/work/btrfs-progs-9999) Process 13722 attached waitpid(13723, > strace -p 13721 (git clone -l -s -n /usr/portage/distfiles/egit-src/btrfs-progs.git /var/tmp/portage/sys-fs/btrfs-progs-9999/work/btrfs-progs-9999) Process 13721 attached read(7, Any pointers on how I should proceed?
does it still happen w/current stable versions ? if so, does it fail if you do: $ sandbox $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git you're getting a ptrace error there which means you have a static binary somewhere.
Nope, it's been magically fixed sometime in the last 4.5 years since I opened the bug. <_<; So yes, leave it as resolved, my GIT ain't giving any problems now.