Hello Bart, 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.9 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-
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 Bionic)
       Status: In Progress => Fix Committed

** Tags added: verification-needed-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/1774843

Title:
  apport python exception for python versions which python-apt is not
  built on

Status in Apport:
  New
Status in apport package in Ubuntu:
  Fix Released
Status in python3.7 package in Ubuntu:
  Invalid
Status in python3.8 package in Ubuntu:
  Invalid
Status in apport source package in Bionic:
  Fix Committed
Status in python3.7 source package in Bionic:
  Won't Fix
Status in python3.8 source package in Bionic:
  Won't Fix
Status in apport source package in Eoan:
  Fix Committed
Status in python3.7 source package in Eoan:
  Won't Fix
Status in python3.8 source package in Eoan:
  Won't Fix
Status in apport source package in Focal:
  Invalid
Status in python3.7 source package in Focal:
  Invalid
Status in python3.8 source package in Focal:
  Invalid

Bug description:
  [Impact]
  apport's python crash handler runs for every installed version of python e.g. 
on Ubuntu 18.04 LTS it will run for crashes with python3.6 or python3.7 as an 
interpreter. However, python apt modules are only available for the the 
supported version of python so the crash handler generates an exception which 
is annoying.

  [Test Case]
  1) Install the non-default version of python3 e.g. python3.7 on Ubuntu 18.04 
LTS.
  2) Run 'python3.7 -c 'print hello' and observe a Traceback re apt_pkg not 
being found.

  With the version of python3-apport from -proposed you'll not receive
  the Traceback from step # 2.

  [Regression Potential]
  Its possible the crash handler change is incorrect so it should be confirmed 
that we still get python crashes about the system version of python. One way to 
do this is to run 'apport-cli coreutils < /dev/null'.

  [NOTE]
  It isn't necessary to fix this in Ubuntu 20.04 LTS, as there is only 
python3.8 available, so I haven't.

  [Original Description]
  it seems apport installs an exception hook whenever running python3.
  This hook is apparently installed for python3.7 too.
  This exception handler has a dependency on apt_pkg, which is a binary that is 
not compatible with python3.7 it seems (you can't import it, see below)

  As a result, whenever I run a python3.7 script and run into an exception 
(which happens often when writing code), I get an additional exception in the 
exception handler + a copy of the original exception, so three stacktraces in 
total.
  A solution would be to only install the exception hook for the system python  
i.e. python3.6

  $ lsb_release -rd
  Description:  Ubuntu 18.04 LTS
  Release:      18.04

  apport: 2.20.9-0ubuntu7
  python-apt: 1.6.0
  python3.7: 3.7.0~b3-1

  Demo with a trivial error:
  $ python3 -c 'print hello'
    File "<string>", line 1
      print hello
                ^
  SyntaxError: Missing parentheses in call to 'print'. Did you mean 
print(hello)?

  $ python3.7 -c 'print hello'
    File "<string>", line 1
      print hello
                ^
  SyntaxError: Missing parentheses in call to 'print'. Did you mean 
print(hello)?
  Error in sys.excepthook:
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in 
apport_excepthook
      from apport.fileutils import likely_packaged, get_recent_crashes
    File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in 
<module>
      from apport.report import Report
    File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
      import apport.fileutils
    File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in 
<module>
      from apport.packaging_impl import impl as packaging
    File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in 
<module>
      import apt
    File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
      import apt_pkg
  ModuleNotFoundError: No module named 'apt_pkg'

  Original exception was:
    File "<string>", line 1
      print hello
                ^
  SyntaxError: Missing parentheses in call to 'print'. Did you mean 
print(hello)?

  Python 3.6.5 (default, Apr  1 2018, 05:46:30)
  [GCC 7.3.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import sys
  >>> sys.excepthook
  <function apport_excepthook at 0x7fdf2b99a620>
  >>> import apt_pkg
  >>> apt_pkg.__file__
  '/usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so'
  >>>

  Python 3.7.0b3 (default, Mar 30 2018, 04:35:22)
  [GCC 7.3.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import sys
  >>> sys.excepthook
  <function apport_excepthook at 0x7f29a6eebea0>
  >> import apt_pkg
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  ModuleNotFoundError: No module named 'apt_pkg'

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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to