HWSubmissionMissingFields OOPS on +hwdb/+submit

Bug #438671 reported by Ursula Junque on 2009-09-29
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox
Undecided
Marc Tardif
Launchpad itself
Undecided
Unassigned

Bug Description

As seen on OOPS-1364A1271:
  HWSubmissionMissingFields: Missing form fields: submission_key, system

Also: OOPS-1364E3044, OOPS-1364F2973, OOPS-1364F3190

OOPS-1368F928 can be related:
   HWSubmissionMissingFields: Missing form fields: architecture, distribution, distroseries, submission_key, system

Related branches

Abel Deuring (adeuring) wrote :

This is a kind of a successor of bug #357316

When checkbox submits HWDB reports, it sometimes omits some fields expected by Launchpad.

Martin Pitt (pitti) wrote :

I saw this this morning, when I wiped ~/.cache/checkbox/ to re-submit my report (the previous submission reference was invalid).

Changed in checkbox:
status: New → Confirmed
Ursula Junque (ursinha) on 2009-09-30
description: updated
Abel Deuring (adeuring) wrote :

Marking this as "won't fix" for Malone: We can't do much on the server side when the client does not provide data expcected by Launchpad.

More specifically, the OOPS/execption HWSubmissionMissingFields is intended to track if/how often the client sends incomplete data. Hence: Thanks for adding more OOPS reports, Ursula!

Changed in malone:
status: New → Won't Fix
Ursula Junque (ursinha) wrote :

In what concerns the Zero OOPS policy, this isn't a real problem. We should fix bug 446660 so these OOPS won't appear in the OOPS summaries anymore.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 16.10.2009 16:28, Ursula Junque wrote:
> In what concerns the Zero OOPS policy, this isn't a real problem. We
> should fix bug 446660 so these OOPS won't appear in the OOPS summaries
> anymore.
>

Already done :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFK2MHGekBPhm8NrtARAkApAJ9HcKWC6mCMNNDiUIVryjUI44uuCQCdG2c9
NwFNpQ6Qahjrso3qcTRaZHI=
=Gv6H
-----END PGP SIGNATURE-----

Marc Tardif (cr3) wrote :

If Checkbox does not attach the information required by Launchpad, I would be perfectly comfortable for Launchpad to reject the submission. Ideally, this should occur when Checkbox submits the information so that the user can report a bug accordingly. If Checkbox has missed some information in the past, this should be considered a temporary bug which is currently fixed. The following fields were sent along with my latest submission:

  'field.architecture': 'amd64',
  'field.live_cd': 'False',
  'field.distribution': 'Ubuntu',
  'field.date_created': '2009-10-26T19:04:33',
  'field.emailaddress': '<email address hidden>',
  'field.submission_key': '6c4a158858839ee970f489c587f2c6e4',
  'field.system': 'bb422ca46d02494cdbc459927a98bc2f',
  'field.distroseries': '9.04',
  'field.actions.upload': 'Upload',
  'field.private': 'False',
  'field.format': 'VERSION_1',
  'field.contactable': 'False'

Changed in checkbox:
status: Confirmed → Fix Released
assignee: nobody → Marc Tardif (cr3)
Abel Deuring (adeuring) wrote :

Marc,

i believe you that you lastest submissions suceeded. Most POSTs from checkbox to https://launchpad.net/+hwdb/+submit succeed.
But are you sure that you could fix the problem? I found these OOPSes in the LP error reports from the last days, all caused by missing fields:

2009-10-25: OOPS-1394A2523, OOPS-1394C1853, OOPS-1394E1293, OOPS-1394E2051, OOPS-1394F1310

2009-10-24: OOPS-1393A1307, OOPS-1393A1308, OOPS-1393A1418, OOPS-1393A2073, OOPS-1393A2076

2009-10-23: OOPS-1392A1067, OOPS-1392B1070, OOPS-1392C2588, OOPS-1392E589, OOPS-1392H633

2009-10-22: : OOPS-1391B2665, OOPS-1391D2768, OOPS-1391G1653, OOPS-1391G3119, OOPS-1391G3121

2009-10-21: OOPS-1390A2743, OOPS-1390A3024, OOPS-1390B3113, OOPS-1390C1763, OOPS-1390D1821

I think there are two things you can check:

1. Before LaunchpadExchange.launchpad_exchange() submits the data, ensure that dictionary self._form has all the items you mentioned. Note that several fields are _not_ initially set in LaunchpadExchange.register(), but only later in methods like LaunchpadExchange.LaunchpadExchange.().

2. Check the response headers in LaunchpadExchange.launchpad_exchange(). http://bazaar.launchpad.net/%7Elaunchpad-pqm/launchpad/db-devel/download/head%3A/01submitdata.txt-20070810091007-2jyzrcjbf3wfz31e-2/01-submit-data.txt
(Cheicking the header would be a good idea anyway, for example in order to detect if the submission_key set by checkbox is already used.)

Abel Deuring (adeuring) wrote :

I wrote:

> 1. Before LaunchpadExchange.launchpad_exchange() submits the data, ensure
> that dictionary self._form has all the items you mentioned. Note that
> several fields are _not_ initially set in LaunchpadExchange.register(),
> but only later in methods like LaunchpadExchange.LaunchpadExchange.().

copy&paste mistake. That should be LaunchpadExchange.launchpad_exchange().

Abel Deuring (adeuring) wrote :

sigh, it's too late (0:30pm) to write comments...

> copy&paste mistake. That should be LaunchpadExchange.launchpad_exchange()

still wrong... I meant LaunchpadExchange.report_architecture() and similar methods

Marc Tardif (cr3) wrote :

If I understand correctly, it would be desirable to add client side validation of the form before submitting to Launchpad. This would be quite easy to implement using the concept of properties already available in Checkbox. I have pushed a preliminary branch for your review to make sure that the field requirements are set properly, it seems that only field.live_cd is optional. Let me know what you think and whether this fix should be adequate to close this bug.

Abel Deuring (adeuring) wrote :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 27.10.2009 15:37, Marc Tardif wrote:
> If I understand correctly, it would be desirable to add client side
> validation of the form before submitting to Launchpad. This would be

Right. It is up to you, but considering that Launchpad receives 10 or 20
POSTs per day, I think it makes sense at least to see if self._form
looks complete before launchpad_exchange() starts the POST request.

> quite easy to implement using the concept of properties already
> available in Checkbox. I have pushed a preliminary branch for your
> review to make sure that the field requirements are set properly, it
> seems that only field.live_cd is optional. Let me know what you think

no, each field is required, including field.live_cd.

> and whether this fix should be adequate to close this bug.
>

Well, if you are sure that you found the cause of the problem, let's
close the bug. We can later check if OOPSes we see in the future only
come from "sufficiently old" versions of checkbox.

But there is another point, perhaps for another bug: Several things can
go wrong, when checkbox issues its POST to Launchpad, see the doc test I
mentioned earlier for details. For example, checkbox might use a
submission_key value that is already used in the database. Admittedly,
this is not very likely, but not impossible.

I think it would be good if launchpad_exchange() checked the value of
the X-Launchpad-Hwdb-Submission header in order to see if the POST was
successful. (Note that the HTTP status code is always 200, even if LP
rejects the submitted data.)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFK5yLIekBPhm8NrtARAjIMAJ4sSzxWxjFu6P4ucVauzIKr1++UZgCffuAz
BD1ovA76hzPnKxDLzL3YqWQ=
=jhNJ
-----END PGP SIGNATURE-----

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers