[Bug 1925478] [NEW] python3-apport will crash if current directory has been unlinked

HÃ¥kan Kvist 1925478 at bugs.launchpad.net
Thu Apr 22 11:17:16 UTC 2021


Public bug reported:

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.

** Affects: apport (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/1925478

Title:
  python3-apport will crash if current directory has been unlinked

Status in apport package in Ubuntu:
  New

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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1925478/+subscriptions



More information about the foundations-bugs mailing list