Whenever emerge attempts to unmerge my existing installation of muine it fails. Therefore, I cannot upgrade, downgrade, uninstall, or do anything else that involves unmerging muine. The problem hasn't arisen with any other ebuilds, but this seems to be a portage/emerge error (in my neophyte opinion). Reproducible: Always Steps to Reproduce: 0. Emerge muine-0.8.3 1. Attempt to unmerge muine ($ emerge -C muine) Actual Results: Everything go BOOM! Emerge spits out a stack trace, which should be attached. The end result is that it doesn't unmerge muine. Expected Results: Unmerged muine. emerge --info Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.13-gentoo-r1 i686) ================================================================= System uname: 2.6.13-gentoo-r1 i686 Intel(R) Pentium(R) III CPU 1200MHz Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -march=pentium3" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa avi bash-completion berkdb bitmap-fonts browserplugin cdda cdparanoia cdr crypt cups curl divx4linux doc dvd eds emacs emboss encode esd fam ffmpeg firefox flac foomaticdb fortran gd gdbm gif gimpprint gnome gpm gstreamer gtk gtk2 hal imagemagick imlib ipv6 java jpeg junit ldap libg++ libwww mad mikmod mmx mono motif mozilla mp3 mpeg ncurses nls nsplugin nvidia objc odbc ogg oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sdl spell sse ssl subversion svg svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb v4l vorbis wifi win32codecs xine xml2 xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Created attachment 70339 [details] Stack trace
your contents file is corrupted... wc -l it, chop lines to where it states, and try again.
(In reply to comment #2) > your contents file is corrupted... wc -l it, chop lines to where it states, and > try again. I don't know what you mean by corrupted. As far as I can tell the file contains exactly the same content as the stack trace that gets printed out. wc -l reports 41 line breaks, which is correct. I'm going to edit the attachment (just re-copy the stack trace output). Let me know if that helps.
Comment on attachment 70339 [details] Stack trace >>> Unmerging media-sound/muine-0.8.3... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/bin/emerge", line 2954, in ? if 1==unmerge(myaction, myfiles): File "/usr/bin/emerge", line 2251, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_ac tion not in ["clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2901, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6119, in unmerge spawn("bzip2 -d "+self.dbdir+"/environment.bz2",self.settings,free=1) File "/usr/lib/portage/pym/portage.py", line 1603, in spawn return portage_exec.spawn_bash(mystring,env=env,**keywords) File "/usr/lib/portage/pym/portage_exec.py", line 48, in spawn_bash return spawn(args,env=env,opt_name=opt_name,**keywords) File "/usr/lib/portage/pym/portage_exec.py", line 164, in spawn raise str(e)+":\n "+myc+" "+string.join(myargs) execve() arg 3 contains a non-string value: /bin/bash [muine-0.8.3] bash -c bzip2 -d /var/db/pkg/media-sound/muine-0.8.3/environment.bz2 close failed: [Errno 9] Bad file descriptor Traceback (most recent call last): File "/usr/bin/emerge", line 2954, in ? if 1==unmerge(myaction, myfiles): File "/usr/bin/emerge", line 2251, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_ac tion not in ["clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2901, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6130, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_c ache=0,tree="vartree") File "/usr/lib/portage/pym/portage.py", line 2611, in doebuild return spawn(EBUILD_SH_BINARY+" "+mydo,mysettings,debug=debug,free=1,logfile=logfile) File "/usr/lib/portage/pym/portage.py", line 1603, in spawn return portage_exec.spawn_bash(mystring,env=env,**keywords) File "/usr/lib/portage/pym/portage_exec.py", line 48, in spawn_bash return spawn(args,env=env,opt_name=opt_name,**keywords) File "/usr/lib/portage/pym/portage_exec.py", line 164, in spawn raise str(e)+":\n "+myc+" "+string.join(myargs) execve() arg 3 contains a non-string value: /bin/bash [muine-0.8.3] bash -c /usr/lib/portage/bin/ebuild.sh prerm close failed: [Errno 9] Bad file descriptor !!! FAILED prerm: 1
attach /var/db/pkg/media-sound/muine-0.8.3/CONTENTS
Created attachment 70426 [details] muine CONTENTS file
mehhhhhh. the exception you're hitting is from weird chars being in an env var (the settings dict handed in), which has always been via CONTENTS corruption. Posted contents file looks fine, which is annoying, but neh. please run tar -jcf muine-0.8.3-vdb.tar.bz2 /var/db/pkg/media-sound/muine-0.8.3 and attach the tarball.
So... for some reason the the LICENSE file in /var/db/pkg/media-sound/muine-0.8.3 was listed as being 64 gigabytes in size. I deleted that file and the unmerge went fairly smooth. To make sure everything worked, I emerged muine again then unmerged it. Everything seems to be okay. I have no clue why the LICENSE file was so large (64GB is larger than the partition that /var is on). Thanks for your help.
Jason... thoughts on an emaint check here for files that are corrupted in some fashion?