sup-mail broken and unusable after Bionic to Focal upgrade

Bug #1888749 reported by Iain Parris on 2020-07-24
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
sup-mail (Debian)
Fix Released
Unknown
sup-mail (Ubuntu)
Medium
Iain Parris
Focal
Medium
Iain Parris

Bug Description

[Impact]

A user with the "sup-mail" package installed on Bionic (or Eoan) who upgrades to Focal will find that "sup-mail" becomes completely unusable after upgrading to Focal, i.e., immediately crashes at run-time.

This is because sup-mail is not packaged in Focal, and sup-mail 0.22.1 (version packaged in Bionic and Eoan) is not compatible with Ruby 2.7, the new system Ruby version in Focal.

sup-mail is fixed and packaged in Groovy, so SRU fix would be to similarly package sup-mail in Focal.

[Test Case]

The sup-mail package is not currently packaged in Focal.

So to simulate a Bionic to Focal upgrade, install the Bionic sup-mail package manually on Focal, and observe that sup-mail is unusable because it will immediately crash at runtime:

$ wget http://de.archive.ubuntu.com/ubuntu/pool/universe/s/sup-mail/sup-mail_0.22.1-2_all.deb
$ sudo dpkg -i ./sup-mail_0.22.1-2_all.deb
$ sudo apt -f install
$ sup-mail

Crashes immediately with an error like:
--- ArgumentError from thread: main
wrong number of arguments (given 2, expected 1)
/usr/lib/ruby/vendor_ruby/sup/logger.rb:74:in `block (2 levels) in <module:LogsStuff>'

To resolve: install fixed sup-mail package version 1.0-3 on Focal (e.g., from Groovy). Observe that there is now no crash on Focal after launching "sup-mail".

Note to SRU members: unblock sup-mail package to make sure installability tests are run on britney.

[Regression Potential]

Very low. The "sup-mail" package is currently not packaged for Focal, and is completely unusable after upgrading from Bionic (or Eoan) to Focal: a 100% repeatable immediate crash at runtime when running on Focal. Because sup-mail is currently broken and unusable after upgrading to Focal, no greater regression is possible.

"sup-mail" is a leaf package, i.e., no other packages depend on on it. So introducing a working version of sup-mail as a new package into Focal would be very low risk to break any other package.

Care will be required in choosing a version string for Focal, to ensure that it is no greater than the version string used in Groovy, in order to avoid future upgrade issues to Groovy.

[Other Info]

- I believe that introducing sup-mail into Focal would be in scope as a SRU, due to a low potential for regressing existing installations but a high potential for improving the user experience. Based on criteria as documented for SRU "Other safe cases": <https://wiki.ubuntu.com/StableReleaseUpdates#Other_safe_cases>

- I am willing to commit to ensuring that sup-mail is well-maintained in Ubuntu in future, and have subscribed myself to be notified of all new sup-mail Ubuntu bugs.

- Upstream now also has new maintainers (project & Debian package):

(1) Upstream project now has two new maintainers: see <https://github.com/sup-heliotrope/sup>. Two long-term users of Sup have now taken over the maintenance of the upstream project, after seeing the lack of Ruby 2.7 support previously. I am one of the new upstream co-maintainers <https://github.com/IPv2> and have been a long-term continuous Sup user (10+ years). The other new upstream co-maintainer is <https://github.com/danc86>, also a long-term user, and who for three years has separately been one of the downstream Fedora maintainers (<https://src.fedoraproject.org/user/dcallagh> for Fedora package "rpms/rubygem-sup"). We are actively maintaining upstream, and we released the new version 1.0 (with Ruby 2.7 support).

(2) Upstream Debian package maintained by the Debian Ruby Team now has two new named uploaders: see <https://packages.debian.org/sid/sup-mail>. I am one of the new named uploaders. Although I am new to Debian maintenance, the other maintainer is Utkarsh Gupta, who is an experienced Debian Developer.

- "sup-mail" is packaged in Bionic, Eoan, and Groovy - but not in Focal. This is because upstream sup-mail 0.22.1-3 was removed from Debian unstable on 2020-04-07 due to FTBFS with lack of Ruby 2.7 support. Then a new fixed version of sup-mail 1.0-2 was reintroduced to Debian Unstable on 2020-07-22, then sup-mail 1.0-3 to Debian Testing on 2020-07-27. sup-mail was therefore not in Debian at the time of Focal's Debian Import Freeze.

- Upstream Debian bug for crash on Ruby 2.7 is now resolved with the new sup-mail release. <https://bugs.debian.org/952089>

- I have also resolved a long-standing minor Debian packaging bug with sup-mail 1.0-3: <https://bugs.launchpad.net/bugs/1594226> (forwarded downstream to Debian BTS as <https://bugs.debian.org/966154>).

- Raised as SRU, following IRC discussion on 2020-07-23 in #ubuntu-devel with ~lucaskanashiro (IRC nick kanashiro) and ~racb (IRC nick rbasak, part of SRU team). After my commitment to keep sup-mail well-maintained in Ubuntu in future, both are provisionally supportive of SRU to Focal, subject to discussion with the wider SRU Team. IRC logs: https://irclogs.ubuntu.com/2020/07/23/%23ubuntu-devel.txt (A big thank you again, ~lucaskanashiro and ~racb!)

Iain Parris (ipv2) on 2020-07-24
Changed in sup-mail (Ubuntu):
status: New → Incomplete
description: updated
Iain Parris (ipv2) wrote :

Waiting a few days (i.e., with bug at status "Incomplete") until sup-mail package accepted into Groovy (currently in Groovy Proposed).

Iain Parris (ipv2) on 2020-07-24
summary: - sup-mail crash after Bionic to Focal upgrade
+ sup-mail broken and unusable after Bionic to Focal upgrade
Iain Parris (ipv2) on 2020-07-24
description: updated
description: updated
Iain Parris (ipv2) on 2020-07-25
description: updated
Iain Parris (ipv2) on 2020-07-28
description: updated
Changed in sup-mail (Ubuntu):
status: Incomplete → Confirmed
Iain Parris (ipv2) wrote :

Hi Lucas (~lucaskanashiro),

Huge thanks again for all your help over the past few weeks.

sup-mail 1.0-3 has now landed in Groovy: <https://launchpad.net/ubuntu/+source/sup-mail/>.

I believe that the description on this bug is complete, and in the SRU format (re: Focal SRU for sup-mail, to resolve a Bionic to Focal upgrade issue).

Question please: what happens next? :-) Do you need to do anything as sponsor first (e.g., an upload with dput), or would you like me to now subscribe ~ubuntu-sru? (And, of course, if you want me to change anything in the bug description, I'm of course happy to do so.)

Hi Iain,

The bug looks good indeed, thanks for describing all the details.

The next step is to prepare the package to be uploaded to the unapproved queue. That should be easy, you can get the package in Groovy (version 1.0-3), add a new changelog entry mentioning this is a no change rebuild for Focal (also close this bug), and run update-maintainer script from ubuntu-dev-tools (it will make Ubuntu developers the maintainer). Also check the debhelper compatibility level used in the package, in Focal we do not support 13, if the package uses 13 you can also downgrade it to 12.

Regarding the version, you can use 1.0-3~0ubuntu20.04.1. Generate the debdiff and attach it to this bug. I'll be reviewing the package and then uploading it.

After that we can subscribe the SRU team.

Again, thanks for your work and the willing to make Ubuntu better.

Iain Parris (ipv2) wrote :

Hi Lucas,

Thank you very much again.

I've followed all of the above steps, and have attached a debdiff.
- Version string: 1.0-3~0ubuntu20.04.1
- d/changelog: "No-change rebuild of sup-mail 1.0-3 from Groovy, for Focal (LP: #1888749)"
- d/control: debhelper-compat (= 12)
- update-maintainer script run

This is a debdiff for Focal applicable to sup-mail 1.0-3. I built this in pbuilder and it builds successfully, and I installed it, the patch works as intended (successful installation and usage of sup-mail 1.0-3~0ubuntu20.04.1 in a clean Focal VM).

I believe this is ready for review / upload. Over to you! :-)

Changed in sup-mail (Ubuntu):
assignee: nobody → Iain Parris (ipv2)
status: Confirmed → In Progress

The attachment "sup-mail_1.0-3~0ubuntu20.04.1.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Thomas Ward (teward) wrote :

I am reviewing your debdiff and replicating your tests then will sponsor the diff if all looks good.

Changed in sup-mail (Ubuntu):
assignee: Iain Parris (ipv2) → Thomas Ward (teward)
Changed in sup-mail (Ubuntu Focal):
assignee: nobody → Thomas Ward (teward)
status: New → In Progress
Thomas Ward (teward) on 2020-07-29
Changed in sup-mail (Ubuntu):
assignee: Thomas Ward (teward) → Iain Parris (ipv2)
Thomas Ward (teward) wrote :

Groovy has 1.0-3 currently in it, marking the Groovy task for this as "Fix Released" while I work on the Focal task. Power outage last night made me not able to complete my tests, but they're running now.

Thomas Ward (teward) wrote :

Package looks good, uploaded to -proposed, it'll need SRU team to look at it now.

Mathew Hodson (mhodson) on 2020-07-30
Changed in sup-mail (Ubuntu):
status: In Progress → Fix Released
importance: Undecided → Medium
Changed in sup-mail (Ubuntu Focal):
importance: Undecided → Medium
tags: added: packaging
Mathew Hodson (mhodson) on 2020-07-30
tags: added: upgrade-software-version
Changed in sup-mail (Debian):
status: Unknown → Fix Released
Iain Parris (ipv2) wrote :

Thomas - Thank you very much for reviewing, sponsoring, adding to the focal-proposed upload queue, and subscribing ~ubuntu-sru.

Mathew - Thanks for tidying up the bug details.

SRU Team - Thank you in advance for reviewing, and of course don't hesitate to ask if you have any questions for me.

Iain Parris (ipv2) wrote :

Hi SRU Team / Lucas,

The fix has been in the Focal upload queue for about a month now: https://launchpad.net/ubuntu/focal/+queue

This is a straightforward no-change rebuild of sup-mail from Groovy for Focal, to avoid complete breakage in a Bionic to Focal upgrade.

Has there been any progress please on the review by the SRU Team?

Hi Iain,

Sorry for the delay to release this fix, we are still depending on a SRU team member to review it. I'll try to contact someone to get this landed soon.

Robie Basak (racb) wrote :

Lucas pinged me about this. The upload isn't actually in the SRU queue - we generally review only the Unapproved queue but this upload is in the New queue because the package doesn't already exist. That's why the SRU team haven't seen this upload. Sorry for the delay - I hope this explains why!

Now that I know about it, I can review it.

Iain Parris (ipv2) wrote :

No problem at all - thank you both very much again. I really appreciate your help with this.

Sorry, I wasn't aware about the Unapproved vs New queue separation, but that makes perfect sense.

Robie Basak (racb) wrote :

Thank you for the comprehensive write-up in the bug description. This is very useful.

I have one minor complaint about the upload. Your changelog entry says that this is a "No-change" rebuild but the debhelper-compat version has been tweaked. I don't think this qualifies as "No-change"! Please adjust the changelog so it's not misleading. I appreciate that for some a "No-change" claim might be interpreted to not include a debhelper-compat change, so I'd be happy if there were just an additional line pointing out that change. Could you please paste or attach a replacement, and I'll replace the existing upload that's in the queue?

I don't see any reference to existing tests on Focal. Could you perhaps test this in a Focal PPA before we accept this to the archive please? This would be useful to verify that required dependencies are present. If there are any issues, this would save round-tripping through reviews and the archive to fix it up.

Note for the SRU team: before release, we should check that britney is happy for installability.

Normally I'd ask for an established Ubuntu development team to be committed to maintaining this package on an ongoing basis. Otherwise we might end up spending effort on this now only for the package to rot in the next release. I appreciate that you have done all you can to get as close to this request as possible. I think that given the minimal downside it's OK to give you the benefit of the doubt on the "established" part. sup-mail exists in Eoan and in Groovy, so it seems to me that restoring it in Focal will smooth things for users at little risk.

I confirmed that the package already exists in Groovy and is identical apart from the above change. The version number will work fine. I have not checked for installability problems on Focal - I'd expect that to be done in advance of upload as above, combined with britney running against Focal when the package is in focal-proposed. An archive admin may want to look deeper before accepting.

+1 from me (subject to the updated changelog and Focal-built package testing), but as this is an exceptional case I'd like a further +1 from another SRU team member. I'll ask around for a further review.

We'll also need a +1 from an archive admin as the package is in the new queue (the two additional +1s would be fine coming from a single person wearing both hats IMHO).

Iain Parris (ipv2) wrote :

Thank you very much for reviewing, for the detailed comment, and for the +1 (subject to minor changes which I'll address in this comment).

* Changelog: I've attached a debdiff. This is a debdiff for Focal applicable to sup-mail 1.0-3. The only difference compared to the previous debdiff is adding a second line to the changelog entry: "* Set debhelper-compat version to 12, required for Focal support".

* Tests on Focal: Good idea to use a PPA. I've now created ppa:ipv2/focal-sru-sup-mail with sup-mail 1.0-3~0ubuntu20.04.1~ppa1 - <https://launchpad.net/~ipv2/+archive/ubuntu/focal-sru-sup-mail/+sourcepub/11552057/+listing-archive-extra>. This is identical, except for version string. I have successfully tested in two fresh Focal VMs (one to upgrade from sup-mail 0.22-1, and one for a fresh sup-mail install).

Next steps:

(1) Please could you replace the existing upload in the queue?

(2) I know that we're looking for an additional "+1" from a person wearing two hats (SRU team member and archive admin). Thank you for asking around. Is there anything that I can do to help here?

Thank you very much again - I really appreciate your looking at this.

Iain Parris (ipv2) wrote :

Hi Robie / Lucas,

Following up on this from nearly a month ago.

Thank you again for your help with this.

What is the current state of play please?

I believe that the next steps would be: (1) to replace the existing upload in the queue (see previous comment for a proposed debdiff), and (2) do you have any person/people in mind for the additional SRU team & archive team review(s) please?

Hi Iain,

Sorry for making you wait for that long, I lost track of this bug.

I just uploaded your package to focal-proposed. I made a small change in the changelog to avoid more back and forth, I added "Backport sup-mail version 1.0-3 from Groovy to Focal" instead of "No-change rebuild of sup-mail 1.0-3 from Groovy, for Focal". I did that because you were mentioning a no-change rebuild but actually there is a change, the downgrade of debhelper compatibility level.

About the extra SRU team review, from my experience if we keep everything in place and keep ~ubuntu-sru subscribed they will get to it.

Thanks for you reminder about this bug!

Iain Parris (ipv2) wrote :

Hi Lucas & Robie,

Lucas: No problem at all - I know that there are many things on the go, and thank you again for all of your help.

Thank you for uploading to focal-proposed. I think the tweaked changelog is very clear, and I'm happy with that.

Do you have access to delete the old uploaded version from the Focal queue? The 2020-07-30 version here: https://launchpad.net/ubuntu/focal/+queue

For the extra SRU team review: Robie mentioned that the SRU team might miss the upload because it would appear in the New queue, whereas the SRU team only normally monitor the Unapproved queue.

Robie: Thank you very much again for your help too.

A month ago, you mentioned asking around for a further review from another person in the SRU team.

Have we had any volunteers please?

This is for a potential SRU to package sup-mail for Focal, now with updated changelog sitting in the Focal New queue (with thanks to Lucas): https://launchpad.net/ubuntu/focal/+queue

Thomas Ward (teward) wrote :

@lucaskanashiro: This was already uploaded by me on July 30th, no need for a second sponsor.

The SRU team and AAs seem to have lost track of it since it's in NEW now, not proposed.

Changed in sup-mail (Ubuntu Focal):
assignee: Thomas Ward (teward) → nobody
Thomas Ward (teward) on 2020-09-24
Changed in sup-mail (Ubuntu Focal):
assignee: nobody → Thomas Ward (teward)

@teward: It required a new upload because Robie (from the SRU team) requested some changes, please check comment #14 and the subsequent messages.

Thomas Ward (teward) on 2020-09-28
Changed in sup-mail (Ubuntu Focal):
assignee: Thomas Ward (teward) → nobody
status: In Progress → Confirmed
Łukasz Zemczak (sil2100) wrote :

+1 for me. I have added checking installability tests before release in the Test Case, but other than that it seems solid to me.

description: updated
Changed in sup-mail (Ubuntu Focal):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-focal

Hello Iain, or anyone else affected,

Accepted sup-mail into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/sup-mail/1.0-3~0ubuntu20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Iain Parris (ipv2) wrote :

Thank you very much, Łukasz - and thank you again to all who have looked at this bug previously.

Looks good to me.

I tested in a Focal VM. Installed sup-mail 1.0-3~0ubuntu20.04.1 from focal-proposed. Confirmed that Sup installs and runs successfully (sup-mail, sup-add, sup-sync, sup-config, etc).

I will mark as "verification-done-focal".

tags: added: verification-done-focal
removed: verification-needed verification-needed-focal
Changed in sup-mail (Ubuntu Focal):
assignee: nobody → Iain Parris (ipv2)
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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