/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
26
This bug affects 2 people
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Fix Released
High
Brian Murray
Eoan
Fix Released
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/.

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

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
Revision history for this message
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.

Revision history for this message
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
Revision history for this message
Ł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.

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-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  
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.