python3-apport will crash if current directory has been unlinked

Bug #1925478 reported by Håkan Kvist
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
New
Undecided
Unassigned

Bug Description

Description: Ubuntu 18.04.5 LTS
Release: 18.04

I have also checked the code for Ubuntu 20 and the specific code looks identical to me.

From package:python3-apport
file: /usr/lib/python3/dist-packages/apport_python_hook.py

The follwing code will crash if current directory has been removed, os.getcwd() does not like that directory is gone:
        # apport will look up the package from the executable path.
        try:
            binary = os.path.realpath(os.path.join(os.getcwd(), sys.argv[0]))
        except (TypeError, AttributeError, IndexError):
            # the module has mutated sys.argv, plan B
            try:
                binary = os.readlink('/proc/%i/exe' % os.getpid())
            except OSError:
                return

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp_6ehbyrh'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 76, in apport_excepthook
    binary = os.path.realpath(os.path.join(os.getcwd(), sys.argv[0]))
FileNotFoundError: [Errno 2] No such file or directory

The try-except condition above maybe should also contain FileNotFoundError to handle this error.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Thanks for reporting this bug. I stumbled over the same bug and reported it as bug #1979637 (since I didn't noticed your bug report). This bug is fixed in Ubuntu 22.10 (kinetic) and will be backported to Ubuntu 22.04 (jammy). If you want to have it backported to older releases, please commit in #1979637.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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