Public bug reported:
Currently any invocation of curtin that incurs an exception during the
'install' phase will trigger a path which runs the error log collection
code.
THere's a bug there which runs sys.exit() in the non-main body of the
code; Instead only subcommands _main_ methods should use sys.exit();
the collection method (create_log_tarfile) need only return.
% git diff
diff --git a/curtin/commands/collect_logs.py b/curtin/commands/collect_logs.py
index a61d91e..2078f37 100644
--- a/curtin/commands/collect_logs.py
+++ b/curtin/commands/collect_logs.py
@@ -48,6 +48,7 @@ def collect_logs_main(args):
SAVE_INSTALL_CONFIG, CURTIN_PACK_CONFIG_DIR))
cfg = CONFIG_BUILTIN.copy()
create_log_tarfile(args.output, cfg)
+ sys.exit(0)
def create_log_tarfile(tarfile, config):
@@ -104,7 +105,7 @@ def create_log_tarfile(tarfile, config):
if os.path.exists(tmp_dir):
shutil.rmtree(tmp_dir)
sys.stderr.write('Wrote: %s\n' % tarfile)
- sys.exit(0)
+ return
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: curtin 17.1-37-g82622f12-0ubuntu1
ProcVersionSignature: Ubuntu 4.13.0-32.35~16.04.1-generic 4.13.13
Uname: Linux 4.13.0-32-generic x86_64
ApportVersion: 2.20.8-0ubuntu10
Architecture: amd64
Date: Fri Feb 23 02:00:28 2018
PackageArchitecture: all
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
LANG=C.UTF-8
SourcePackage: curtin
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: curtin (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug bionic uec-images
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1751176
Title:
curtin exit codes broken by collect_logs misuse of sys.exit
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/curtin/+bug/1751176/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs