[Yum] sqlite3.OperationalError: Could not decode to UTF-8 column 'beg_rv' with text ''
Sam Thursfield
ssssam at gmail.com
Sun Oct 13 20:27:05 UTC 2013
Hi
I'm running Fedora 18 and I'm finding that 'yum' fails with the
following backtrace when I try to update or install packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Traceback (most recent call last):
File "./yummain.py", line 364, in <module>
user_main(sys.argv[1:], exit_code=True)
File "./yummain.py", line 355, in user_main
errcode = main(args)
File "./yummain.py", line 261, in main
return_code = base.doTransaction()
File "/home/sam/src/yum/cli.py", line 769, in doTransaction
resultobject = self.runTransaction(cb=cb)
File "/home/sam/src/yum/yum/__init__.py", line 1764, in runTransaction
lastdbv = self.history.last()
File "/home/sam/src/yum/yum/history.py", line 1268, in last
ret = self.old([], 1, complete_transactions_only)
File "/home/sam/src/yum/yum/history.py", line 1217, in old
executeSQL(cur, sql, params)
File "/home/sam/src/yum/yum/sqlutils.py", line 167, in executeSQLQmark
return cursor.execute(query)
sqlite3.OperationalError: Could not decode to UTF-8 column 'beg_rv' with text ''
I have tried running 'yum clean all', and the problem persists.
A little tracing through the code showed me that this is the SQL query
which is failing:
SELECT tid,
trans_beg.timestamp AS beg_ts,
trans_beg.rpmdb_version AS beg_rv,
trans_end.timestamp AS end_ts,
trans_end.rpmdb_version AS end_rv,
loginuid, return_code
FROM trans_beg JOIN trans_end USING(tid) ORDER BY
tid DESC LIMIT 1
And a bit of poking in
'/var/lib/yum/history/history-2012-12-15.sqlite' shows that somehow
I've got an empty string into the trans_beg.rpmdb_version column:
sqlite> SELECT * from trans_beg where length(rpmdb_version) == 0;
92|1375041301||1000
However, there are no results for either of these queries:
sqlite> SELECT * from trans_beg where rpmdb_version == NULL;
sqlite> SELECT * from trans_beg where rpmdb_version == '';
The SQLite version on the system is 3.7.13
I imagine I can fix this by deleting the history.sqlite file, but I
thought I'd raise it here on this list first because I couldn't find
this issue documented anywhere on the web and it's a bit of a
showstopper.
Thanks
Sam
More information about the Yum
mailing list