1 |
For the past several weeks I have been having a recurring problem with |
2 |
portage's metadata cache after a sync. The problem is reproduceable |
3 |
100% of the time now, so either I have something configured wrong or |
4 |
there's actually a problem with the portage mirrors: |
5 |
|
6 |
The problem is easily fixed by removing the cache and forcing emerge to |
7 |
rebuild it, but the next time I sync the corruption returns: |
8 |
|
9 |
----------------------------------------------------------------------- |
10 |
gentoo portage # emerge --sync |
11 |
|
12 |
[...] |
13 |
|
14 |
>>> Updating Portage cache: Traceback (most recent call last): |
15 |
File "/usr/bin/emerge", line 4049, in ? |
16 |
emerge_main() |
17 |
File "/usr/bin/emerge", line 4006, in emerge_main |
18 |
action_sync(settings, trees, mtimedb, myopts, myaction) |
19 |
File "/usr/bin/emerge", line 2924, in action_sync |
20 |
action_metadata(settings, portdb, myopts) |
21 |
File "/usr/bin/emerge", line 3019, in action_metadata |
22 |
eclass_cache=ec, verbose_instance=noise_maker) |
23 |
File "/usr/lib/portage/pym/cache/util.py", line 47, in mirror_cache |
24 |
if trg and not write_it: |
25 |
File "/usr/lib/python2.4/UserDict.py", line 170, in __len__ |
26 |
return len(self.keys()) |
27 |
File "/usr/lib/portage/pym/cache/mappings.py", line 54, in keys |
28 |
return list(self.__iter__()) |
29 |
File "/usr/lib/portage/pym/cache/mappings.py", line 48, in __iter__ |
30 |
for k in self.orig.iterkeys(): |
31 |
File "/usr/lib/python2.4/UserDict.py", line 103, in iterkeys |
32 |
return self.__iter__() |
33 |
File "/usr/lib/portage/pym/cache/mappings.py", line 83, in __iter__ |
34 |
return iter(self.keys()) |
35 |
File "/usr/lib/portage/pym/cache/mappings.py", line 87, in keys |
36 |
self.d.update(self.pull()) |
37 |
File "/usr/lib/portage/pym/cache/flat_hash.py", line 29, in callit |
38 |
return args[0](*args[1:]+args2) |
39 |
File "/usr/lib/portage/pym/cache/flat_hash.py", line 47, in _pull |
40 |
raise cache_errors.CacheCorruption(cpv, e) |
41 |
cache.cache_errors.CacheCorruption: |
42 |
app-accessibility/SphinxTrain-0.9.1-r1 is corrupt: dictionary update |
43 |
sequence element #0 has length 1; 2 is required |
44 |
|
45 |
gentoo portage # rm -rf /usr/portage/metadata/cache/ |
46 |
gentoo portage # emerge --metadata |
47 |
|
48 |
|
49 |
Performing Global Updates: /usr/portage/profiles/updates/1Q-2007 |
50 |
(Could take a couple of minutes if you have a lot of binary packages.) |
51 |
.='update pass' *='binary update' @='/var/db move' |
52 |
s='/var/db SLOT move' S='binary SLOT move' p='update |
53 |
/etc/portage/package.*' |
54 |
............ |
55 |
|
56 |
|
57 |
|
58 |
>>> Updating Portage cache: 100% |
59 |
|
60 |
-- |
61 |
gentoo-user@g.o mailing list |