[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