Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 297026 - sys-apps/sandbox: gnulib mkdir/mkdirat tests fail (coreutils/findutils/etc...)
Summary: sys-apps/sandbox: gnulib mkdir/mkdirat tests fail (coreutils/findutils/etc...)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Sandbox Maintainers
URL:
Whiteboard:
Keywords:
: 314437 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-12-15 12:42 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2012-12-25 00:51 UTC (History)
10 users (show)

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


Attachments
Build log (coreutils-8.2:20091215-120211.log,114.76 KB, text/plain)
2009-12-15 12:44 UTC, Diego Elio Pettenò (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2009-12-15 12:42:56 UTC
Portage 2.1.7.14 (default/linux/x86/10.0, gcc-4.4.2-asneeded, glibc-2.11-r1, 2.6.32 i686)
=================================================================
System uname: Linux-2.6.32-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Tue, 15 Dec 2009 03:00:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.1.0_beta1
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.3
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.5, 1.6.3, 1.7.9-r2, 1.8.5-r3, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /opt/openjms/config /usr/lib/ccs/conf /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/phxd /var/spool/torque /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /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="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
INSTALL_MASK="  /usr/share/doc  /usr/share/info"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
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="/var/cache/portage/tree-tinderbox"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap ncurses nls nostatic nptl nptlonly openmp pam pcre perl pppd python qt3support readline reflection ruby session spl ssl sysfs tcpd unicode x86 xorg 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 auth_digest" ELIBC="glibc" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, LC_ALL, LINGUAS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-12-15 12:44:26 UTC
Created attachment 213082 [details]
Build log
Comment 2 SpanKY gentoo-dev 2009-12-15 13:31:18 UTC
try with sandbox disabled
Comment 3 Xake 2009-12-26 23:14:43 UTC
These two tests fails for me too with sandbox enabled but not with sandbox disabled.
I do not however know if or how this is related since I also have that "nss fails to compile with sandbox" problem (also related to mkdir).

[ebuild   R   ] sys-apps/coreutils-8.2  USE="acl gmp nls -caps (-selinux) -static -vanilla -xattr"

Portage 2.2_rc61 (hardened/linux/amd64/10.0, gcc-4.4.2, glibc-2.11-r1, 2.6.32-gentoo x86_64)
=================================================================
System uname: Linux-2.6.32-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 26 Dec 2009 02:00:02 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.64
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -ggdb -mtune=native -floop-interchange -floop-strip-mine -floop-block"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
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/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -ggdb -mtune=native -floop-interchange -floop-strip-mine -floop-block"
DISTDIR="/var/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict test unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.sunet.se/pub/os/Linux/distributions/gentoo"
LANG="sv_SE.UTF-8"
LC_ALL="C"
LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--sort-common -Wl,--warn-once,--hash-style=gnu"
LINGUAS="sv"
MAKEOPTS="-j25 -l10"
PKGDIR="/var/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="/var/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/java-overlay /usr/local/portage/layman/hardened-development /usr/local/portage/layman/gnome /usr/local/portage/layman/x11 /usr/local/portage/mine"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac accessibility acl acpi alsa amd64 amr amrnb amrwb applet archive avahi bash-completion bluetooth bzip2 cairo ccache cdaudio cdda cdr cleartype cli consolekit cracklib crypt cups cxx dbus deskbar device-mapper devicekit devkit dhcpcd digitalradio dirac djvu dri dts dvd dvdr dvi eds encode eselect evo exif faac faad fat fbcondecor ffmpeg fftw flac fontconfig fuse gdbm gdm gdu gif gimp glib gmp gnome gnome-keyring gnutls gphoto2 gpm grammar graphite gsf gsm gstreamer gtk gudev hal hardened ical iconv iconvacl icu id3tag idn ieee1394 iptc jabber java6 jingle jpeg jpeg2k justify kate kvm lcms libffi libnotify libsamplerate logrotate lvm lzma mad maps math matroska mktemp mms mmx mmxext mng moonlight mp2 mp3 mpeg mpi msn mtp mudflap multilib musepack musicbrainz nautilus ncurses network-cron networkmanager nfs nls nptl nptlonly ntfs offensive ogg openal opencore-amr opengl openmp openntpd ots pam pango parted pcre pdf perl pic pidgin png policykit pppd pulseaudio python quicktime raw readline reflection rrdcgi samba sensord session smp sms speex spell spl sse sse2 ssl ssse3 startup-notification subversion svg sysfs test tex theora thesaurus threads tiff totem tracker truetype udev unicode upnp urandom usb userlocales v4l vdpau vhook videos vim-syntax vorbis webkit wmf x264 xcb xcomposite xmp xmpp xorg xscreensaver xulrunner xv xvid xvmc zeroconf 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 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" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="sv" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" SANE_BACKENDS="net" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Patrick Lauer gentoo-dev 2010-01-12 13:22:48 UTC
Still fails with 8.3

With sandbox disabled:

PASS: test-memrchr                                                                                                                        
/bin/sh: line 1:  4246 Aborted                 EXEEXT='' USE_ACL=1 EXEEXT='' EXEEXT='' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_TR_UTF8='tr_TR.UTF-8' EXEEXT='' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_JA='ja_JP' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' LOCALE_TR_UTF8='tr_TR.UTF-8' EXEEXT='' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_JA='ja_JP' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' EXEEXT='' PATH='/var/tmp/portage/sys-apps/coreutils-8.3/work/coreutils-8.3/build-aux':"$PATH" PATH='/var/tmp/portage/sys-apps/coreutils-8.3/work/coreutils-8.3/build-aux':"$PATH" EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_JA='ja_JP' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' EXEEXT='' EXEEXT='' EXEEXT='' "$tst" > test-mkdir.log-t 2>&1                                                         
FAIL: test-mkdir                                                                                                                          
PASS: test-nanosleep                                                                                                                      
PASS: test-netdb                                                                                                                          
PASS: test-netinet_in                                                                                                                     
PASS: test-nl_langinfo.sh                                                                                                                 
PASS: test-open                                                                                                                           
PASS: test-openat-safer                                                                                                                   
PASS: test-fchownat                                                                                                                       
PASS: test-fstatat                                                                                                                        
/bin/sh: line 1:  6177 Aborted                 EXEEXT='' USE_ACL=1 EXEEXT='' EXEEXT='' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_TR_UTF8='tr_TR.UTF-8' EXEEXT='' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_JA='ja_JP' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' LOCALE_TR_UTF8='tr_TR.UTF-8' EXEEXT='' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_JA='ja_JP' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' EXEEXT='' EXEEXT='' PATH='/var/tmp/portage/sys-apps/coreutils-8.3/work/coreutils-8.3/build-aux':"$PATH" PATH='/var/tmp/portage/sys-apps/coreutils-8.3/work/coreutils-8.3/build-aux':"$PATH" EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' LOCALE_FR='fr_FR' LOCALE_FR_UTF8='fr_FR.UTF-8' LOCALE_JA='ja_JP' LOCALE_ZH_CN='zh_CN.GB18030' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' EXEEXT='' EXEEXT='' EXEEXT='' "$tst" > test-mkdirat.log-t 2>&1                                                       
FAIL: test-mkdirat 
Comment 5 Patrick Lauer gentoo-dev 2010-01-14 10:36:56 UTC
Same in 8.4
Comment 6 T Chan 2010-04-22 00:16:14 UTC
I get this too.

It succeeds with FEATURES='-sandbox -usersandbox', but then it still fails:

# grep '\*\*\*' build.log
make[4]: *** No rule to make target `misc/sort-mb-tests.log', needed by `test-suite.log'.
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2

Sorting multi-byte strings? Hmm.
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2010-04-22 06:36:53 UTC
see also bug #314437
Comment 8 T Chan 2010-04-28 03:17:36 UTC
Succeeds with FEATURES='-sandbox -usersandbox' USE=vanilla. The failure without USE=vanilla now reported as #317565
Comment 9 Kir Kolyshkin 2010-05-18 09:42:38 UTC
Same here, coreutils-8.4
Comment 10 Jeremy Murphy 2010-07-13 11:46:07 UTC
Still fail in 8.5.
Comment 11 SpanKY gentoo-dev 2010-08-16 03:34:03 UTC
*** Bug 314437 has been marked as a duplicate of this bug. ***
Comment 12 SpanKY gentoo-dev 2010-08-16 04:07:07 UTC
mkdirat fails the same way because it actually runs the mkdir code inline

the mkdir test fails because it is exercising some corner case behavior of broken links.  the sandbox code does some "early" checking to smooth over common behavior like `mkdir -p /var/tmp/portage/...` which will often mkdir() every component.  if we dont pre-check the paths with this automatic predict behavior, pretty much every package out there will fail with sandbox errors when they use `mkdir -p ${D}/...`.

in this specific case, the "early fail" code sets an incorrect errno value which the mkdir test is explicitly testing for but in reality, no one will be using in this exact way.  what it is doing is:
 - create a broken link: rm -rf foo bar; ln -s foo bar
 - check mkdir semantics with said link:
   mkdir("bar") -> fail w/errno=EEXIST
   mkdir("bar/.") -> fail w/errno=ENOENT

the early checks only bother returning EEXIST because it doesnt dive down into the relative expansion of paths across broken symlinks.  which means in reality, these tests failings arent a big deal.  it might take me sometime to tease out the exact change that'll make this work.
Comment 13 SpanKY gentoo-dev 2010-08-17 02:37:14 UTC
ive added a small hack to work around this in the unlikely error case.  i plan on reworking this in the future, so i'll worry about it then.

http://git.overlays.gentoo.org/gitweb/?p=proj/sandbox.git;a=commitdiff;h=ef2d8c1f96a176eba0e5eb265d8163824311a2fe