Comment 7 for bug 453203

Revision history for this message
Gavin Panella (allenap) wrote :

Okay, the cause is that the blob uploaded has invalid data in it. Here's a fragment of one part of the report:

  ...
  dmi.board.name: LENOVO
  dmi.board.vendor: LENOVO
  dmi.chassis.asset.tag: <<< gibberish here >>>
  dmi.chassis.type: 6
  dmi.chassis.vendor: LENOVO
  ...

The Python repr of characters 790 to 840 of this part of the report is:

  'asset.tag: \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ndmi.chassis.t'

In other words, the dmi.chassis.asset.tag value is 25 bytes of ff.

We can work around this on Launchpad by doing:

  inline_content.decode(charset, 'ignore')

However, apport should probably be fixed to ensure the report contains
only content that's valid for the declared charset. It may even be
interesting to record that the value for a field in the report is
invalid.