[Bug 1875760] Re: /usr/lib/cnf-update-db:sqlite3.OperationalError:/usr/lib/cnf-update-db at 26:create

Lukas Märdian 1875760 at bugs.launchpad.net
Mon Aug 24 12:24:27 UTC 2020


** Description changed:

+ [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/.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
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:
  In Progress

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 Ubuntu-sponsors mailing list