While it is helpful for developers working on snapcraft itself, stack traces are evil when trying to work out what went wrong with snapcraft when you’re building a snap package. For example, a network timeout which should be a simple one line error message I was greeted with this wall of text. How am I supposed to know where the error is in this without reading ALL of it?! And if I don’t know anything about the internals of snapcraft why do I care about the stack trace at all? Can we please put this debug output behind a flag so that we just present a simple error message to users of snapcraft that they are able to utilise??
Pulling desktop-gnome-platform
Cloning into '/root/build_liferea/parts/desktop-gnome-platform/src'...
fatal: unable to access 'https://github.com/ubuntu/snapcraft-desktop-helpers.git/': Failed to connect to github.com port 443: Connection timed out
Error in sys.excepthook:
Traceback (most recent call last):
File "/snap/snapcraft/409/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.33', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
return ep.load()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
return self.resolve()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 132, in snap
project_options, directory=directory, output=output)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 380, in snap
execute('prime', project_options)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 127, in execute
_Executor(config, project_options).run(step, part_names)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 222, in run
self._run_step(step, part, part_names)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 259, in _run_step
getattr(part, step)()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 323, in pull
self.source_handler.pull()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/sources/_git.py", line 145, in pull
self._clone_new()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/sources/_git.py", line 134, in _clone_new
**self._call_kwargs)
File "/snap/snapcraft/409/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'clone', '--recursive', 'https://github.com/ubuntu/snapcraft-desktop-helpers.git', '/root/build_liferea/parts/desktop-gnome-platform/src']' returned non-zero exit status 128.
Original exception was:
Traceback (most recent call last):
File "/snap/snapcraft/409/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.33', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
return ep.load()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
return self.resolve()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 132, in snap
project_options, directory=directory, output=output)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 380, in snap
execute('prime', project_options)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 127, in execute
_Executor(config, project_options).run(step, part_names)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 222, in run
self._run_step(step, part, part_names)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 259, in _run_step
getattr(part, step)()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 323, in pull
self.source_handler.pull()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/sources/_git.py", line 145, in pull
self._clone_new()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/sources/_git.py", line 134, in _clone_new
**self._call_kwargs)
File "/snap/snapcraft/409/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'clone', '--recursive', 'https://github.com/ubuntu/snapcraft-desktop-helpers.git', '/root/build_liferea/parts/desktop-gnome-platform/src']' returned non-zero exit status 128.
Stopping local:snapcraft-unobesely-multichanneled-tyson
Error in sys.excepthook:
Traceback (most recent call last):
File "/snap/snapcraft/409/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.33', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
return ep.load()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
return self.resolve()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 188, in cleanbuild
lifecycle.cleanbuild(project_options, remote)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 357, in cleanbuild
metadata=config.get_metadata(), remote=remote).execute()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 155, in execute
raise e
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 149, in execute
self._container_run(command, cwd=self._project_folder)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 104, in _container_run
check_call(['lxc', 'exec', self._container_name, '--'] + cmd)
File "/snap/snapcraft/409/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'local:snapcraft-unobesely-multichanneled-tyson', '--', 'sh', '-c', 'cd /root/build_liferea; snapcraft snap --output liferea_0.1_amd64.snap']' returned non-zero exit status 1.
Original exception was:
Traceback (most recent call last):
File "/snap/snapcraft/409/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.33', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
return ep.load()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
return self.resolve()
File "/snap/snapcraft/409/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/409/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 188, in cleanbuild
lifecycle.cleanbuild(project_options, remote)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 357, in cleanbuild
metadata=config.get_metadata(), remote=remote).execute()
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 155, in execute
raise e
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 149, in execute
self._container_run(command, cwd=self._project_folder)
File "/snap/snapcraft/409/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 104, in _container_run
check_call(['lxc', 'exec', self._container_name, '--'] + cmd)
File "/snap/snapcraft/409/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'local:snapcraft-unobesely-multichanneled-tyson', '--', 'sh', '-c', 'cd /root/build_liferea; snapcraft snap --output liferea_0.1_amd64.snap']' returned non-zero exit status 1.