Comment 9 for bug 1025381

Revision history for this message
Daniel Manrique (roadmr) wrote :

OK, so this was apparently observed on system https://certification.canonical.com/hardware/201112-10215, I found the relevant traceback server-side:

Traceback (most recent call last):
  File "./src/canonical/certify/message/messageapis.py", line 230, in _run
    self.handle(message["type"], message)
  File "./src/canonical/message/api.py", line 57, in handle
    return handler(type, body)
  File "./src/canonical/checkbox/arguments.py", line 82, in replacement
    return original(*new_args, **new_kwargs)
  File "./src/canonical/certify/message/handlers/device.py", line 49, in __call__
    device_values, self._submission.info.creation_time)
  File "./src/canonical/certify/model/device.py", line 644, in get_device_states
    value.category_name)
  File "./src/canonical/certify/model/device.py", line 599, in get_device
    product_id, vendor_id, subproduct_id, subvendor_id)
  File "./src/canonical/certify/model/device.py", line 580, in get_product
    vendor = bus.get_vendor(vendor_name, vendor_id)
  File "./src/canonical/certify/model/device.py", line 139, in get_vendor
    DeviceVendor.name == vendor_name).one()
  File "/srv/certification.canonical.com/certify-storm/storm/store.py", line 1141, in one
    result = self._store._connection.execute(select)
  File "/srv/certification.canonical.com/certify-storm/storm/databases/postgres.py", line 249, in execute
    return Connection.execute(self, statement, params, noresult)
  File "/srv/certification.canonical.com/certify-storm/storm/database.py", line 237, in execute
    raw_cursor = self.raw_execute(statement, params)
  File "/srv/certification.canonical.com/certify-storm/storm/databases/postgres.py", line 259, in raw_execute
    return Connection.raw_execute(self, statement, params)
  File "/srv/certification.canonical.com/certify-storm/storm/database.py", line 321, in raw_execute
    self._check_disconnect(raw_cursor.execute, *args)
  File "/srv/certification.canonical.com/certify-storm/storm/database.py", line 366, in _check_disconnect
    return function(*args, **kwargs)
DataError: invalid input syntax for type bytea
LINE 1: ...vendor.vendor_id > 65535 AND device_vendor.name = E'USB\\x20...

To reproduce, use the submission.xml from comment #4 and do something like:

checkbox-certification-submit -v --hwid a00D000000LU9Jd submission.xml

I tried this from a checkbox trunk with the latest checkbox-certification-submit from checkbox-certification, and I got the same local Inconsistent Message, plus matching server-side output :)

I'll set this to Triaged since we have steps to reproduce and a nice error log on the server.