In the lookup test "foo" was used, which did not trigger the
DBRunRecoveryError.

But using "foo%0" does, which the attached patch provides.

There's still the "Exception ..." line printed though. I don't know, why that's 
the case:
$ sudo apt-listchanges --save_seen=/var/lib/apt/listchanges.db 
system-config-printer_0.7.75+svn1653-0ubuntu2_all.deb
Recreating database /var/lib/apt/listchanges.db, because it failed to load.
Reading changelogs... Done
Exception bsddb.db.DBRunRecoveryError: DBRunRecoveryError(-30975, 
'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region 
error detected; run recovery') in  ignored


Also a small program like the following is unable to hide the exception 
altogether:
import anydbm
seen = anydbm.open('/var/lib/apt/listchanges.db', 'c')
try:
        seen.has_key("foo%0")
except:
        print "caught."


** Attachment added: "Debdiff for Gutsy"
   http://launchpadlibrarian.net/9868733/apt-listchanges_2.74ubuntu4.dsc.diff

** Changed in: apt-listchanges (Ubuntu)
     Assignee: dAniel hAhler (blueyed) => (unassigned)
       Status: In Progress => Confirmed

** Attachment removed: "debdiff for Gutsy"

   http://launchpadlibrarian.net/9526475/apt-
listchanges_2.74ubuntu3.dsc.diff

-- 
apt-listchanges crashes after python upgrade
https://bugs.launchpad.net/bugs/139143
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to