assertion failure in POTemplateURL.__init__

Bug #135052 reported by Jeroen T. Vermeulen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Jeroen T. Vermeulen

Bug Description

See OOPS-601A1528. This one only seems to affect Translations administrators, and the failure in question was for a package with an unusual status somewhere between "upstream" and "Ubuntu." Translation files had been uploaded and it must have been in the process of resolving the situation that Carlos triggered the assert.

The assertion is in lib/canonical/launchpad/browser/potemplate.py, POTemplateURL.__init__(). The traceback says it's line 570 but at the time of writing it's moved to line 511.

The failure means that a POTemplate had both a productseries and a distroseries. The form lets you do that, although it now (2008-09-02, after the move to Storm) results in an IntegrityError instead of an assertion failure.

Related branches

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

We've only seen one failure so far. It doesn't look like a non-admin could run into it, and even then only rarely. The error did not stop Carlos from doing the job, so it's of Low importance.

Changed in rosetta:
importance: Undecided → Low
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Carlos adds that this was a simple case of unvalidated bad input by the administrator, which would not have made it into the database anyway: "I had a distroseries, a sourcepackagename and productseries at the same time."

description: updated
description: updated
Changed in rosetta:
status: New → Confirmed
tags: added: oops
tags: added: trivial
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

We just saw the twin brother of this oops: OOPS-1479EA565, OOPS-1479EB563

The root cause is the same—the POTemplateURL constructor fails the assertion that either (if a template belongs to a distroseries) productseries is None or (if the template belongs to a productseries) its distroseries is None. These conditions should be checked on input.

Changed in rosetta:
assignee: nobody → Jeroen T. Vermeulen (jtv)
milestone: none → 10.01
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Fixing in accordance with zero-oops policy.

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Bug 511097 also occurs because there's no validation for this form.

Changed in rosetta:
importance: Low → High
status: Triaged → In Progress
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Either PQM went into RC early or this branch got stuck in a testfix. :-( A fix for bug 511097 that builds on my fix for this one is waiting on my other machine.

Changed in rosetta:
milestone: 10.01 → 10.02
Changed in rosetta:
status: In Progress → Fix Committed
tags: added: qa-needstesting
tags: added: qa-ok
removed: qa-needstesting
Changed in rosetta:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.