Packages build but fail to upload due to email address issue

Bug #408528 reported by Onkar Shinde
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
High
Unassigned

Bug Description

The subject says pretty much what I know about this build failure. Build and upload log can be accessed at https://edge.launchpad.net/ubuntu/karmic/+source/lucene2/+builds

Related branches

Revision history for this message
Celso Providelo (cprov) wrote :

The traceback is available in http://launchpadlibrarian.net/29832264/vK3kLYHOztqK4D9j4T411UIoC6R.txt

It looks like PersonSet.ensurePerson() is behaving badly for email addresses already associated with SSO accounts.

In those cases EmailsAddress exists by has an empty 'person', so PersonSet.getByEmail will return None and ensurePerson will proceed with PersonSet.createPersonAndEmail() ... that will obviously explode trying to create a duplicated EmailAddress record.

IMHO, it could be fixed by replacing PS.getByEmail with a custom query on EmailAddress, which would allow the code to reuse the existing EmailAddress record and simply associate it with a new Person.

(I'm not sure if it's clear, but Soyuz need a Person FK)

affects: soyuz → launchpad-foundations
Revision history for this message
Guilherme Salgado (salgado) wrote :

Doing what Celso suggests would be fine if it wasn't for the fact that this newly created Person would make the user show up as a Launchpad user, when in fact they're just an SSO user. And we've had lots of people complain loudly about this in the past, when the auto-created Person entries used to show up as regular, user-created profiles in Launchpad.

I think we need to figure out a way to make these auto-created Person entries that have an associated Account show up in the UI as one of the auto-created ones that don't have an associated Account.

Revision history for this message
Onkar Shinde (onkarshinde) wrote :

Any update on this bug? I am having trouble uploading another package (java-gnome) for same reason.

Revision history for this message
Hew (hew) wrote :

fteqcc experienced this problem also.

Changed in launchpad-foundations:
status: New → Confirmed
Revision history for this message
Michael Bienia (geser) wrote :

'fteqcc' got also hit by this bug: http://launchpadlibrarian.net/30415956/upload_1167984_log.txt

 -> http://launchpadlibrarian.net/30415953/rdGkZnCNfI7aiF5hqHGAfYtaCHz.txt (The email address '<email address hidden>' is already registered.)

Revision history for this message
Hew (hew) wrote :

This bug is blocking fteqcc, which is blocking Nexuiz 2.5.1! Please investigate this issue.

summary: - lucene2 synced from Debian, built fine but failed to upload
+ Packages build but fail to upload due to email address issue
tags: added: motu
Revision history for this message
StefanPotyra (sistpoty) wrote :

Eventually (as we discussed today) a no-change rebuild (with a different changed-by) is enough to work around this bug. I shall try with fteqcc in a few minutes.

Revision history for this message
StefanPotyra (sistpoty) wrote :

Just to confirm comment #7: Yes, this indeed works around the bug.

Celso Providelo (cprov)
Changed in launchpad-foundations:
status: Confirmed → In Progress
Celso Providelo (cprov)
Changed in launchpad-foundations:
assignee: nobody → Celso Providelo (cprov)
Celso Providelo (cprov)
Changed in launchpad-foundations:
assignee: Celso Providelo (cprov) → nobody
importance: Undecided → High
status: In Progress → Triaged
Changed in soyuz:
assignee: nobody → Celso Providelo (cprov)
importance: Undecided → High
milestone: none → 3.0
status: New → In Progress
Revision history for this message
Celso Providelo (cprov) wrote :

r9356 (devel) -> IPersonSet.ensurePerson() now creates only the missing IPerson for existing SSO accounts. Currently it only sets 'hide_email_addresses' but once we have the 'uses_launchpad' flag it should also be handled.

Changed in soyuz:
status: In Progress → Fix Committed
Revision history for this message
William Grant (wgrant) wrote :

It would be really nice to have this on cesium too, as 3.0 is rather close to Karmic. There's also the ongoing archive rebuild, and that's hitting this quite a bit.

Celso Providelo (cprov)
Changed in soyuz:
status: Fix Committed → Fix Released
Revision history for this message
Celso Providelo (cprov) wrote :

This landed workaround in IPersonSet.ensurePerson needs extension to cover the problem with https://edge.launchpad.net/ubuntu/+source/php-kolab-filter/0.1.5-2/+build/1255703

https://edge.launchpad.net/~math-parent corresponds to an Account associated with a Person and an EmailAddress, but the EA is not linked to the Person. Since ensurePerson() follows EA.person in order to find a suitable Person, it fails.

Changed in soyuz:
status: Fix Released → In Progress
Revision history for this message
Celso Providelo (cprov) wrote :

r9608 (devel)

Changed in soyuz:
status: In Progress → Fix Committed
Changed in soyuz:
status: Fix Committed → Fix Released
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

The basic problem that we can't "look up or create" a Person for a given email address (because the email address may already be registered but without a Person attached, and we can't in good conscience create a Person who isn't using LP) is also causing oopses for Translations; see bug 411514.

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.