** Description changed:

- On all Ubuntu releases since at least 19.10, enabling compressed APT
- package list storage with command-not-found installed leads to this
- crash in the cnf-update-db hook called by apt update:
+ [Impact]
+ On all Ubuntu releases since at least 19.10, enabling compressed APT package 
list storage with command-not-found installed leads to this crash in the 
cnf-update-db hook called by apt update:
  
  Traceback (most recent call last):
-   File "/usr/lib/cnf-update-db", line 26, in <module>
-     col.create(db)
-   File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 
93, in create
-     self._fill_commands(con)
-   File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 
127, in _fill_commands
-     self._parse_single_commands_file(con, fp)
-   File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 
165, in _parse_single_commands_file
-     suite=tagf.section["suite"]
+   File "/usr/lib/cnf-update-db", line 26, in <module>
+     col.create(db)
+   File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 
93, in create
+     self._fill_commands(con)
+   File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 
127, in _fill_commands
+     self._parse_single_commands_file(con, fp)
+   File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 
165, in _parse_single_commands_file
+     suite=tagf.section["suite"]
  KeyError: 'suite'
  
  (To enable compressed APT list storage, add Acquire::GzipIndexes "true";
  to an apt.conf fragment.)
  
  This appears to be caused by apt downloading an lz4-compressed command
  list for command-not-found and cnf-update-db passing the
  /var/lib/apt/lists/*Commands-*.lz4 files to db/creator.py, which does
  not know about the compression and attempts to parse them as plain text.
+ 
+ 
+ [Test plan]
+ Enable the option, purge old lists, and update to populate lists directory 
with compressed files; this will run cnf-update-db for you.
+ 
+ [Where problems could occur]
+ Replacing the open() call with subprocess.Popen for apt-helper seems like a 
minimal change. If apt-helper has problems, we check the return code and fail, 
keeping the old db in place.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1876034

Title:
  apt update crashes with "KeyError: 'suite'" in cnf-update-db if index
  compression is enabled

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/command-not-found/+bug/1876034/+subscriptions


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

Reply via email to