Problem
Yum updates through cron die with:
/etc/cron.daily/yum.cron:
(process:14700): GLib-CRITICAL **: file gtimer.c: line 106 (g_timer_stop): assertion `timer != NULL' failed(process:14700): GLib-CRITICAL **: file gtimer.c: line 88 (g_timer_destroy): assertion `timer != NULL' failed
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.main(sys.argv[1:])
File "/usr/share/yum-cli/yummain.py", line 97, in main
result, resultmsgs = do()
File "/usr/share/yum-cli/cli.py", line 477, in doCommands
return self.updatePkgs()
File "/usr/share/yum-cli/cli.py", line 955, in updatePkgs
self.doRepoSetup()
File "/usr/share/yum-cli/cli.py", line 75, in doRepoSetup
self.doSackSetup(thisrepo=thisrepo)
File "init.py", line 260, in doSackSetup
File "repos.py", line 277, in populateSack
File "/usr/lib/python2.3/site-packages/sqlitecachec.py", line 40, in getPrimary
self.repoid))
TypeError: Can not create index on requires table: near "NOT": syntax error(process:14713): GLib-CRITICAL **: file gtimer.c: line 106 (g_timer_stop): assertion `timer != NULL' failed(process:14713): GLib-CRITICAL **: file gtimer.c: line 88 (g_timer_destroy): assertion `timer != NULL' failed
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.main(sys.argv[1:])
File "/usr/share/yum-cli/yummain.py", line 97, in main
result, resultmsgs = do()
File "/usr/share/yum-cli/cli.py", line 447, in doShell
yumshell.script()
File "/usr/share/yum-cli/shell.py", line 50, in script
self.onecmd(line)
File "/usr/lib/python2.3/cmd.py", line 209, in onecmd
return self.default(line)
File "/usr/share/yum-cli/shell.py", line 70, in default
self.base.doCommands()
File "/usr/share/yum-cli/cli.py", line 477, in doCommands
return self.updatePkgs()
File "/usr/share/yum-cli/cli.py", line 955, in updatePkgs
self.doRepoSetup()
File "/usr/share/yum-cli/cli.py", line 75, in doRepoSetup
self.doSackSetup(thisrepo=thisrepo)
File "init.py", line 260, in doSackSetup
File "repos.py", line 277, in populateSack
File "/usr/lib/python2.3/site-packages/sqlitecachec.py", line 40, in getPrimary
self.repoid))
TypeError: Can not create index on requires table: near "NOT": syntax error
Commentary
http://bugs.centos.org/view.php?id=2611CentOS is trying to be clever: the yum.daily cron entry tries to update yum only before running the daily update, on the theory that any fresh goodness in yum should be baked in before updating everything.
This falls down when the yum update depends on something but isn't included as a dependancy (in this case, the update to sqlite).
Solution
Upgrade sqlite and friends:
Yum should now work again.
Update
This didn't actually work: yum would eat all the memory and then die either when the memory was exhausted or the process limit was reached.
We also attempted a manual update of yum, rpm, and the associated friends; none of this made a difference.
We believe this has to do with updates receieved from a non-standerd yum repository; the system has yum disabled and will be rebuilt by kickstart to eliminate the differences.