← Back to team overview

touch-packages team mailing list archive

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

 

The test case for this bug fails with the version of apport from
precise-proposed with the following.

*** Error: Invalid problem report

This problem report is damaged and cannot be processed.

IOError('CRC check failed 0xfd06bf8f != 0xe96ce39bL',)

Press any key to continue...  
Traceback (most recent call last):
  File "/usr/bin/apport-cli", line 365, in <module>
    if not app.run_argv():
  File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 565, in run_argv
    self.run_crash(self.options.crash_file, False)
  File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 232, in run_crash
    self.report['_MarkForUpload'] = 'False'
TypeError: 'NoneType' object does not support item assignment

So it seems, with the IOError, that the crash would not have been
uploaded anyway. The crash happens in Precise because the correct field
is MarkForUpload not _MarkForUpload.

** Tags removed: verification-failed
** Tags added: verification-failed-precise

-- 
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 Precise:
  Fix Committed
Status in apport source package in Trusty:
  Fix Committed
Status in apport source package in Vivid:
  Fix Committed
Status in apport source package in Wily:
  Fix Committed

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