Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 152896 - portage-2.1.2_pre3-r9 - TypeError: unsubscriptable object on emerge
Summary: portage-2.1.2_pre3-r9 - TypeError: unsubscriptable object on emerge
Status: RESOLVED NEEDINFO
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-26 11:25 UTC by Dean Pierce
Modified: 2006-10-27 03:03 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 Dean Pierce 2006-10-26 11:25:20 UTC
First off, I know I have a fairly modified system, but none of my reversions have helped, and this seems like a portage issue, even though many people with the same version of portage have had no problems with it, and my laptop and desktop at home are working fine.

Whenever I try to emerge anything, or at the end of emerge --sync, I get this error.

torus ~ # emerge world
Calculating world dependencies  
Traceback (most recent call last):
  File "/usr/bin/emerge", line 4503, in ?
    retval = emerge_main()
  File "/usr/bin/emerge", line 4498, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 3871, in action_build
    if not mydepgraph.xcreate(myaction):
  File "/usr/bin/emerge", line 1620, in xcreate
    best_pkg = portage.best(portdb.match(atom))
  File "/usr/lib/portage/pym/portage.py", line 5355, in match
    return self.xmatch("match-visible",mydep)
  File "/usr/lib/portage/pym/portage.py", line 5338, in xmatch
    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey))
  File "/usr/lib/portage/pym/portage.py", line 5324, in xmatch
    myval=self.gvisible(self.visible(self.cp_list(mykey)))
  File "/usr/lib/portage/pym/portage.py", line 5428, in gvisible
    keys, license, eapi = self.aux_get(mycpv, aux_keys)
  File "/usr/lib/portage/pym/portage.py", line 5042, in aux_get
    doregen = not self.eclassdb.is_eclass_data_valid(mydata["_eclasses_"])
  File "/usr/lib/portage/pym/eclass_cache.py", line 65, in is_eclass_data_valid
    if cached_data is None or tup[1] != cached_data[1]:
TypeError: unsubscriptable object
torus ~ #


Also, I noticed that when I try to emerge a masked package, first it tells me that the package is masked, and then it dumps out with that error.


torus ~ # emerge --info
Portage 2.1.2_pre3-r9 (selinux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.17-hardened-r1 i686)
=================================================================
System uname: 2.6.17-hardened-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.12.5
Last Sync: Thu, 26 Oct 2006 17:30:01 +0000
ccache version 2.4 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.3.5-r3, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
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.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4"
CHOST="i686-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/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium4"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks loadpolicy metadata-transfer parallel-fetch sandbox selinux sesandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS="en"
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"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aiglx alsa anthy apache2 berkdb cjk crypt cups dbus dri elibc_glibc firefox gif gnome gnutls gtk hal hardened input_devices_keyboard input_devices_mouse ipv6 java jpeg kernel_linux ldap linguas_en mmx mysql ncurses nls nptl nptlonly opengl pam pdf perl png python readline samba sdl selinux spell sse sse2 ssl svg tcpd threads truetype udev unicode userland_GNU video_cards_nvidia xcomposite xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

torus ~ #
Comment 1 Zac Medico gentoo-dev 2006-10-26 11:46:43 UTC
Do you have anything in /etc/portage/modules?  If so, you can comment out whatever is in that file (or remove it) and then run `emerge --metadata` to use the default cache implementation.
Comment 2 Zac Medico gentoo-dev 2006-10-27 02:12:29 UTC
This really seems like a buggy cache module to me.
Comment 3 Dean Pierce 2006-10-27 02:21:58 UTC
Disabling the CDB cache module did fix it, but this is the first time in over a year that I have had trouble with it.  It was always a bit of a hack, but the increase in performance will be greatly missed if this bug goes unfixed :-/
Comment 4 Zac Medico gentoo-dev 2006-10-27 03:03:19 UTC
I need to know the source of the problem before I can fix it.  Where did you get the module?  I've just tested http://dev.gentoo.org/~jstubbs/cdb.py and it works for me.  Are you using some other one?  The default cache module performs pretty well in >=portage-2.1, so you might just want to stick with it.  Personally, I use the metadata_overlay module (documented in `man portage`).  There is also an sqlite module included with portage.