[Bug 2081708] Re: Incompatible with systemd zstd coredumps (could not determine content size in frame header)

Benjamin Drung 2081708 at bugs.launchpad.net
Tue Apr 28 09:47:05 UTC 2026


** Description changed:

+ [ Impact ]
+ 
+ Users with systemd-coredump cannot report crash reports.
+ 
+ [ Test Plan ]
+ 
+ Install systemd-coredump, produce a crash, and try to report it:
+ 
+ ```
+ sudo apt install systemd-coredump chaos-marmosets
+ divide-by-zero
+ APPORT_LAUNCHPAD_INSTANCE=qastaging apport-cli -c /var/crash/_usr_bin_divide-by-zero.1000.crash
+ ```
+ 
+ This will crash before the fix and should work afterwards.
+ 
+ In addition do that check with apport-gtk and apport-kde.
+ 
+ Also check that the autopkgtests will succeed except for system-tests-
+ internet. The split system-tests-internet tests will be fixed in a
+ follow-up SRU (they need several recent changes which I want to land in
+ resolute first). system-tests-internet fails, because Apport does not
+ correctly handle proxies (which is a recent autopkgtest requirement).
+ 
+ [ Where problems could occur ]
+ 
+ The change is in the problem report handling. So it could affect
+ reporting bugs against Ubuntu and affect creating crash reports in the
+ first place. Fixing reporting bugs created by systemd-coredump can
+ reveal issues hidden by this failure.
+ 
+ [ Other Info ]
+ 
+ The fix for this bug is
+ https://github.com/canonical/apport/commit/8f816a2251d75261858f7037fbaacb90a8260ffb
+ 
+ This SRU is done as bug-fix upstream release instead of applying more
+ patches. That has the benefit of easier review (each backported commit
+ references the original commit) and the upstream CI runs on the code.
+ The individual changes can be seen on the 2.28 branch:
+ https://github.com/canonical/apport/commits/2.28/
+ 
+ When creating this branch I had to pick three commits to let the CI
+ succeed:
+ 
+ setup.py: remove the shebang mangling code
+ https://github.com/canonical/apport/commit/4178e40529d574eb35d581ecf69ee56f60aab2c6
+ 
+ parse_segv.py: ignore registers with unavailable values (like pl3_ssp)
+ https://github.com/canonical/apport/commit/633bdd7f640335fc4a3a5a9acaeaa5fc5184d2ec
+ 
+ apport-kde: drop unused Dialog.addButton
+ https://github.com/canonical/apport/commit/e30d0e217470b7194d9926ee148becc5b3a1c1f0
+ 
+ The cherry-picking for this branch also includes refactorings to
+ apport/packaging_impl/apt_dpkg.py which we did not apply in the previous
+ SRUs. These refactorings allow better testing and will be needed for the
+ follow-up SRU anyway. These refactoring have been part of the 2.29 and
+ 2.30 release (so since Ubuntu 24.10 "oracular")
+ 
+ [ Original report ]
+ 
  zstd.ZstdError: could not determine content size in frame header
  
  I have systemd-coredump and python3-zstandard installed.
  
  This is fixable by passing a max_output_size parameter to the decompression method:
  https://github.com/indygreg/python-zstandard/issues/235#issuecomment-2367750673
  
  The backtrace:
  
- apport-cli -c /var/crash/_usr_bin_gnome-shell.1000.crash 
+ apport-cli -c /var/crash/_usr_bin_gnome-shell.1000.crash
  Traceback (most recent call last):
-   File "/usr/bin/apport-cli", line 420, in <module>
-     if not app.run_argv():
-            ^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/apport/ui.py", line 925, in run_argv
-     self.run_crash(self.args.crash_file)
-   File "/usr/lib/python3/dist-packages/apport/ui.py", line 464, in run_crash
-     response = self.ui_present_report_details(allowed_to_report)
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   File "/usr/bin/apport-cli", line 218, in ui_present_report_details
-     _("&Send report (%s)") % self.format_filesize(self.get_complete_size())
-                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/apport/ui.py", line 1236, in get_complete_size
-     if self.report[k]:
-        ~~~~~~~~~~~^^^
-   File "/usr/lib/python3/dist-packages/problem_report.py", line 314, in __len__
-     return len(self.get_value())
-                ^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/problem_report.py", line 281, in get_value
-     return _get_zstandard_decompressor().decompress(self.compressed_value)
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/usr/bin/apport-cli", line 420, in <module>
+     if not app.run_argv():
+            ^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/apport/ui.py", line 925, in run_argv
+     self.run_crash(self.args.crash_file)
+   File "/usr/lib/python3/dist-packages/apport/ui.py", line 464, in run_crash
+     response = self.ui_present_report_details(allowed_to_report)
+                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/usr/bin/apport-cli", line 218, in ui_present_report_details
+     _("&Send report (%s)") % self.format_filesize(self.get_complete_size())
+                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/apport/ui.py", line 1236, in get_complete_size
+     if self.report[k]:
+        ~~~~~~~~~~~^^^
+   File "/usr/lib/python3/dist-packages/problem_report.py", line 314, in __len__
+     return len(self.get_value())
+                ^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/problem_report.py", line 281, in get_value
+     return _get_zstandard_decompressor().decompress(self.compressed_value)
+            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  zstd.ZstdError: could not determine content size in frame header

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

Title:
  Incompatible with systemd zstd coredumps (could not determine content
  size in frame header)

Status in Apport:
  Fix Released
Status in apport package in Ubuntu:
  Fix Released
Status in apport source package in Noble:
  New

Bug description:
  [ Impact ]

  Users with systemd-coredump cannot report crash reports.

  [ Test Plan ]

  Install systemd-coredump, produce a crash, and try to report it:

  ```
  sudo apt install systemd-coredump chaos-marmosets
  divide-by-zero
  APPORT_LAUNCHPAD_INSTANCE=qastaging apport-cli -c /var/crash/_usr_bin_divide-by-zero.1000.crash
  ```

  This will crash before the fix and should work afterwards.

  In addition do that check with apport-gtk and apport-kde.

  Also check that the autopkgtests will succeed except for system-tests-
  internet. The split system-tests-internet tests will be fixed in a
  follow-up SRU (they need several recent changes which I want to land
  in resolute first). system-tests-internet fails, because Apport does
  not correctly handle proxies (which is a recent autopkgtest
  requirement).

  [ Where problems could occur ]

  The change is in the problem report handling. So it could affect
  reporting bugs against Ubuntu and affect creating crash reports in the
  first place. Fixing reporting bugs created by systemd-coredump can
  reveal issues hidden by this failure.

  [ Other Info ]

  The fix for this bug is
  https://github.com/canonical/apport/commit/8f816a2251d75261858f7037fbaacb90a8260ffb

  This SRU is done as bug-fix upstream release instead of applying more
  patches. That has the benefit of easier review (each backported commit
  references the original commit) and the upstream CI runs on the code.
  The individual changes can be seen on the 2.28 branch:
  https://github.com/canonical/apport/commits/2.28/

  When creating this branch I had to pick three commits to let the CI
  succeed:

  setup.py: remove the shebang mangling code
  https://github.com/canonical/apport/commit/4178e40529d574eb35d581ecf69ee56f60aab2c6

  parse_segv.py: ignore registers with unavailable values (like pl3_ssp)
  https://github.com/canonical/apport/commit/633bdd7f640335fc4a3a5a9acaeaa5fc5184d2ec

  apport-kde: drop unused Dialog.addButton
  https://github.com/canonical/apport/commit/e30d0e217470b7194d9926ee148becc5b3a1c1f0

  The cherry-picking for this branch also includes refactorings to
  apport/packaging_impl/apt_dpkg.py which we did not apply in the
  previous SRUs. These refactorings allow better testing and will be
  needed for the follow-up SRU anyway. These refactoring have been part
  of the 2.29 and 2.30 release (so since Ubuntu 24.10 "oracular")

  [ Original report ]

  zstd.ZstdError: could not determine content size in frame header

  I have systemd-coredump and python3-zstandard installed.

  This is fixable by passing a max_output_size parameter to the decompression method:
  https://github.com/indygreg/python-zstandard/issues/235#issuecomment-2367750673

  The backtrace:

  apport-cli -c /var/crash/_usr_bin_gnome-shell.1000.crash
  Traceback (most recent call last):
    File "/usr/bin/apport-cli", line 420, in <module>
      if not app.run_argv():
             ^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/apport/ui.py", line 925, in run_argv
      self.run_crash(self.args.crash_file)
    File "/usr/lib/python3/dist-packages/apport/ui.py", line 464, in run_crash
      response = self.ui_present_report_details(allowed_to_report)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/bin/apport-cli", line 218, in ui_present_report_details
      _("&Send report (%s)") % self.format_filesize(self.get_complete_size())
                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/apport/ui.py", line 1236, in get_complete_size
      if self.report[k]:
         ~~~~~~~~~~~^^^
    File "/usr/lib/python3/dist-packages/problem_report.py", line 314, in __len__
      return len(self.get_value())
                 ^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/problem_report.py", line 281, in get_value
      return _get_zstandard_decompressor().decompress(self.compressed_value)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  zstd.ZstdError: could not determine content size in frame header

To manage notifications about this bug go to:
https://bugs.launchpad.net/apport/+bug/2081708/+subscriptions





More information about the foundations-bugs mailing list