Bug 7721 - Keyboard interrupt during tl-setup subcommands gives a traceback
Summary: Keyboard interrupt during tl-setup subcommands gives a traceback
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Server Installer (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Bugzilla mail exporter
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-06-02 13:50 CEST by Niko Lehto
Modified: 2021-08-24 13:06 CEST (History)
0 users

See Also:
Acceptance Criteria:


Attachments

Description Niko Lehto cendio 2021-06-02 13:50:44 CEST
We will get a traceback about unhandled 'KeyboardInterrupt' if SIGINT (Ctrl-C) is sent during the package resolving step.

I found this on 4.12.0 and on jenkins build 2108 on Fedora 33 using GUI mode.
To reproduce this, send a SIGINT during the step "Library and binary requirements - Resolving dependencies" of tl-setup in GUI mode.

The traceback we will get:
>2021-06-02 13:22:39,568: AppArmor disabled or not present
>2021-06-02 13:22:39,568: System checks done.
>2021-06-02 13:22:45,692: Resolving packages...
>2021-06-02 13:22:47,224: tl-setup aborted by user
>2021-06-02 13:22:47,415: Traceback (most recent call last):
>2021-06-02 13:22:47,415:   File "/opt/thinlinc/libexec/dnfhelper", line 214, in <module>
>2021-06-02 13:22:47,415:     main()
>2021-06-02 13:22:47,415:   File "/opt/thinlinc/libexec/dnfhelper", line 205, in main
>2021-06-02 13:22:47,416:     do_resolve(sys.argv[2:])
>2021-06-02 13:22:47,416:   File "/opt/thinlinc/libexec/dnfhelper", line 69, in do_resolve
>2021-06-02 13:22:47,416:     _prepare_transaction(base, pkgs)
>2021-06-02 13:22:47,416:   File "/opt/thinlinc/libexec/dnfhelper", line 46, in _prepare_transaction
>2021-06-02 13:22:47,416:     base.fill_sack()
>2021-06-02 13:22:47,416:   File "/usr/lib/python3.9/site-packages/dnf/base.py", line 397, in fill_sack
>2021-06-02 13:22:47,552:     self._add_repo_to_sack(r)
>2021-06-02 13:22:47,553:   File "/usr/lib/python3.9/site-packages/dnf/base.py", line 144, in _add_repo_to_sack
>2021-06-02 13:22:47,553:     self._sack.load_repo(repo._repo, build_cache=True, **mdload_flags)
>2021-06-02 13:22:47,553: KeyboardInterrupt
>2021-06-02 13:22:47,588: Failure resolving packages.
I suppose this only affects systems using dnf (due to error from dnfhelper).
Comment 1 Niko Lehto cendio 2021-06-02 13:53:06 CEST
Worth noting that this SIGINT must happen during the loading animation before we present which packages are to be installed.
Comment 2 Niko Lehto cendio 2021-06-02 14:06:42 CEST
This seems to happen when we get a keyboard interrupt during subcommands run in tl-setup, not just dnfhelper. I get the following traceback if I send a SIGINT during Firewall configuration:

>2021-06-02 13:59:48,281: Creating firewall service 'tlwebaccess' using ports 300:TCP
>2021-06-02 13:59:49,096: Enable firewall service 'tlwebaccess'
>2021-06-02 13:59:50,021: tl-setup aborted by user
>2021-06-02 13:59:50,181: Failed to enable firewall service tlwebaccess
>2021-06-02 13:59:50,181:     Traceback (most recent call last):
>2021-06-02 13:59:50,181:       File "/usr/bin/firewall-cmd", line 40, in <module>
>2021-06-02 13:59:50,182:         from firewall.core.io.zone import zone_reader
>2021-06-02 13:59:50,182:       File "/usr/lib/python3.9/site-packages/firewall/core/io/zone.py", line 32, in <module>
>2021-06-02 13:59:50,182:         from firewall.core.io.io_object import PY2, IO_Object, \
>2021-06-02 13:59:50,182:       File "/usr/lib/python3.9/site-packages/firewall/core/io/io_object.py", line 29, in <module>
>2021-06-02 13:59:50,182:         import xml.sax.saxutils as saxutils
>2021-06-02 13:59:50,182:       File "/usr/lib64/python3.9/xml/sax/saxutils.py", line 6, in <module>
>2021-06-02 13:59:50,183:         import os, urllib.parse, urllib.request
>2021-06-02 13:59:50,183:       File "/usr/lib64/python3.9/urllib/request.py", line 88, in <module>
>2021-06-02 13:59:50,183:         import http.client
>2021-06-02 13:59:50,183:       File "/usr/lib64/python3.9/http/client.py", line 71, in <module>
>2021-06-02 13:59:50,183:         import email.parser
>2021-06-02 13:59:50,183:       File "/usr/lib64/python3.9/email/parser.py", line 12, in <module>
>2021-06-02 13:59:50,183:         from email.feedparser import FeedParser, BytesFeedParser
>2021-06-02 13:59:50,184:       File "/usr/lib64/python3.9/email/feedparser.py", line 27, in <module>
>2021-06-02 13:59:50,184:         from email._policybase import compat32
>2021-06-02 13:59:50,184:       File "/usr/lib64/python3.9/email/_policybase.py", line 9, in <module>
>2021-06-02 13:59:50,184:         from email.utils import _has_surrogates
>2021-06-02 13:59:50,184:       File "/usr/lib64/python3.9/email/utils.py", line 30, in <module>
>2021-06-02 13:59:50,184:         import datetime
>2021-06-02 13:59:50,184:       File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>2021-06-02 13:59:50,185:       File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
>2021-06-02 13:59:50,185:       File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
>2021-06-02 13:59:50,185:       File "<frozen importlib._bootstrap_external>", line 786, in exec_module
>2021-06-02 13:59:50,185:       File "<frozen importlib._bootstrap_external>", line 918, in get_code
>2021-06-02 13:59:50,185:       File "<frozen importlib._bootstrap_external>", line 587, in _compile_bytecode
>2021-06-02 13:59:50,185:     KeyboardInterrupt
>2021-06-02 13:59:50,185: Creating firewall service 'tlwebadm' using ports 1010:TCP
>2021-06-02 13:59:51,083: Enable firewall service 'tlwebadm'
>2021-06-02 13:59:52,228: Creating firewall service 'tlmaster' using ports 9000:TCP
>2021-06-02 13:59:53,170: Enable firewall service 'tlmaster'
>2021-06-02 13:59:54,308: Creating firewall service 'tlagent' using ports 904:TCP
>2021-06-02 13:59:55,202: Enable firewall service 'tlagent'
>2021-06-02 13:59:56,215: Enable system firewall service 'ssh'
>2021-06-02 13:59:57,321: failed to configure firewall.

Note You need to log in before you can comment on or make changes to this bug.