Cycles in team data kill mailing lists

Bug #214843 reported by Barry Warsaw
4
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Barry Warsaw

Bug Description

The ubuntume.team is a member of itself. This causes a cycle in the calculation of the notification recipients for when a mailing list gets created. That causes an infinite recursion error in Python, which in turn Faults Mailman's XMLRPC runner. This means that no mailing list creations ever get acknowledged to Launchpad.

The zero-order fix is to fix the data, and that has been requested. First order fix is to refactor the XMLRPCRunner to call reportStatus() individually for each list that it's taking action on. That way if one team is hosed, it doesn't crash things for all teams.

For robustness, all reportStatus() calls should be so refactored.

OOPS-830XMLP2
Exception type RuntimeError
Exception value maximum recursion depth exceeded

Barry Warsaw (barry)
Changed in launchpad:
assignee: nobody → barry
importance: Undecided → Critical
milestone: none → 1.2.4
status: New → Confirmed
Revision history for this message
Guilherme Salgado (salgado) wrote : Re: [Bug 214843] [NEW] Cycles in team data kill mailing lists
  • unnamed Edit (189 bytes, application/pgp-signature; name=signature.asc)

Do we know how people managed to add a team as a member of itself? The
+addmember page doesn't allow that, for sure.

I think the only way would be for a member to propose the team as a
member of itself and then one of the team admins approve later.

 subscribe

description: updated
Barry Warsaw (barry)
Changed in launchpad:
importance: Critical → High
Barry Warsaw (barry)
Changed in launchpad:
status: Confirmed → In Progress
Revision history for this message
Barry Warsaw (barry) wrote :

The first order fix is working its way through pqm.

Barry Warsaw (barry)
Changed in launchpad:
status: In Progress → Fix Committed
Barry Warsaw (barry)
Changed in launchpad:
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

Bug attachments

Remote bug watches

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