race condition merging dupe account with multiple email addresses

Bug #239838 reported by Diogo Matsubara
2
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Curtis Hovey

Bug Description

Steps to reproduce:
1. Logged-in as FooBar open: http://launchpad.dev/people/+requestmerge
2. Fill in dupe account: salgado
3. Click Submit, you'll be redirected to: http://launchpad.dev/people/+requestmerge-multiple?dupe=29
4. Open in another tab: http://launchpad.dev/~salgado/+editemails
5. Remove the unconfirmed email address: <email address hidden>
6. Back to the tab of step 3, select both emails @canonical and @ubuntu
7. Click submit
8. OOPS-893EC36

Module canonical.launchpad.browser.peoplemerge, line 300, in processForm
    assert emailaddress in self.dupeemails
AssertionError

In the process of fixing this bug, please make the AssertionError exception value more informative. Something like:
    assert emailaddress in self.dupeemails, "%s not found in %s" % (emailddress.email, [e.email for e in self.dupeemails])

Related branches

Changed in launchpad:
importance: Undecided → Low
status: New → Confirmed
Curtis Hovey (sinzui)
Changed in launchpad-registry:
status: Confirmed → Triaged
Curtis Hovey (sinzui)
tags: added: merge-deactivate
removed: registry
Revision history for this message
Curtis Hovey (sinzui) wrote :

The assert is made before the form starts doing work. The assert can be changed to a sanity check that returns early if it is not safe to precede. The step should show a form error to explain why the user needs to reselect the email addresses.

Changed in launchpad-registry:
assignee: nobody → Curtis Hovey (sinzui)
status: Triaged → In Progress
importance: Low → High
milestone: none → 10.10
Curtis Hovey (sinzui)
Changed in launchpad-registry:
status: In Progress → Fix Committed
Revision history for this message
Launchpad QA Bot (lpqabot) wrote : Bug fixed by a commit
tags: added: qa-needstesting
Curtis Hovey (sinzui)
tags: added: qa-ok
removed: qa-needstesting
Curtis Hovey (sinzui)
Changed in launchpad-registry:
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.