After I have upgraded to portage 2.1.7.9 I have experienced some problems. For instance, after I do an emerge -puD world it crashes with the following traceback: emerge -puD world These are the packages that would be merged, in order: Calculating dependencies... done! Traceback (most recent call last): File "/usr/bin/emerge", line 42, in <module> retval = emerge_main() File "/usr/lib/portage/pym/_emerge/main.py", line 1378, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/lib/portage/pym/_emerge/actions.py", line 276, in action_build settings, trees, myopts, myparams, myaction, myfiles, spinner) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5419, in backtrack_depgraph myaction, myfiles, spinner) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5437, in _backtrack_depgraph success, favorites = mydepgraph.select_files(myfiles) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 1511, in select_files self._load_vdb() File "/usr/lib/portage/pym/_emerge/depgraph.py", line 277, in _load_vdb fake_vartree.sync() File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 102, in sync self._sync() File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 152, in _sync pkg = self._pkg(cpv) File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 169, in _pkg real_vardb.aux_get(cpv, self._db_keys)), File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 514, in aux_get pkg_data = self._aux_cache["packages"].get(mycpv) File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 420, in _aux_cache self._aux_cache_init() File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 442, in _aux_cache_init aux_cache = mypickle.load() TypeError: unhashable type: 'dict' When I do a emerge --sync, it reports another errors such as: [...] Parse Error reading PROVIDE and USE in '/var/db/pkg/dev-texlive/texlive-latex-2008-r1' Exception: unhashable type: 'dict' Parse Error reading PROVIDE and USE in '/var/db/pkg/dev-texlive/texlive-texinfo-2008' Exception: unhashable type: 'dict' Parse Error reading PROVIDE and USE in '/var/db/pkg/dev-texlive/texlive-genericrecommended-2008' Exception: unhashable type: 'dict' [...] but the DB directories seems OK (the filesystem has not suffered any corruption). Reproducible: Always Steps to Reproduce: 1. Perform emerge -puD world OR 2. Perform emerge --sync
This should solve it: rm /var/cache/edb/vdb_metadata.pickle It will regenerate automatically. I don't know how it got corrupted.
After rm /var/cache/edb/vdb_metadata.pickle the problem has been fixed. Thank you very much!