Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 177763 - sys-apps/portage-2.1.2.7 - features="keepwork" leads to wrong compile error message
Summary: sys-apps/portage-2.1.2.7 - features="keepwork" leads to wrong compile error m...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: AMD64 Linux
: High minor (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 181949
  Show dependency tree
 
Reported: 2007-05-09 10:16 UTC by DocReedSolomon
Modified: 2007-05-25 09:08 UTC (History)
0 users

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 DocReedSolomon 2007-05-09 10:16:38 UTC
ok, how to explain this best..
scenario: theres currently a bug in the rrdtool ebuild. if you compile it, you get a sandbox violation:
[code]
  --------------------------- ACCESS VIOLATION SUMMARY
 ---------------------------
 LOG FILE =
 "/var/log/sandbox/sandbox-net-analyzer_-_rrdtool-1.2.23-24094.log"
 
 open_wr:   /usr/lib/ruby/1.8/x86_64-linux/RRD.so (symlink to
 /usr/lib64/ruby/1.8/x86_64-linux/RRD.so)
 ---------------------------------------------------------------------
 -----------
 [/code]

so far so good. now, if you have FEATURES="keepwork" in yours make.conf:
[code]
 >>> WORKDIR is up-to-date, keeping...
 >>> It appears that 'rrdtool-1.2.23' is already compiled; skipping.
 >>> Remove
 '/mnt/data2/tmp/portage/net-analyzer/rrdtool-1.2.23/.compiled' to
 force compilation.
 >>> It appears that rrdtool has already been tested; skipping.
 >>> It appears that 'rrdtool-1.2.23' is already installed; skipping.
 >>> Remove
 '/mnt/data2/tmp/portage/net-analyzer/rrdtool-1.2.23/.installed' to
 force install.
 /usr/lib64/portage/bin/misc-functions.sh: line 45: cd:
 /mnt/data2/tmp/portage/net-analyzer/rrdtool-1.2.23/image/: file not found
 
 !!! ERROR: net-analyzer/rrdtool-1.2.23 failed.
 Call stack:
   misc-functions.sh, line 561:  Called install_qa_check
   misc-functions.sh, line 45: Called die
 
 !!! cd failed
 !!! If you need support, post the topmost build error, and the call
 stack if relevant.
 !!! A complete build log is located at
 '/mnt/data2/tmp/portage/net-analyzer/rrdtool-1.2.23/temp/build.log'.
 
 !!! install_qa_check failed; exiting.
 [/code]

as you can see, the error output of the failed compile process is completly misleading. not a word about the real problem (sandbox violation) anymore.

i think this is a bug?


Reproducible: Always




emerge info
*** Deprecated use of action 'info', use '--info' instead
Portage 2.1.2.7 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.5-r2, 2.6.21-gentoo x86_64)
=================================================================
System uname: 2.6.21-gentoo x86_64 AMD Athlon(tm) 64 Processor 3700+
Gentoo Base System release 1.12.10
Timestamp of tree: Wed, 09 May 2007 04:50:01 +0000
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.5-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -ftracer -msse3"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O3 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -ftracer -msse3"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks keepwork metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://www.gigaload.org/gentoo.org"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/mnt/data2/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X a52 aac acl acpi admin alsa amd64 apache2 apm arts artswrappersuid asf audiofile berkdb bitmap-fonts branding browserplugin bzip2 calendar cdb cddb cdparanoia cdr cgi cli contentcache cracklib crypt css cups custom-cflags dba dbus directfb disassembler divx divx4linux dri dts dv dvb dvd dvdr dvdread emerald encode esd exif fastcgi fax fbsplash ffmpeg flac foomaticdb fortran fpx gd gdbm geoip gif gimp gimpprint glitz glx gmedia gnome gphoto2 graphviz gs gstreamer gtk gtk2 hal helix httpd iconv ieee1394 imagemagick imap imlib isdnlog ithreads java java5 jbig jpeg jpeg2k kde kdeenablefinal kdehiddenvisibility lcms libg++ live lm_sensors mad math mbox midi mikmod mjpeg mmx mmx2 mmxext mozcalendar mozilla mozsvg mp2 mp3 mp4 mpeg mplayer musicbrainz mysql nas ncurses network nfs nls noamazon nptl nptlonly nsplugin nvidia ogg oggvorbis opengl oss pam pcre pdf perl php pic png ppds pppd python qt3 qt3support qt4 quicktime readline realmedia reflection rtc samplerate sasl scanner sdl session shaper sharedmem shorten snmp sox spell spl sqlite sse sse2 ssh ssl stream svg tcpd tetex threads tidy tiff truetype truetype-fonts tunepimp type1-fonts unicode usb userlocales vcd visualization vmware vorbis wmf wmp wxwindows x264 xcomposite xine xinerama xml xml2 xorg xscreensaver xv xvid zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Marius Mauch (RETIRED) gentoo-dev 2007-05-09 11:09:57 UTC
You didn't say in which phase the sandbox problem appeared (compile? install? test?).
At a guess that phase was marked as completed incorrectly, so the code that triggered the sandbox problem was skipped on the attempted rebuild and also leads to the file-not-found error later on.
Comment 2 DocReedSolomon 2007-05-09 11:40:58 UTC
to me it happen on install, the actual rrdtool bugreport is found here:
http://bugs.gentoo.org/show_bug.cgi?id=177256

hmm, i will keep an eye on this one with the next ebuild that fails to compile. "unfortunately" <g> i have no other ebuild that fails to test with yet ;)
 
Comment 3 Zac Medico gentoo-dev 2007-05-09 16:26:38 UTC
(In reply to comment #0)
> so far so good. now, if you have FEATURES="keepwork" in yours make.conf:
 
When you use FEATURES="keepwork", and fallout is your responsibility.

> as you can see, the error output of the failed compile process is completly
> misleading. not a word about the real problem (sandbox violation) anymore.

Like I said, it's your responsibility if you have FEATURES="keepwork" enabled.  You saw the access violation once and it's your responsibility to connect the dots.  Portage has no way of knowing that the two events are related.  It's more complex than that.

> i think this is a bug?

This bug looks invalid to me.  FEATURES="keepwork" is intended for ebuild development.  It's not a general-use feature and users shouldn't use it unless they're prepared to do some debugging.
Comment 4 Zac Medico gentoo-dev 2007-05-09 19:28:19 UTC
I think we need to split the features listed the make.conf manpage into sections so that it's clear which ones are acceptable for general use and which ones aren't.
Comment 5 DocReedSolomon 2007-05-09 19:56:05 UTC
well, maybe keepwork could just be documented a little better, thats all thats needed i guess. currently the manpage doesnt even mention it resumes the compile process.
Comment 6 Zac Medico gentoo-dev 2007-05-09 23:15:21 UTC
In svn r6512 I've updated the keepwork docs as follows:

.B keepwork
Do not delete the ${WORKDIR} directory after the merge process.  This also
disables most of the clean phase that is run prior to each build.  This causes it
to interfere with normal emerge operation and therefore it should not be left
enabled for more than a short period of time.
Comment 7 DocReedSolomon 2007-05-10 16:58:18 UTC
"Do not delete the ${WORKDIR} directory after the merge process and resume aborted compile operation" or something like that would make it clear what this option is supposed to be for, IMHO.
Comment 8 Zac Medico gentoo-dev 2007-05-10 18:31:48 UTC
In svn r6519 I've updated it clarify about how ${WORKDIR} can be reused:

.B keepwork
Do not delete the ${WORKDIR} directory after the merge process. ${WORKDIR} can
then be reused since this feature disables most of the clean phase that runs
prior to each build. Due to lack of proper cleanup, this feature can
interfere with normal emerge operation and therefore it should not be left
enabled for more than a short period of time.
Comment 9 DocReedSolomon 2007-05-10 18:51:47 UTC
sounds perfect to me, thx a bunch!
and, of course, keep up your good work!
Comment 10 Zac Medico gentoo-dev 2007-05-25 09:08:11 UTC
This has been released in 2.1.2.8.