Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 81356 - openssl-0.9.7d-r2 fails to unmerge once openssl-0.9.7e has been installed
Summary: openssl-0.9.7d-r2 fails to unmerge once openssl-0.9.7e has been installed
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL: http://forums.gentoo.org/viewtopic.ph...
Whiteboard:
Keywords:
Depends on: 42519
Blocks:
  Show dependency tree
 
Reported: 2005-02-09 05:54 UTC by George .H
Modified: 2005-02-16 03:03 UTC (History)
0 users

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


Attachments
CONTENTS file (CONTENTS,88.83 KB, text/plain)
2005-02-09 23:19 UTC, George .H
Details

Note You need to log in before you can comment on or make changes to this bug.
Description George .H 2005-02-09 05:54:32 UTC
emerge compiles and installs openssl-0.9.7e without problems. When it then moves on to unmerge the old version (openssl-0.9.7d-r2) it fails with a stack trace. Unusually, the new version is still installed and etc-update works to update the config file for it. Later I re-ran emerge to complete the rest of the packages I want installed, and it tried to unmerge openssl-0.9.7d-r2 again at the end and failed with the same stack trace.

Reproducible: Always
Steps to Reproduce:
1. Have openssl-0.9.7d-r2 installed
2. Emerge openssl-0.9.7e

Actual Results:  
You get a stack trace like the one below:

>>> dev-libs/openssl-0.9.7e merged.

 dev-libs/openssl
    selected: 0.9.7d-r2
   protected: 0.9.7e
     omitted: none

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging dev-libs/openssl-0.9.7d-r2...
No package files given... Grabbing a set.

QA Notice: ECLASS 'multilib' inherited illegally in dev-libs/openssl-0.9.7d-r2

--- !mtime obj /usr/share/man/man3/err.3.gz
--- !mtime obj /usr/share/man/man3/engine.3.gz
--- !mtime obj /usr/share/man/man3/dsa.3.gz
.
.
.
.
--- !mtime obj /usr/share/man/man1/asn1parse.1.gz
--- !mtime obj /usr/share/man/man1/CA.pl.1.gz
Traceback (most recent call last):
  File "/usr/bin/emerge", line 2991, in ?
    mydepgraph.merge(mydepgraph.altlist())
  File "/usr/bin/emerge", line 1893, in merge
    retval=unmerge("clean", [xsplit[0]])
  File "/usr/bin/emerge", line 2167, in unmerge
   
retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action
not in ["clean","prune"])
  File "/usr/lib/portage/pym/portage.py", line 2700, in unmerge
    mylink.unmerge(trimworld=mytrimworld,cleanup=1)
  File "/usr/lib/portage/pym/portage.py", line 5975, in unmerge
    if (pkgfiles[obj][0] not in ("dir","fif","dev","sym")) and (lmtime !=
pkgfiles[obj][1]):
KeyError: '.' 

Expected Results:  
Unmerged the old version of openssl without failing and halting the emerge process.

Happend while doing an "emerge -u portage"
Comment 1 Carsten Lohrke (RETIRED) gentoo-dev 2005-02-09 08:27:04 UTC
`emerge --info` please. Does `emerge -C =openssl-0.9.7d-r2` work?
Comment 2 George .H 2005-02-09 10:12:33 UTC
emerge --info
----
Portage 2.0.51-r15 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-ck5 i686)
=================================================================
System uname: 2.6.10-ck5 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  8 2005, 20:33:32)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.8.5-r3, 1.5, 1.9.4, 1.6.3, 1.7.9-r1
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.4.21-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-mcpu=athlon -march=i686 -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdo /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/shartexmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mcpu=athlon -march=i686 -O2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X alsa apm avi berkdb bitmap-fonts bonobo cdr crypt cups dga dvd dvdr encode esd f77 fam flac font-server foomaticdb ftran gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml imagemagick imlib ipv6 java jpeg junit ldap libg++ libwww mad mikmod mmx motif mpeg urses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl svga tcltk tcpd tetex tiff truety truetype-fonts type1-fonts xml xml2 xmms xv zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY

---
'emerge -C =openssl-0.9.7d-r2' does not work. I still get the same stack trace error.
Comment 3 Tuan Van (RETIRED) gentoo-dev 2005-02-09 10:50:01 UTC
look like a dup of bug #42519
Comment 4 George .H 2005-02-09 13:33:51 UTC
Sorry if I am posting duplicates, although with me this error only happens with the openssl package. All other packages get merged and unmerged successfuly.
Comment 5 SpanKY gentoo-dev 2005-02-09 21:10:50 UTC
post your /var/db/pkg/*/openssl*/CONTENTS file as an attachment please
Comment 6 George .H 2005-02-09 23:19:50 UTC
Created attachment 50891 [details]
CONTENTS  file

this is  /var/db/pkg/dev-libs/openssl-0.9.7d-r2/CONTENTS
Comment 7 Markus Meier gentoo-dev 2005-02-14 10:58:08 UTC
I get a very similar error, not quite the same but similar... 

Here's the traceback (happens on emerge clean or emerge -C =openssl-0.9.7e):

>>> Unmerging dev-libs/openssl-0.9.7e...
No package files given... Grabbing a set.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 2801, in ?
    if 1==unmerge(myaction, myfiles):
  File "/usr/bin/emerge", line 2168, in unmerge
    retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"])
  File "/usr/lib/portage/pym/portage.py", line 2790, in unmerge
    mylink.unmerge(trimworld=mytrimworld,cleanup=1)
  File "/usr/lib/portage/pym/portage.py", line 6023, in unmerge
    spawn("bzip2 -d "+self.dbdir+"/environment.bz2",self.settings,free=1)
  File "/usr/lib/portage/pym/portage.py", line 1568, in spawn
    return portage_exec.spawn_bash(mystring,env=env,**keywords)
  File "/usr/lib/portage/pym/portage_exec.py", line 46, in spawn_bash
    return spawn(args,env=env,opt_name=opt_name,**keywords)
  File "/usr/lib/portage/pym/portage_exec.py", line 160, in spawn
    raise str(e)+":\n   "+myc+" "+string.join(myargs)
execve() arg 3 contains a non-string value:
   /bin/bash [openssl-0.9.7e] bash -c bzip2 -d /var/db/pkg/dev-libs/openssl-0.9.7e/environment.bz2
Traceback (most recent call last):
  File "/usr/bin/emerge", line 2801, in ?
    if 1==unmerge(myaction, myfiles):
  File "/usr/bin/emerge", line 2168, in unmerge
    retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"])
  File "/usr/lib/portage/pym/portage.py", line 2790, in unmerge
    mylink.unmerge(trimworld=mytrimworld,cleanup=1)
  File "/usr/lib/portage/pym/portage.py", line 6034, in unmerge
    a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_cache=0,tree="vartree")
  File "/usr/lib/portage/pym/portage.py", line 2543, in doebuild
    return spawn(EBUILD_SH_BINARY+" "+mydo,mysettings,debug=debug,free=1,logfile=logfile)
  File "/usr/lib/portage/pym/portage.py", line 1568, in spawn
    return portage_exec.spawn_bash(mystring,env=env,**keywords)
  File "/usr/lib/portage/pym/portage_exec.py", line 46, in spawn_bash
    return spawn(args,env=env,opt_name=opt_name,**keywords)
  File "/usr/lib/portage/pym/portage_exec.py", line 160, in spawn
    raise str(e)+":\n   "+myc+" "+string.join(myargs)
execve() arg 3 contains a non-string value:
   /bin/bash [openssl-0.9.7e] bash -c /usr/lib/portage/bin/ebuild.sh prerm
!!! FAILED prerm: 1

--

emerge info

Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r7 i686)
=================================================================
System uname: 2.6.10-gentoo-r7 i686 Intel(R) Pentium(R) M processor 1600MHz
Gentoo Base System version 1.6.9
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  8 2005, 19:43:21)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r1, 2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium-m"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=pentium-m"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox sfperms userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.inode.at/"
LANG="en_IE@euro"
MAKEOPTS="-j2"
PKGDIR="/usr/local/pkgdir"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib acpi alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl divx4linux dvd dvdr dvdread esd f77 fam flac font-server foomaticdb fortran gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 i8x0 imlib ipv6 irmc java jpeg ldap libclamav libg++ libwww live mad mikmod mmx motif mozilla mp3 mpeg ncurses network nls nptl oggvorbis opengl oss pam pdflib perl png python quicktime readline real samba sdl spell sse sse2 ssl svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts wifi xml2 xmms xprint xv xvid zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS

Comment 8 Markus Meier gentoo-dev 2005-02-14 11:09:26 UTC
doh.. just saw that I have a local prob... the CONTENTS file is missing. last week i had some harddisk crashes, I probably lost it there...
sorry for spamming here... 
Comment 9 Jason Stubbs (RETIRED) gentoo-dev 2005-02-15 06:32:59 UTC
As per previous comment...
Comment 10 George .H 2005-02-15 18:09:43 UTC
"As per previous comment..."

Which previous comment ?
Has this issue been fixed?
What causes this problem ?

I am getting this stack trace error with several other emerges (ie. xlockmore).

Is there a solution?
Comment 11 Jason Stubbs (RETIRED) gentoo-dev 2005-02-16 03:03:44 UTC
Apologies, I didn't realize there were two people commenting on this bug.

Having said that, the cause is essentially the same. The difference is that your CONTENTS file is only partially corrupt. You can delete the last line of the file which should allow portage's record to be removed successfully. There will more than likely be files left over - however there is nothing you can do about it. You will likely find the same type of corruption for other packages that give the same error. I would strongly suggest fsck'ing your filesystem and/or ensuring you always shut down safely.