[Bug 1875760] Re: /usr/lib/cnf-update-db:sqlite3.OperationalError:/usr/lib/cnf-update-db at 26:create
Launchpad Bug Tracker
1875760 at bugs.launchpad.net
Wed Sep 2 19:38:41 UTC 2020
This bug was fixed in the package command-not-found - 20.04.4
---------------
command-not-found (20.04.4) focal; urgency=medium
* Avoid crash if tmpdb is locked. Skip execution and let the other process
do its job. (LP: #1875760)
-- Lukas Märdian <lukas.maerdian at canonical.com> Mon, 03 Aug 2020
13:10:24 +0200
** Changed in: command-not-found (Ubuntu Focal)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to command-not-found in Ubuntu.
https://bugs.launchpad.net/bugs/1875760
Title:
/usr/lib/cnf-update-db:sqlite3.OperationalError:/usr/lib/cnf-update-
db at 26:create
Status in command-not-found package in Ubuntu:
Fix Released
Status in command-not-found source package in Focal:
Fix Released
Bug description:
[Impact]
The Ubuntu Error Tracker has been receiving reports about a problem
regarding command-not-found. c-n-f- crashes when there are two
parallel processes trying to update the tmpdb via its 'cnf-update-db'
script. Only the first process can lock the sqlite3 database, the 2nd
one will crash.
There is no impact on users, but we want to avoid the noise about
those crashes in the Ubuntu Error Tracker.
This update ignores the update-db operation, if the database is
already locked and logs a warning message.
[Test Case]
* Manually lock the database
* Run 'cnf-update-db'
* Verify it is not crashing
sudo cp /var/lib/command-not-found/commands.db /var/lib/command-not-found/commands.db.tmp
sudo sqlite3 /var/lib/command-not-found/commands.db.tmp
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
sqlite> PRAGMA locking_mode = EXCLUSIVE;
exclusive
sqlite> BEGIN EXCLUSIVE;
sqlite>
sudo rm /var/lib/command-not-found/commands.db.metadata
sudo sudo /usr/lib/cnf-update-db --verbose
echo $?
[Regression Potential]
This changes touches the 'cnf-update-db' script which creates or
updates the sqlite database containing the mappings between
executables and its corresponding packages. It it regresses the
database might not be correctly updated anymore and thus users might
not get proper package recommendations when they try to execute a non-
installed application.
[Original Bug Description]
The Ubuntu Error Tracker has been receiving reports about a problem regarding command-not-found. This problem was most recently seen with package version 20.04.2, the problem page at https://errors.ubuntu.com/problem/e1fb83cff555154efc036bf0674053c5e555d96b contains more details, including versions of packages affected, stacktrace or traceback, and individual crash reports.
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://forms.canonical.com/reports/.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/command-not-found/+bug/1875760/+subscriptions
More information about the foundations-bugs
mailing list