** Description changed: + [ Impact ] + + Extracting a crash file will always fail in case the crash report was + processed. + + [ Test plan ] + + 1. Create crash (e.g. with divide-by-zero): + ``` + sudo apt install chaos-marmosets + divide-by-zero + ``` + 2. Click on "show details" in Apport crash UI, then close it + 3. exract crash report: + ``` + tmpdir=$(mktemp -d) + apport-unpack /var/crash/_usr_bin_divide-by-zero.1000.crash "$tmpdir" + rm -rf "$tmpdir" + ``` + + The extraction should work and not print a stack trace. + + [ Original report ] + The crash file I'm using is as-produced by the system (on groovy), and appears to have an empty value for separator: $ grep separator /var/crash/_usr_bin_neomutt.1000.crash separator: Traceback (most recent call last): - File "/usr/bin/apport-unpack", line 77, in <module> - pr.extract_keys(f, bin_keys, dir) - File "/usr/lib/python3/dist-packages/problem_report.py", line 269, in extract_keys - raise ValueError('%s has no binary content' % + File "/usr/bin/apport-unpack", line 77, in <module> + pr.extract_keys(f, bin_keys, dir) + File "/usr/lib/python3/dist-packages/problem_report.py", line 269, in extract_keys + raise ValueError('%s has no binary content' % ValueError: ['separator'] has no binary content ProblemType: Bug DistroRelease: Ubuntu 20.10 Package: apport 2.20.11-0ubuntu42 ProcVersionSignature: Ubuntu 5.4.0-37.41-generic 5.4.41 Uname: Linux 5.4.0-37-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu42 Architecture: amd64 CasperMD5CheckResult: skip CrashReports: 640:1000:117:1620030:2020-07-29 12:16:57.045274496 -0400:2020-07-29 12:19:15.559243636 -0400:/var/crash/_usr_bin_neomutt.1000.crash 640:1000:117:4399480:2020-07-23 10:30:21.433552906 -0400:2020-07-23 10:30:18.921508067 -0400:/var/crash/_usr_bin_pavucontrol.1000.crash 640:1000:117:29909:2020-07-29 12:19:15.603244279 -0400:2020-07-29 12:19:15.603244279 -0400:/var/crash/_usr_bin_apport-unpack.1000.crash CurrentDesktop: i3 Date: Wed Jul 29 12:22:54 2020 InstallationDate: Installed on 2019-05-07 (448 days ago) InstallationMedia: Ubuntu 18.04.2 LTS "Bionic Beaver" - Release amd64 (20190210) PackageArchitecture: all SourcePackage: apport UpgradeStatus: Upgraded to groovy on 2020-06-22 (37 days ago)
** Description changed: [ Impact ] Extracting a crash file will always fail in case the crash report was processed. [ Test plan ] 1. Create crash (e.g. with divide-by-zero): ``` sudo apt install chaos-marmosets divide-by-zero ``` 2. Click on "show details" in Apport crash UI, then close it 3. exract crash report: ``` tmpdir=$(mktemp -d) apport-unpack /var/crash/_usr_bin_divide-by-zero.1000.crash "$tmpdir" rm -rf "$tmpdir" ``` The extraction should work and not print a stack trace. + + [ Where problems could occur ] + + The change touches the problem report reading code which is used in + several places. This could cause regressions in reading the problem + report. [ Original report ] The crash file I'm using is as-produced by the system (on groovy), and appears to have an empty value for separator: $ grep separator /var/crash/_usr_bin_neomutt.1000.crash separator: Traceback (most recent call last): File "/usr/bin/apport-unpack", line 77, in <module> pr.extract_keys(f, bin_keys, dir) File "/usr/lib/python3/dist-packages/problem_report.py", line 269, in extract_keys raise ValueError('%s has no binary content' % ValueError: ['separator'] has no binary content ProblemType: Bug DistroRelease: Ubuntu 20.10 Package: apport 2.20.11-0ubuntu42 ProcVersionSignature: Ubuntu 5.4.0-37.41-generic 5.4.41 Uname: Linux 5.4.0-37-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu42 Architecture: amd64 CasperMD5CheckResult: skip CrashReports: 640:1000:117:1620030:2020-07-29 12:16:57.045274496 -0400:2020-07-29 12:19:15.559243636 -0400:/var/crash/_usr_bin_neomutt.1000.crash 640:1000:117:4399480:2020-07-23 10:30:21.433552906 -0400:2020-07-23 10:30:18.921508067 -0400:/var/crash/_usr_bin_pavucontrol.1000.crash 640:1000:117:29909:2020-07-29 12:19:15.603244279 -0400:2020-07-29 12:19:15.603244279 -0400:/var/crash/_usr_bin_apport-unpack.1000.crash CurrentDesktop: i3 Date: Wed Jul 29 12:22:54 2020 InstallationDate: Installed on 2019-05-07 (448 days ago) InstallationMedia: Ubuntu 18.04.2 LTS "Bionic Beaver" - Release amd64 (20190210) PackageArchitecture: all SourcePackage: apport UpgradeStatus: Upgraded to groovy on 2020-06-22 (37 days ago) -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apport in Ubuntu. https://bugs.launchpad.net/bugs/1889443 Title: "ValueError: ['separator'] has no binary content" when running `apport-unpack /var/crash/...` Status in Apport: Fix Released Status in apport package in Ubuntu: Fix Released Status in apport source package in Bionic: Triaged Status in apport source package in Focal: Triaged Status in apport source package in Jammy: Triaged Bug description: [ Impact ] Extracting a crash file will always fail in case the crash report was processed. [ Test plan ] 1. Create crash (e.g. with divide-by-zero): ``` sudo apt install chaos-marmosets divide-by-zero ``` 2. Click on "show details" in Apport crash UI, then close it 3. exract crash report: ``` tmpdir=$(mktemp -d) apport-unpack /var/crash/_usr_bin_divide-by-zero.1000.crash "$tmpdir" rm -rf "$tmpdir" ``` The extraction should work and not print a stack trace. [ Where problems could occur ] The change touches the problem report reading code which is used in several places. This could cause regressions in reading the problem report. [ Original report ] The crash file I'm using is as-produced by the system (on groovy), and appears to have an empty value for separator: $ grep separator /var/crash/_usr_bin_neomutt.1000.crash separator: Traceback (most recent call last): File "/usr/bin/apport-unpack", line 77, in <module> pr.extract_keys(f, bin_keys, dir) File "/usr/lib/python3/dist-packages/problem_report.py", line 269, in extract_keys raise ValueError('%s has no binary content' % ValueError: ['separator'] has no binary content ProblemType: Bug DistroRelease: Ubuntu 20.10 Package: apport 2.20.11-0ubuntu42 ProcVersionSignature: Ubuntu 5.4.0-37.41-generic 5.4.41 Uname: Linux 5.4.0-37-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu42 Architecture: amd64 CasperMD5CheckResult: skip CrashReports: 640:1000:117:1620030:2020-07-29 12:16:57.045274496 -0400:2020-07-29 12:19:15.559243636 -0400:/var/crash/_usr_bin_neomutt.1000.crash 640:1000:117:4399480:2020-07-23 10:30:21.433552906 -0400:2020-07-23 10:30:18.921508067 -0400:/var/crash/_usr_bin_pavucontrol.1000.crash 640:1000:117:29909:2020-07-29 12:19:15.603244279 -0400:2020-07-29 12:19:15.603244279 -0400:/var/crash/_usr_bin_apport-unpack.1000.crash CurrentDesktop: i3 Date: Wed Jul 29 12:22:54 2020 InstallationDate: Installed on 2019-05-07 (448 days ago) InstallationMedia: Ubuntu 18.04.2 LTS "Bionic Beaver" - Release amd64 (20190210) PackageArchitecture: all SourcePackage: apport UpgradeStatus: Upgraded to groovy on 2020-06-22 (37 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/apport/+bug/1889443/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp