Activity log for bug #1774843

Date Who What changed Old value New value Message
2018-06-03 07:01:55 Bart Goeman bug added bug
2018-06-06 17:16:57 Brian Murray bug task added python-apt (Ubuntu)
2018-06-06 17:23:08 Julian Andres Klode python-apt (Ubuntu): status New Invalid
2018-06-15 19:07:18 Brian Murray apport (Ubuntu): status New Triaged
2018-06-15 19:07:22 Brian Murray apport (Ubuntu): importance Undecided Medium
2019-02-18 17:33:08 Jeff Larson bug task added apport
2019-10-22 01:51:55 Brian Murray tags rls-ff-incoming
2019-12-05 17:44:44 Brian Murray nominated for series Ubuntu Focal
2019-12-05 17:44:44 Brian Murray bug task added python-apt (Ubuntu Focal)
2019-12-05 17:44:44 Brian Murray bug task added apport (Ubuntu Focal)
2019-12-05 17:44:58 Brian Murray tags rls-ff-incoming
2019-12-20 19:24:10 Francis Ginther tags id-5de941fa03cfeb8f3edbe11c
2020-04-14 18:07:49 Brian Murray affects apport (Ubuntu Focal) python3.7 (Ubuntu Focal)
2020-04-14 18:10:26 Brian Murray python3.7 (Ubuntu Focal): status Triaged Invalid
2020-04-14 18:10:38 Brian Murray bug task added python3.8 (Ubuntu)
2020-04-14 18:10:57 Brian Murray python3.8 (Ubuntu Focal): status New Invalid
2020-04-14 18:12:04 Brian Murray summary apport python exception handler messes up python3.7 apport python exception for python versions which python-apt is not built on
2020-04-14 18:12:54 Brian Murray nominated for series Ubuntu Eoan
2020-04-14 18:12:54 Brian Murray bug task added python-apt (Ubuntu Eoan)
2020-04-14 18:12:54 Brian Murray bug task added python3.7 (Ubuntu Eoan)
2020-04-14 18:12:54 Brian Murray bug task added python3.8 (Ubuntu Eoan)
2020-04-14 18:12:54 Brian Murray nominated for series Ubuntu Bionic
2020-04-14 18:12:54 Brian Murray bug task added python-apt (Ubuntu Bionic)
2020-04-14 18:12:54 Brian Murray bug task added python3.7 (Ubuntu Bionic)
2020-04-14 18:12:54 Brian Murray bug task added python3.8 (Ubuntu Bionic)
2020-04-14 18:14:37 Brian Murray python3.7 (Ubuntu Bionic): importance Undecided Medium
2020-04-14 18:14:37 Brian Murray python3.7 (Ubuntu Bionic): status New Triaged
2020-04-14 18:14:56 Brian Murray python3.7 (Ubuntu Eoan): importance Undecided Medium
2020-04-14 18:14:56 Brian Murray python3.7 (Ubuntu Eoan): status New Triaged
2020-04-14 18:16:32 Brian Murray python3.8 (Ubuntu Eoan): importance Undecided Medium
2020-04-14 18:16:32 Brian Murray python3.8 (Ubuntu Eoan): status New Triaged
2020-04-14 18:31:29 Brian Murray python3.8 (Ubuntu Bionic): status New Triaged
2020-04-14 18:31:52 Brian Murray python-apt (Ubuntu Bionic): status New Invalid
2020-04-14 18:32:21 Brian Murray python-apt (Ubuntu Eoan): status New Invalid
2020-04-14 18:32:35 Brian Murray bug added subscriber Brian Murray
2020-05-13 22:45:43 Brian Murray python-apt (Ubuntu Eoan): status Invalid In Progress
2020-05-13 22:45:43 Brian Murray python-apt (Ubuntu Eoan): assignee Brian Murray (brian-murray)
2020-05-13 22:46:04 Brian Murray affects python-apt (Ubuntu) apport (Ubuntu)
2020-05-13 22:46:19 Brian Murray apport (Ubuntu): status Invalid In Progress
2020-05-13 22:46:19 Brian Murray apport (Ubuntu): assignee Brian Murray (brian-murray)
2020-05-13 22:46:33 Brian Murray apport (Ubuntu Bionic): status Invalid In Progress
2020-05-13 22:46:33 Brian Murray apport (Ubuntu Bionic): assignee Brian Murray (brian-murray)
2020-05-13 22:50:12 Brian Murray python3.7 (Ubuntu Bionic): status Triaged Won't Fix
2020-05-13 22:50:22 Brian Murray python3.7 (Ubuntu Eoan): status Triaged Won't Fix
2020-05-13 22:50:32 Brian Murray python3.8 (Ubuntu Bionic): status Triaged Won't Fix
2020-05-13 22:50:43 Brian Murray python3.8 (Ubuntu Eoan): status Triaged Won't Fix
2020-05-13 23:18:00 Launchpad Janitor branch linked lp:~ubuntu-core-dev/ubuntu/groovy/apport/ubuntu
2020-05-13 23:35:42 Brian Murray 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' [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'
2020-05-14 01:56:33 Launchpad Janitor apport (Ubuntu): status In Progress Fix Released
2020-05-21 13:22:13 Łukasz Zemczak apport (Ubuntu Eoan): status In Progress Fix Committed
2020-05-21 13:22:15 Łukasz Zemczak bug added subscriber Ubuntu Stable Release Updates Team
2020-05-21 13:22:17 Łukasz Zemczak bug added subscriber SRU Verification
2020-05-21 13:22:20 Łukasz Zemczak tags id-5de941fa03cfeb8f3edbe11c id-5de941fa03cfeb8f3edbe11c verification-needed verification-needed-eoan
2020-05-21 13:23:36 Łukasz Zemczak apport (Ubuntu Bionic): status In Progress Fix Committed
2020-05-21 13:23:42 Łukasz Zemczak tags id-5de941fa03cfeb8f3edbe11c verification-needed verification-needed-eoan id-5de941fa03cfeb8f3edbe11c verification-needed verification-needed-bionic verification-needed-eoan
2020-05-21 18:11:24 Brian Murray tags id-5de941fa03cfeb8f3edbe11c verification-needed verification-needed-bionic verification-needed-eoan id-5de941fa03cfeb8f3edbe11c verification-done verification-done-bionic verification-done-eoan
2020-05-28 09:07:51 Łukasz Zemczak apport (Ubuntu Focal): status Invalid New
2020-05-28 09:08:27 Launchpad Janitor apport (Ubuntu Bionic): status Fix Committed Fix Released
2020-05-28 09:08:31 Łukasz Zemczak removed subscriber Ubuntu Stable Release Updates Team
2020-05-28 09:08:40 Launchpad Janitor apport (Ubuntu Eoan): status Fix Committed Fix Released
2020-06-01 16:40:07 Brian Murray 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' [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 for 18.04] 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. [Test Case for 20.04] 1) Install python3.7 and python3.8 on an Ubuntu 19.10 system 2) Upgrade from 19.10 to 20.04 LTS and keep python3.7 installed 3) 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'. [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'
2020-06-01 17:38:10 Launchpad Janitor branch linked lp:~ubuntu-core-dev/ubuntu/focal/apport/ubuntu
2020-06-01 20:35:45 Brian Murray apport (Ubuntu Focal): status New In Progress
2020-06-01 20:35:45 Brian Murray apport (Ubuntu Focal): assignee Brian Murray (brian-murray)
2020-06-05 14:17:55 Łukasz Zemczak apport (Ubuntu Focal): status In Progress Fix Committed
2020-06-05 14:17:57 Łukasz Zemczak bug added subscriber Ubuntu Stable Release Updates Team
2020-06-05 14:18:00 Łukasz Zemczak tags id-5de941fa03cfeb8f3edbe11c verification-done verification-done-bionic verification-done-eoan id-5de941fa03cfeb8f3edbe11c verification-done-bionic verification-done-eoan verification-needed verification-needed-focal
2020-06-08 17:15:52 Brian Murray tags id-5de941fa03cfeb8f3edbe11c verification-done-bionic verification-done-eoan verification-needed verification-needed-focal id-5de941fa03cfeb8f3edbe11c verification-done verification-done-bionic verification-done-eoan verification-done-focal
2020-06-17 01:15:42 Launchpad Janitor apport (Ubuntu Focal): status Fix Committed Fix Released