Summary: | Unable to emerge any packages - error bad marshalling data | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Graham Murray <gmurray> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | blocker | ||
Priority: | High | ||
Version: | 2.2 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Graham Murray
2009-04-22 08:55:21 UTC
Additional information. This only happened after I synced this morning. The very same version of portage (which was installed on 20 April) was working correctly after yesterday's daily sync. Don't know what marshalling data is. But, is this still an issue? (In reply to comment #2) > Don't know what marshalling data is. But, is this still an issue? > Yes, it is still an issue. I have just run emerge --sync again and get the same failure when attempting to emerge anything. I suspect that /usr/lib/python2.6/logging/__init__.pyo is corrupt. You can force regeneration of the *py[co] files like this: x=/usr/lib/python2.6 find $x -name '*.py[co]' | xargs rm -f python -c "from compileall import compile_dir; compile_dir('$x')" python -O -c "from compileall import compile_dir; compile_dir('$x')" Thanks, it is working now. That just leaves the question of how python got corrupted - but that is an entirely different matter. Maybe a risk that is taken using bleeding edge git kernels :) I have no idea how, but this error happened on a new hardened-selinux box, only it was portage itself that was somehow corrupted. The "ValueError: bad marshal data" happened on the import of the portage manifest module. It took the same brute-force fix as in comment #4 to fix it (only replace /usr/lib/python2.6 with /usr/lib/portage). Now all is well... |