/usr/share/apport/whoopsie-upload-all:PermissionError:/usr/share/apport/whoopsie-upload-all@168:collect_info:process_report

Bug #1848064 reported by errors.ubuntu.com bug bridge on 2019-10-14
26
This bug affects 2 people
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
High
Brian Murray
Eoan
High
Brian Murray

Bug Description

[Impact]
whoopsie-upload-all is not collecting data for existing crash reports which are not owned by root if /proc/sys/fs/protected_regular is set to 1. Subsequently, the crash reports are incomplete and not getting uploaded to the Error Tracker therefore Ubuntu developers may be missing out on important crash reports.

[Test Case]
1) Confirm /proc/sys/fs/protected_regular is set to 1.
2) Run an application as your user and cause it to crash. (kill -11 $APP)
3) Confirm there is a crash report in /var/crash
4) Run 'sudo /usr/share/apport/whoopsie-upload-all'
5) Observe the Traceback in this bug report is produced by whoopsie-upload-all.

With the version of apport from -proposed the Traceback will not occur and a .uploaded file will be created for the corresponding .crash file.

[Regression Potential]
Not all systems may have /proc/sys/fs/protected_regular set to 1, so we should also test the case where /proc/sys/fs/protected_regular is set to 0. This can be done by manually changing the value and running through the test case above and confirming that a .uploaded file is created for the .crash file.

Original Description
--------------------
The Ubuntu Error Tracker has been receiving reports about a problem regarding apport. This problem was most recently seen with package version 2.20.11-0ubuntu8, the problem page at https://errors.ubuntu.com/problem/d9f09f3b3e7aa8ab77434ef30f33416a856971ae contains more details, including versions of packages affected, stacktrace or traceback, and individual crash reports.
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://forms.canonical.com/reports/.

Sebastien Bacher (seb128) wrote :

It's the most reported 19.10 issue on e.u.c at the moment

Changed in apport (Ubuntu):
importance: Undecided → High
tags: added: rls-ee-incoming
tags: removed: rls-ee-incoming
Changed in apport (Ubuntu Eoan):
importance: Undecided → High
status: New → Confirmed
Changed in apport (Ubuntu):
status: New → Confirmed
tags: added: id-5db1d6f13d7e2c1b89dbb9de
tags: added: focal
Brian Murray (brian-murray) wrote :

I personally noticed this with a crash file with the following permissions:

-rw-r----- 1 bdmurray whoopsie 194K Feb 7 15:22 _usr_bin_seeded-in-ubuntu.1000.crash

whoopsie-upload-all, which runs as root, is unable to append to the crash file due to /proc/sys/fs/protected_regular being set to 1. Changing that file to 0 allows whoopsie-upload-all to run. Here's a simple test case, thanks Steve!

# echo 0 > /proc/sys/fs/protected_regular
# python3 -c "foo = open('/var/crash/_usr_bin_reportbug.1000.crash', 'ab')"
# echo 1 > /proc/sys/fs/protected_regular
# python3 -c "foo = open('/var/crash/_usr_bin_reportbug.1000.crash', 'ab')"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: '/var/crash/_usr_bin_reportbug.1000.crash'

Changed in apport (Ubuntu):
assignee: nobody → Brian Murray (brian-murray)
status: Confirmed → In Progress
Launchpad Janitor (janitor) wrote :

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

---------------
apport (2.20.11-0ubuntu18) focal; urgency=medium

  * data/whoopsie-upload-all: append to the crash report using fdopen and open
    from os to cope with protected_regular being set to 1. (LP: #1848064)

 -- Brian Murray <email address hidden> Sat, 22 Feb 2020 06:56:37 -0800

Changed in apport (Ubuntu):
status: In Progress → Fix Released
Changed in apport (Ubuntu Eoan):
status: Confirmed → In Progress
assignee: nobody → Brian Murray (brian-murray)
description: updated
description: updated

Hello errors.ubuntu.com, or anyone else affected,

Accepted apport into eoan-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/apport/2.20.11-0ubuntu8.5 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 and change the tag from verification-needed-eoan to verification-done-eoan. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-eoan. 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 Eoan):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-eoan
Brian Murray (brian-murray) wrote :

bdmurray@clean-eoan-amd64:~$ apt-cache policy apport
apport:
  Installed: 2.20.11-0ubuntu8.5
  Candidate: 2.20.11-0ubuntu8.5
  Version table:
 *** 2.20.11-0ubuntu8.5 500
        500 http://archive.ubuntu.com/ubuntu eoan-proposed/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu eoan-proposed/main i386 Packages
        100 /var/lib/dpkg/status
bdmurray@clean-eoan-amd64:~$ sudo cat /proc/sys/fs/protected_regular
0
bdmurray@clean-eoan-amd64:~$ sudo /usr/share/apport/whoopsie-upload-all
/var/crash/_usr_share_dput_execute-dput.1000.crash already marked for upload, skipping
Collecting info for /var/crash/_usr_bin_screen.1000.crash...
Marking /var/crash/_usr_bin_screen.1000.crash for whoopsie upload
All reports processed

With the version of apport in -proposed we can see that crash reporting still works with /proc/sys/fs/protected_regular set to 0.

Brian Murray (brian-murray) wrote :

We can also see that crash reporting works with /proc/sys/fs/protected_regular set to 1.

bdmurray@clean-eoan-amd64:~$ sudo cat /proc/sys/fs/protected_regular
1
bdmurray@clean-eoan-amd64:~$ sudo /usr/share/apport/whoopsie-upload-all
Collecting info for /var/crash/_usr_share_dput_execute-dput.1000.crash...
Marking /var/crash/_usr_share_dput_execute-dput.1000.crash for whoopsie upload
All reports processed
bdmurray@clean-eoan-amd64:~$ apt-cache policy apport
apport:
  Installed: 2.20.11-0ubuntu8.5
  Candidate: 2.20.11-0ubuntu8.5
  Version table:
 *** 2.20.11-0ubuntu8.5 500
        500 http://archive.ubuntu.com/ubuntu eoan-proposed/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu eoan-proposed/main i386 Packages

tags: added: verification-done verification-done-eoan
removed: verification-needed verification-needed-eoan
Łukasz Zemczak (sil2100) wrote :

Ok, the verification looks good. As per request I will be releasing this slightly earlier - I think 5+ days is enough of a wait anyway.

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.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 2.20.11-0ubuntu8.5

---------------
apport (2.20.11-0ubuntu8.5) eoan; urgency=medium

  * data/whoopsie-upload-all: append to the crash report using fdopen and open
    from os to cope with protected_regular being set to 1. (LP: #1848064)

  [ Michael Hudson-Doyle ]
  * Fix autopkgtest failures since recent security update: (LP: #1854237)
    - Fix regression in creating report for crashing setuid process by getting
      kernel to tell us the executable path rather than reading
      /proc/[pid]/exe.
    - Fix deletion of partially written core files.
    - Fix test_get_logind_session to use new API.
    - Restore add_proc_info raising ValueError for a dead process.
    - Delete test_lock_symlink, no longer applicable now that the lock is
      created in a directory only root can write to.

 -- Brian Murray <email address hidden> Mon, 24 Feb 2020 09:38:55 -0800

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

Duplicates of this bug

Other bug subscribers