Bug 526294
| Summary: | yum history causes sqlite traceback on RPM transaction error | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Will Woods <wwoods> |
| Component: | yum | Assignee: | Seth Vidal <skvidal> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | rawhide | CC: | ffesti, james.antill, martin, maxamillion, pmatilai, tim.lauridsen |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2009-10-01 19:53:00 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Bugger changing the calling code to:
herrors = [to_unicode(x) for (x, y) in errors]
self.history.end(rpmdbv, 2, errors=herrors)
...will fix this problem, but I'm not sure we always get the same format for errors. Seth?
I can confirm this bug in yum-3.2.24-6.fc12.noarch when trying upgrade Rawhide. I removed some old kernels, freeing space on /boot, and then yum "worked". This should be fixed in yum-3.2.24-9.fc12.noarch |
yum-3.2.24-6.fc12.noarch here's the traceback: Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Traceback (most recent call last): File "/usr/bin/yum", line 29, in <module> yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 315, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 263, in main return_code = base.doTransaction() File "/usr/share/yum-cli/cli.py", line 492, in doTransaction resultobject = self.runTransaction(cb=cb) File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1081, in runTransaction self.history.end(rpmdbv, 2, errors=errors) File "/usr/lib/python2.6/site-packages/yum/history.py", line 385, in end self._log_errors(errors) File "/usr/lib/python2.6/site-packages/yum/history.py", line 351, in _log_errors (tid, msg) VALUES (?, ?)""", (self._tid, error)) File "/usr/lib/python2.6/site-packages/yum/sqlutils.py", line 168, in executeSQLQmark return cursor.execute(query, params) sqlite3.InterfaceError: Error binding parameter 1 - probably unsupported type. I added history_record=0 to /etc/yum.conf and got the error message: [('installing package kernel-2.6.31.1-54.fc12.i686 needs 5MB on the /boot filesystem', (9, '/boot', 4442112L)), ('installing package glibc-2.10.90-24.i686 needs 5MB on the /boot filesystem', (9, '/boot', 4442112L)), ('installing package gtk2-2.18.0-5.fc12.i686 needs 5MB on the /boot filesystem', (9, '/boot', 4442112L)), ('installing package libselinux-2.0.87-1.fc12.i686 needs 5MB on the /boot filesystem', (9, '/boot', 4442112L)), ... ] So it seems that history.end() is getting a list of error tuples, but the SQL insert statement in _log_errors is expecting a string, not a tuple. Probably it needs to format 'errors' (or just do str(errors) instead).