← Back to team overview

touch-packages team mailing list archive

[Bug 1512902] Re: apport will create .upload files for incomplete or corrupt crash reports

 

TEST CASE
--------------
1) Put the attached crash report (re /bin/sleep with the CoreDump field corrupted) in /var/crash/
2) Run ubuntu-bug /var/crash/_bin_sleep.1000.crash
3) View the details of the crash and observe an UnreportableReason indicating that the "problem report is damaged"
4) Leave "Send an error report" checked and click continue
5) Observe a _bin_sleep.1000.upload in /var/crash/

With the version of the package from -proposed a .upload file will not
be created.

REGRESSION POTENTIAL
----------------------------------
It's possible that _MarkForUpload will be set to False in more cases than it should be thereby preventing crashes from being sent to the Error Tracker. So it might also be good to SEGV a process and ensure that a .crash and .upload file are created.

-- 
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/1512902

Title:
  apport will create .upload files for incomplete or corrupt crash
  reports

Status in apport package in Ubuntu:
  Fix Released
Status in apport source package in Wily:
  Triaged

Bug description:
  SRU information appears in comment #3.

  apport will set an UnreportableReason in the following situations for
  crash reports where information collection fails or for packages that
  do not exist.  From apport/ui.py:

  1036                 try:
  1037                     icthread.exc_raise()
  1038                 except (IOError, EOFError, zlib.error) as e:
  1039                     # can happen with broken core dumps
  1040                     self.report['UnreportableReason'] = '%s\n\n%s' % (
  1041                         _('This problem report is damaged and cannot be processed.'),
  1042                         repr(e))
  1043                 except ValueError:  # package does not exist
  1044                     self.report['UnreportableReason'] = _('The report belongs to a package that is not installed.')
  1045                 except Exception as e:
  1046                     apport.error(repr(e))
  1047                     self.report['UnreportableReason'] = _('An error occurred while attempting to '
  1048                                                           'process this problem report:') + '\n\n' + str(e)

  Because an UnreportableReason exists in the report, apport will stop
  collecting information. Subsequently, there is "_MarkForUpload" is
  left as True (the default) so apport calls mark_report_upload which
  creates a .upload file such that the report which is incomplete or
  corrupt is then uploaded to the Error Tracker.

  In these cases the "_MarkForUpload" key should be set to "False"
  thereby preventing uploads to the Error Tracker.

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


References