unable to report an 18.04 crash from a 19.04 system

Bug #1833795 reported by Brian Murray
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
New
Undecided
Unassigned

Bug Description

I had a distribution upgrade crash when I was trying to upgrade from 18.04 to 19.10 and a .crash was generated. I didn't want to report it from the system which crashed so I ran apport (to do the data collection) and saved the information in the report. I then copied it over to another system which is running Ubuntu 19.04 and I could not report the crash as I received the following crash.

 $ ubuntu-bug tmp/_usr_bin_do-release-upgrade.0.crash
Traceback (most recent call last):
  File "/usr/share/apport/apport-gtk", line 597, in <module>
    app.run_argv()
  File "/usr/lib/python3/dist-packages/apport/ui.py", line 704, in run_argv
    self.run_crash(self.options.crash_file, False)
  File "/usr/lib/python3/dist-packages/apport/ui.py", line 291, in run_crash
    if not self.report and not self.load_report(report_file):
  File "/usr/lib/python3/dist-packages/apport/ui.py", line 1375, in load_report
    self.report.load(f, binary='compressed')
  File "/usr/lib/python3/dist-packages/problem_report.py", line 144, in load
    block = base64.b64decode(line)
  File "/usr/lib/python3.7/base64.py", line 87, in b64decode
    return binascii.a2b_base64(s)
binascii.Error: Incorrect padding

I've attached the problematic crash file, although I don't really think it is the crash file that is the issue.

Tags: disco
Revision history for this message
Brian Murray (brian-murray) wrote :
Revision history for this message
Brian Murray (brian-murray) wrote :

I was able to workaround the issue by modifying problem_report.py:

--- problem_report.py 2018-09-17 01:06:20.394711000 -0700
+++ /usr/lib/python3/dist-packages/problem_report.py 2019-06-21 11:40:49.235500124 -0700
@@ -140,7 +140,7 @@ class ProblemReport(UserDict):
                     continue
                 assert (key is not None and value is not None)
                 if b64_block:
- block = base64.b64decode(line)
+ block = base64.b64decode(line + b"=======")
                     if bd:
                         value += bd.decompress(block)
                     else:

tags: added: disco
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.