apport's cloud-init-specific handling tracebacks on minimal cloud images

Bug #1861451 reported by Dan Watkins on 2020-01-30
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Brian Murray
Focal
Undecided
Unassigned

Bug Description

Impact
------
It is not possible to run ubuntu-bug for some packages which gather information as root because pkexec does not work in non-graphical environments (LP: #1821415). This was worked around in Ubuntu 19.10 by not gathering any information that would require root access.

Test Case
---------

1) Install multipass.
2) `multipass launch http://cloud-images.ubuntu.com/minimal/daily/bionic/current/bionic-minimal-cloudimg-amd64.img -n reproducer`
3) `multipass shell reproducer`
4) `ubuntu-bug cloud-init`

Expected behaviour:

Usual bug reporting flow (though, currently, I would really expect to see just the issue reported in bug 1861450).

Actual behaviour:

ERROR: hook /usr/share/apport/package-hooks/cloud-init.py crashed:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport/report.py", line 198, in _run_hook
    symb['add_info'](report, ui)
  File "/usr/share/apport/package-hooks/cloud-init.py", line 6, in add_info
    return cloudinit_add_info(report, ui)
  File "/usr/lib/python3/dist-packages/cloudinit/apport.py", line 123, in add_info
    attach_cloud_init_logs(report, ui)
  File "/usr/lib/python3/dist-packages/cloudinit/apport.py", line 57, in attach_cloud_init_logs
    'cloud-init-output.log.txt': 'cat /var/log/cloud-init-output.log'})
  File "/usr/lib/python3/dist-packages/apport/hookutils.py", line 444, in attach_root_command_outputs
    sp = subprocess.Popen(_root_command_prefix() + [wrapper_path, script_path])
  File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'pkexec': 'pkexec'

(As alluded to above, this also demonstrates bug 1861450 after the traceback is emitted.)

Regression Potential
--------------------
Little as we are just returning and empty list if pkexec is not available, however it is always possible that the code is misformated or that there is a logic error in it. A regression test would be to run the ubuntu-bug cloud-init on a system with pkexec installed.

tags: added: rls-ff-incoming
tags: added: focal
removed: rls-ff-incoming
tags: added: id-5e3c4d71dc61a969457f7c09
Brian Murray (brian-murray) wrote :

This actually only affects Ubuntu 18.04.

Changed in apport (Ubuntu Focal):
status: New → Invalid
Changed in apport (Ubuntu):
status: New → Fix Released
Changed in apport (Ubuntu Bionic):
status: New → In Progress
assignee: nobody → Brian Murray (brian-murray)
description: updated
description: updated

Hello Dan, or anyone else affected,

Accepted apport into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/apport/2.20.9-0ubuntu7.17 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-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. 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 Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-bionic

All autopkgtests for the newly accepted apport (2.20.9-0ubuntu7.17) for bionic have finished running.
The following regressions have been reported in tests triggered by the package:

apport/2.20.9-0ubuntu7.17 (amd64, i386)
ubuntu-release-upgrader/1:18.04.38 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/bionic/update_excuses.html#apport

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Brian Murray (brian-murray) wrote :

I tested this in an Ubuntu 18.04 lxc container and removed the policykit-1 package. With the version of apport in -updates I received the Traceback which appears in the bug description. After that I installed the version of apport from -proposed and I did not receive a Traceback.

ubuntu@darling-horse:~$ apt-cache policy apport
apport:
  Installed: 2.20.9-0ubuntu7.17
  Candidate: 2.20.9-0ubuntu7.17
  Version table:
 *** 2.20.9-0ubuntu7.17 500
        500 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 Packages
        100 /var/lib/dpkg/status
     2.20.9-0ubuntu7.16 500
        500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     2.20.9-0ubuntu7 500
        500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 2.20.9-0ubuntu7.17

---------------
apport (2.20.9-0ubuntu7.17) bionic; urgency=medium

  [ Brian Murray ]
  * apport/hookutils.py: workaround the fact that pkexec does not work in
    non-graphical environments yet (LP #1821415) by skipping the gathering of
    information as root because it isn't strictly necessary for a bug report.
    (LP: #1861451)

  [ Matthieu Clemenceau ]
  * Add in a source package hook symlink for linux-firmware. (LP: #1872059)

 -- Brian Murray <email address hidden> Wed, 05 Aug 2020 18:08:39 -0700

Changed in apport (Ubuntu Bionic):
status: Fix Committed → Fix 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.

tags: added: fr-191
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers