[SRU] ubuntu-bug doesn't know how to file bugs against snaps

Bug #1861082 reported by Seth Arnold
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Snap Store Server
New
Undecided
Unassigned
Snapcraft
New
Undecided
Unassigned
snapd
Triaged
Medium
Unassigned
apport (Ubuntu)
Fix Released
Undecided
Lukas Märdian
Focal
Fix Released
Undecided
Unassigned

Bug Description

[Impact]
Users of Ubuntu 20.04 are not able to easily report bugs against applications provided as a snap.

[Test Case]
Install subiquity snap:
# sudo snap install subiquity --classic
subiquity 20.06.1 aus Canonical✓ installiert
# snap list | grep subiquity
subiquity 20.06.1 1938 latest/stable canonical* classic

ubuntu-bug subiquity results in message:
# LANGUAGE="en_US" apport-cli subiquity

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
...dpkg-query: no packages found matching subiquity

*** You are about to report a bug against the deb package, but you also a have snap published by canonical installed. You can contact them via https://bugs.launchpad.net/subiquity for help. Do you want to continue with the bug report against the deb?

What would you like to do? Your options are:
  Y: Yes
  N: No
  C: Cancel

=== New/Expected Result ===
ubuntu-bug <package or snap name> should ask the user if he/she wants to report the bug against the snap or deb package, if both are installed. If the snap is chosen, the "Snap" and "SnapSource" fields should be part of the report:

# LANGUAGE="en_US" apport-cli subiquity

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
...dpkg-query: no packages found matching subiquity

*** You have two versions of this application installed, which one do you want to report a bug against?

Choices:
  1: subiquity 20.06.1 (stable) snap
  2: subiquity (1938) deb package
  C: Cancel
Please choose (1/2/C): 1
.

*** Send problem report to the developers?

After the problem report has been sent, please fill out the form in the
automatically opened web browser.

What would you like to do? Your options are:
  S: Send report (46.1 KB)
  V: View report
  K: Keep report file for sending later or copying to somewhere else
  I: Cancel and ignore future crashes of this program version
  C: Cancel
Please choose (S/V/K/I/C): V

Make sure the following two fields are part of the generated report:
== Snap =================================
subiquity 20.06.1 (stable)

== SnapSource =================================
subiquity

[Regression Potential]
Small; the change adds a new add_snap_info() method to report.py and is triggered in the ui.py logic only in cases which would have otherwise lead to an error message. Furthermore, the change has been uploaded to Groovy some while ago where it is being used and tested.

[Original Bug Report]
Hello, I had problems with subiquity in the focal live server install image. I tried to use 'ubuntu-bug subiquity' to report the bug, but ubuntu-bug apparently cannot file bug reports against snaps.

This is frustrating that users need to know which portions of Ubuntu are delivered via debs, which portions are delivered by snaps, and try to find a way to report bugs correctly.

ubuntu-bug should know how to report bugs for Canonical software.

Thanks

tags: added: champagne
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in apport (Ubuntu):
status: New → Confirmed
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

So, snaps in the snapstore can declare a contact url, where one can file bug reports.

I don't see these to be exposed on the system, but maybe I don't know the localhost APIs for that.

I do wonder if there can be some standartesation done, for example, if the contact url is +filebug on a launchpad project, maybe apport should be able to file bugs against the launchpad project for that snap.

Ie. ideally ubuntu-bug core20 subiquity git-ubuntu would all work.

@snapd @snapcraft @snapstore - is there a standard for where to file bug reports, and how can apport query and use it? Can we start enforcing branced snaps to provide that?

Changed in apport (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Brian Murray (brian-murray) wrote :

I think it's worth mentioning that 'ubuntu-bug git-ubuntu' does present a dialog telling you that "it is about a snap published by canonical. Contact them via https://bugs.launchpad.net/usd-importer/+filebug for help". So apport does try to point you in the right direction.

You can see this code in apport/ui.py.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

aha, so:

$ snap info --verbose git-ubuntu | grep contact
contact: https://bugs.launchpad.net/usd-importer/+filebug

I wonder, if we can improve apport to actually upload / start filing a bug report on launchpad, if it points to a launchpad +filebug url?

Can we enforce for contact to be set to something sensible, for all Canonical published projects?

Also does apport know how to open bug reports against launchpad "upstream" (not ubuntu distro-package) projects? And i guess also github issues?

Changed in snapd:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

So, in addition to the contact: field on all seeded snaps / canonical snaps.

Re: installers
We generally do have special cases in ubuntu-bug for "debian-installer", "ubiquity", and "subiquity", as anybody should be able file bug reports against "installation". Whether or not, they are installing or completed the install. That needs more special cases in apport.

For snaps that don't declare contact.... Maybe we should direct people at the snapstore URL to try to find who published the package there? Or like direct them at "snaps-on-ubuntu" project that has lots of bugs against any snap out there?

I wonder how other distributions handle the "where to file bugs against snaps on $DISTRO".

tags: added: id-5e73c372136ba285edff6d4d
Revision history for this message
Adam Novak (interfect) wrote :

I encountered this when trying to report a bug in the snap-store, which as far as I can tell is the new default package manager. It looks pretty silly to see Apport disclaiming responsibility for the package manager.

It knows the snap is published by "canonical". Maybe everything published by "canonical" should be special-cased.

Revision history for this message
Steve Langasek (vorlon) wrote :

Based on the latest comments, "incomplete" is wrong, we have enough information here for apport to start using the contact field.

Changed in apport (Ubuntu):
status: Incomplete → Triaged
Changed in apport (Ubuntu Focal):
milestone: none → ubuntu-20.04.1
tags: removed: champagne
Lukas Märdian (slyon)
Changed in apport (Ubuntu):
assignee: nobody → Lukas Märdian (slyon)
Revision history for this message
Lukas Märdian (slyon) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 2.20.11-0ubuntu40

---------------
apport (2.20.11-0ubuntu40) groovy; urgency=medium

  * Build-depend on python3-requests-unixsocket.

 -- Brian Murray <email address hidden> Wed, 10 Jun 2020 12:30:43 -0700

Changed in apport (Ubuntu):
status: Triaged → Fix Released
Lukas Märdian (slyon)
Changed in apport (Ubuntu Focal):
assignee: nobody → Lukas Märdian (slyon)
Lukas Märdian (slyon)
description: updated
summary: - ubuntu-bug doesn't know how to file bugs against snaps
+ [SRU] ubuntu-bug doesn't know how to file bugs against snaps
Lukas Märdian (slyon)
description: updated
tags: added: id-5eeb87fddafe19544a50da51
Lukas Märdian (slyon)
Changed in apport (Ubuntu Focal):
status: Triaged → In Progress
Lukas Märdian (slyon)
Changed in apport (Ubuntu Focal):
assignee: Lukas Märdian (slyon) → nobody
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Seth, or anyone else affected,

Accepted apport into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/apport/2.20.11-0ubuntu27.4 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.

Changed in apport (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

SRU verification note:

Please, as part of the verification, check the following scenarios:
 * Running ubuntu-bug when both snap and deb are installed, fill bug against snap
 * Running ubuntu-bug when both snap and deb are installed, fill bug against deb
 * Running ubuntu-bug against a snap only (no deb installed)
 * Running ubuntu-bug against a regular deb (no relevant snap installed)

So that we make sure nothing regressed with this change. Thanks!

Revision history for this message
Brian Murray (brian-murray) wrote :

I started the SRU verification of this and I'm confused about why apport thinks I have two versions of subiquity installed.

bdmurray@clean-focal-amd64:~$ apport-cli subiquity

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
..dpkg-query: no packages found matching subiquity
.
*** You have two versions of this application installed, which one do you want to report a bug against?

Choices:
  1: subiquity 20.06.1 (stable) snap
  2: subiquity (1938) deb package
  C: Cancel
Please choose (1/2/C): c

bdmurray@clean-focal-amd64:~$ apt-cache policy subiquity
N: Unable to locate package subiquity

There is no deb of subiquity installed.

Revision history for this message
Seth Arnold (seth-arnold) wrote :

The first package I wanted to try was matterhorn -- I had some trouble with it earlier today and this was an excellent opportunity to report the bug 'formally', beyond just a pastebin on irc:

$ ubuntu-bug matterhorn

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
.dpkg-query: no packages found matching matterhorn
.

***

The problem cannot be reported:

matterhorn is provided by a snap published by popey. No contact address has been provided; visit the forum at https://forum.snapcraft.io/ for help.

Press any key to continue...
No pending crash reports. Try --help for more information.

I'm not sure if this is success or failure -- if the developer didn't put anything in, then apport can't really do anything about that, but letting developers upload without saying how to file bugs sounds unfortunate too. (But that's probably best handled elsewhere.)

Thanks

Revision history for this message
Lukas Märdian (slyon) wrote :

@brian-murray subiquity is somehow special cased via `data/package-hooks/subiquity.py` and it was that way even before we added the snap handling.

@seth-arnold Yes. Apport can only report bugs automatically if there is a launchpad project provided via the snap's contact field. Snap developers need to adopt their snap meta data accordingly.

Good examples are:
gnome-calculator
gnome-system-monitor
subiquity
git-ubuntu
...

Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (4.0 KiB)

Verification done on focal:

=== Snap only:
$ LANGUAGE=en_US apport-cli snap-store

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
...dpkg-query: no packages found matching snap-store

*** Send problem report to the developers?

After the problem report has been sent, please fill out the form in the
automatically opened web browser.

What would you like to do? Your options are:
  S: Send report (2.0 KB)
  V: View report
  K: Keep report file for sending later or copying to somewhere else
  I: Cancel and ignore future crashes of this program version
  C: Cancel
Please choose (S/V/K/I/C): V

[...]
== Snap =================================
snap-store 3.36.0-80-g208fd61 (latest/stable/ubuntu-20.04)

== SnapSource =================================
snap-store
[...]

=== Snap, for snap & deb installed
$ LANGUAGE=en_US apport-cli gnome-calculator

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
............................................
*** You have two versions of this application installed, which one do you want to report a bug against?

Choices:
  1: gnome-calculator 3.36.0+git9.96b95fd2 (stable) snap
  2: gnome-calculator 1:3.36.0-1ubuntu1 deb package
  C: Cancel
Please choose (1/2/C): 1

*** Send problem report to the developers?

After the problem report has been sent, please fill out the form in the
automatically opened web browser.

What would you like to do? Your options are:
  S: Send report (25.4 KB)
  V: View report
  K: Keep report file for sending later or copying to somewhere else
  I: Cancel and ignore future crashes of this program version
  C: Cancel
Please choose (S/V/K/I/C): V

[...]
== Snap =================================
gnome-calculator 3.36.0+git9.96b95fd2 (stable)

== SnapSource =================================
ubuntu/+source/gnome-calculator

== Tags =================================
 focal snap
[...]

=== Deb, for snap & deb installed
$ LANGUAGE=en_US apport-cli gnome-calculator

*** Collecting problem information

The collected information can be sent to the developers to improve the
application. This might take a few minutes.
..........................................
*** You have two versions of this application installed, which one do you want to report a bug against?

Choices:
  1: gnome-calculator 3.36.0+git9.96b95fd2 (stable) snap
  2: gnome-calculator 1:3.36.0-1ubuntu1 deb package
  C: Cancel
Please choose (1/2/C): 2
.

*** Send problem report to the developers?

After the problem report has been sent, please fill out the form in the
automatically opened web browser.

What would you like to do? Your options are:
  S: Send report (25.4 KB)
  V: View report
  K: Keep report file for sending later or copying to somewhere else
  I: Cancel and ignore future crashes of this program version
  C: Cancel
Please choose (S/V/K/I/C): V

[...]
== Package =================================
gnome-calculator 1:3.36.0-1ubuntu1

== SourcePackage =================================
gnome-calculator

== Tags ==============...

Read more...

tags: added: verification-done-focal
removed: verification-needed-focal
Mathew Hodson (mhodson)
Changed in apport (Ubuntu):
milestone: ubuntu-20.04.1 → none
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for apport has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 2.20.11-0ubuntu27.4

---------------
apport (2.20.11-0ubuntu27.4) focal; urgency=medium

  [ Lukas Märdian ]
  * Backport snap handling for ubuntu-bug from Groovy (LP: #1861082)
  * Build-depend on python3-requests-unixsocket.

  [ Brian Murray ]
  * data/dump_acpi_tables.py: update the output thanks to Alex Hung for the
    patch. (LP: #1883027)

 -- Brian Murray <email address hidden> Wed, 24 Jun 2020 09:57:22 -0700

Changed in apport (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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